Skip to content

Conversation

@jaclync
Copy link
Contributor

@jaclync jaclync commented Jun 17, 2025

Just one review is required.

Follow-up tasks:

Description

This pull request enables POS as a tab i1 feature (moving the POS entry point from the Menu tab to a POS tab for eligible stores with the same eligibility criteria) with analytics in WOOMOB-570. The updates include enabling the POS tab feature flag, adding new analytics events for POS interactions, updating the release notes, and introducing a test to ensure analytics tracking works correctly after eligibility checks.

Feature Flag Changes:

Analytics Enhancements:

Documentation Updates:

  • RELEASE-NOTES.txt: Added a note highlighting the new POS tab feature in the app for eligible stores.

Testing:

Steps to reproduce

🗒️ I haven't been able to trigger the POS tab reselection event, probably because the tab cannot be selected (as a tab item selected state).

Prerequisite: a WPCOM account that has at least two connected stores, one eligible for POS and the other one not eligible.

  • Log in to the account in the prerequisite with the store that is eligible for POS --> after the POS tab is shown, an event should be tracked 🔵 Tracked pos_tab_visibility_checked, properties: [is_visible: true, ...]
  • Tap on the POS tab twice quickly --> it should launch POS in full-screen with an event tracked 🔵 Tracked main_tab_pos_selected. All following events should have pos_ prefix
  • Exit POS
  • Go to Menu tab and switch to a store ineligible for POS --> after switching stores, the POS tab should not appear even after a while. An event should be tracked 🔵 Tracked pos_tab_visibility_checked, properties: [is_visible: false, ...]

  • I have considered if this change warrants user-facing release notes and have added them to RELEASE-NOTES.txt if necessary.

@jaclync jaclync added this to the 22.7 milestone Jun 17, 2025
@jaclync jaclync added type: task An internally driven task. feature: POS labels Jun 17, 2025
@dangermattic
Copy link
Collaborator

dangermattic commented Jun 17, 2025

1 Message
📖

This PR contains changes to Tracks-related logic. Please ensure (author and reviewer) the following are completed:

  • The tracks events must be validated in the Tracks system.
  • Verify the internal Tracks spreadsheet has also been updated.
  • Please consider registering any new events.
  • The PR must be assigned the category: tracks label.

Generated by 🚫 Danger

@jaclync jaclync added the category: tracks Related to analytics, including Tracks Events. label Jun 17, 2025
@wpmobilebot
Copy link
Collaborator

wpmobilebot commented Jun 17, 2025

App Icon📲 You can test the changes from this Pull Request in WooCommerce iOS Prototype by scanning the QR code below to install the corresponding build.

App NameWooCommerce iOS Prototype
Build Number30541
VersionPR #15766
Bundle IDcom.automattic.alpha.woocommerce
Commitb9622f8
Installation URL4ovib8p32mso0
Automatticians: You can use our internal self-serve MC tool to give yourself access to those builds if needed.

@jaclync jaclync marked this pull request as ready for review June 17, 2025 08:02
Copy link
Contributor

@staskus staskus left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Works well 👍

As you mentioned, pointOfSaleTabReselected doesn't get tracked, we could skip it entirely with the comment, saying that POS is presented on top of the context and cannot be reselected.

jaclync added 3 commits June 18, 2025 13:44
# Conflicts:
#	WooCommerce/Classes/ViewRelated/MainTabBarController.swift
#	WooCommerce/WooCommerceTests/ViewRelated/MainTabBarControllerTests.swift
…with `assertionFailure` in case it can be triggered.
@jaclync
Copy link
Contributor Author

jaclync commented Jun 18, 2025

As you mentioned, pointOfSaleTabReselected doesn't get tracked, we could skip it entirely with the comment, saying that POS is presented on top of the context and cannot be reselected.

Good point, skipped the reselected event in 844618b. I was still a bit afraid of UX edge cases to be able to trigger the reselection, so I put an assertionFailure that crashes in debug builds and no-op in production builds.

@jaclync
Copy link
Contributor Author

jaclync commented Jun 18, 2025

The events aren't shown in Tracks directory yet, I will register them tomorrow or next Monday WOOMOB-624.

@jaclync jaclync merged commit 8089b16 into trunk Jun 18, 2025
14 checks passed
@jaclync jaclync deleted the feat/WOOMOB-571-pos-tab-analytics branch June 18, 2025 06:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

category: tracks Related to analytics, including Tracks Events. feature: POS type: task An internally driven task.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants