diff --git a/WooCommerce/Classes/Analytics/TracksProvider.swift b/WooCommerce/Classes/Analytics/TracksProvider.swift index 75f69d07b29..ef4f466cc40 100644 --- a/WooCommerce/Classes/Analytics/TracksProvider.swift +++ b/WooCommerce/Classes/Analytics/TracksProvider.swift @@ -205,6 +205,14 @@ private extension TracksProvider { // Coupons WooAnalyticsStat.couponSettingEnabled, WooAnalyticsStat.couponCreationSuccess, + + // Settings + WooAnalyticsStat.pointOfSaleSettingsMenuItemTapped, + WooAnalyticsStat.pointOfSaleSettingsCloseButtonTapped, + WooAnalyticsStat.pointOfSaleSettingsStoreDetailsTapped, + WooAnalyticsStat.pointOfSaleSettingsHardwareTapped, + WooAnalyticsStat.pointOfSaleSettingsHelpTapped, + WooAnalyticsStat.pointOfSaleEmptyCartSetupScannerTapped ] guard Self.isPOSModeActive, pointOfSaleEventList.contains(event) else { diff --git a/WooCommerce/Classes/Analytics/WooAnalyticsStat.swift b/WooCommerce/Classes/Analytics/WooAnalyticsStat.swift index b3d0c9336a5..d5c73ef4202 100644 --- a/WooCommerce/Classes/Analytics/WooAnalyticsStat.swift +++ b/WooCommerce/Classes/Analytics/WooAnalyticsStat.swift @@ -1296,6 +1296,12 @@ enum WooAnalyticsStat: String { case pointOfSaleBarcodeScannerSetupDismissed = "barcode_scanner_setup_dismissed" case pointOfSaleBarcodeScannerSetupRetryTapped = "barcode_scanner_setup_retry_tapped" case pointOfSaleBarcodeScannerSetupScannerConnected = "barcode_scanner_setup_scanner_connected" + case pointOfSaleSettingsMenuItemTapped = "settings_open" + case pointOfSaleSettingsCloseButtonTapped = "settings_closed" + case pointOfSaleSettingsStoreDetailsTapped = "settings_store_details_tapped" + case pointOfSaleSettingsHardwareTapped = "settings_hardware_tapped" + case pointOfSaleSettingsHelpTapped = "settings_help_tapped" + case pointOfSaleEmptyCartSetupScannerTapped = "empty_cart_set_up_scanner_tapped" // MARK: Custom Fields events case productDetailCustomFieldsTapped = "product_detail_custom_fields_tapped" diff --git a/WooCommerce/Classes/POS/Presentation/CartView.swift b/WooCommerce/Classes/POS/Presentation/CartView.swift index aac0ae573d1..10192dc09ee 100644 --- a/WooCommerce/Classes/POS/Presentation/CartView.swift +++ b/WooCommerce/Classes/POS/Presentation/CartView.swift @@ -222,6 +222,7 @@ private extension CartView { } if isPOSSettingsEnabled { Button(action: { + ServiceLocator.analytics.track(.pointOfSaleEmptyCartSetupScannerTapped) showBarcodeScanningModal = true }, label: { HStack { diff --git a/WooCommerce/Classes/POS/Presentation/POSFloatingControlView.swift b/WooCommerce/Classes/POS/Presentation/POSFloatingControlView.swift index a2f7b01ca95..222ac20de56 100644 --- a/WooCommerce/Classes/POS/Presentation/POSFloatingControlView.swift +++ b/WooCommerce/Classes/POS/Presentation/POSFloatingControlView.swift @@ -85,6 +85,7 @@ private extension POSFloatingControlView { } if ServiceLocator.featureFlagService.isFeatureFlagEnabled(.pointOfSaleSettingsi1) { Button { + ServiceLocator.analytics.track(.pointOfSaleSettingsMenuItemTapped) showSettings = true } label: { Label( diff --git a/WooCommerce/Classes/POS/Presentation/Settings/PointOfSaleSettingsView.swift b/WooCommerce/Classes/POS/Presentation/Settings/PointOfSaleSettingsView.swift index 998da11ce4d..34b7cacb35f 100644 --- a/WooCommerce/Classes/POS/Presentation/Settings/PointOfSaleSettingsView.swift +++ b/WooCommerce/Classes/POS/Presentation/Settings/PointOfSaleSettingsView.swift @@ -29,7 +29,10 @@ extension PointOfSaleSettingsView { POSPageHeaderView( title: Localization.navigationTitle, backButtonConfiguration: .init(state: .enabled, - action: { dismiss() }, + action: { + ServiceLocator.analytics.track(.pointOfSaleSettingsCloseButtonTapped) + dismiss() + }, buttonIcon: "xmark")) .foregroundColor(.posSurface) @@ -37,13 +40,19 @@ extension PointOfSaleSettingsView { PointOfSaleSettingsCard( item: .store, isSelected: selection == .store, - onTap: { selection = .store } + onTap: { + ServiceLocator.analytics.track(.pointOfSaleSettingsStoreDetailsTapped) + selection = .store + } ) PointOfSaleSettingsCard( item: .hardware, isSelected: selection == .hardware, - onTap: { selection = .hardware } + onTap: { + ServiceLocator.analytics.track(.pointOfSaleSettingsHardwareTapped) + selection = .hardware + } ) Spacer() @@ -51,7 +60,10 @@ extension PointOfSaleSettingsView { PointOfSaleSettingsCard( item: .help, isSelected: selection == .help, - onTap: { selection = .help } + onTap: { + ServiceLocator.analytics.track(.pointOfSaleSettingsHelpTapped) + selection = .help + } ) } .padding(.horizontal, POSPadding.medium)