From 47adf6500d5b87c329ad0ca9cacaaee8d2281015 Mon Sep 17 00:00:00 2001 From: Josh Heald Date: Thu, 25 May 2023 11:59:40 +0100 Subject: [PATCH 1/3] Track learnMoreTapped event with tap to pay source --- WooCommerce/Classes/Analytics/WooAnalyticsEvent.swift | 3 +++ .../SetUpTapToPayInformationViewController.swift | 4 +++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/WooCommerce/Classes/Analytics/WooAnalyticsEvent.swift b/WooCommerce/Classes/Analytics/WooAnalyticsEvent.swift index 0a2ee94fb2f..85290866e5a 100644 --- a/WooCommerce/Classes/Analytics/WooAnalyticsEvent.swift +++ b/WooCommerce/Classes/Analytics/WooAnalyticsEvent.swift @@ -1893,6 +1893,7 @@ extension WooAnalyticsEvent { enum LearnMoreLinkSource { case paymentsMenu case paymentMethods + case tapToPaySummary var trackingValue: String { switch self { @@ -1900,6 +1901,8 @@ extension WooAnalyticsEvent { return "payments_menu" case .paymentMethods: return "payment_methods" + case .tapToPaySummary: + return "tap_to_pay_summary" } } } diff --git a/WooCommerce/Classes/ViewRelated/Dashboard/Settings/CardReadersV2/SetUpTapToPayInformationViewController.swift b/WooCommerce/Classes/ViewRelated/Dashboard/Settings/CardReadersV2/SetUpTapToPayInformationViewController.swift index 358bbc317bf..5f8d0fdab03 100644 --- a/WooCommerce/Classes/ViewRelated/Dashboard/Settings/CardReadersV2/SetUpTapToPayInformationViewController.swift +++ b/WooCommerce/Classes/ViewRelated/Dashboard/Settings/CardReadersV2/SetUpTapToPayInformationViewController.swift @@ -120,7 +120,9 @@ struct SetUpTapToPayInformationView: View { .disabled(!viewModel.enableSetup) InPersonPaymentsLearnMore( - viewModel: LearnMoreViewModel(formatText: Localization.learnMore)) + viewModel: LearnMoreViewModel( + formatText: Localization.learnMore, + tappedAnalyticEvent: WooAnalyticsEvent.InPersonPayments.learnMoreTapped(source: .tapToPaySummary))) .customOpenURL(action: { url in switch url { case LearnMoreViewModel.learnMoreURL: From 0ee9d6f7d0e66ec725f18e9c25a582931739238d Mon Sep 17 00:00:00 2001 From: Josh Heald Date: Thu, 25 May 2023 12:50:21 +0100 Subject: [PATCH 2/3] Track learnMoreTapped on Manage Card Reader MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This event is present on Android but missing on iOS – adding for completeness. --- .../Classes/Analytics/WooAnalyticsStat.swift | 1 + ...eaderSettingsSearchingViewController.swift | 37 ++++++++++--------- 2 files changed, 20 insertions(+), 18 deletions(-) diff --git a/WooCommerce/Classes/Analytics/WooAnalyticsStat.swift b/WooCommerce/Classes/Analytics/WooAnalyticsStat.swift index b6051ddcefb..b2a5b7cd88f 100644 --- a/WooCommerce/Classes/Analytics/WooAnalyticsStat.swift +++ b/WooCommerce/Classes/Analytics/WooAnalyticsStat.swift @@ -277,6 +277,7 @@ public enum WooAnalyticsStat: String { case cardReaderDisconnectTapped = "card_reader_disconnect_tapped" case manageCardReadersBuiltInReaderAutoDisconnect = "manage_card_readers_automatic_disconnect_built_in_reader" case cardReaderAutomaticDisconnect = "card_reader_automatic_disconnect" + case manageCardReaderLearnMoreTapped = "card_present_connection_learn_more_tapped" // MARK: Card Reader Software Update Events // diff --git a/WooCommerce/Classes/ViewRelated/Dashboard/Settings/CardReadersV2/CardReaderSettingsSearchingViewController.swift b/WooCommerce/Classes/ViewRelated/Dashboard/Settings/CardReadersV2/CardReaderSettingsSearchingViewController.swift index e23f350dad0..2a147a18860 100644 --- a/WooCommerce/Classes/ViewRelated/Dashboard/Settings/CardReadersV2/CardReaderSettingsSearchingViewController.swift +++ b/WooCommerce/Classes/ViewRelated/Dashboard/Settings/CardReadersV2/CardReaderSettingsSearchingViewController.swift @@ -147,28 +147,29 @@ struct CardReaderSettingsSearchingView: View { .buttonStyle(PrimaryButtonStyle()) .padding(.bottom, 8) - InPersonPaymentsLearnMore() - .customOpenURL(action: { url in - switch url { - case LearnMoreViewModel.learnMoreURL: - if let url = learnMoreUrl { - showURL?(url) - } - default: + InPersonPaymentsLearnMore(viewModel: LearnMoreViewModel( + tappedAnalyticEvent: WooAnalyticsEvent(statName: .manageCardReaderLearnMoreTapped, properties: [:]))) + .customOpenURL(action: { url in + switch url { + case LearnMoreViewModel.learnMoreURL: + if let url = learnMoreUrl { showURL?(url) } - }) - } - .frame( - maxWidth: .infinity, - maxHeight: .infinity - ) - .padding() - .if(isCompact || isSizeCategoryLargeThanExtraLarge) {content in - ScrollView(.vertical) { - content + default: + showURL?(url) } + }) + } + .frame( + maxWidth: .infinity, + maxHeight: .infinity + ) + .padding() + .if(isCompact || isSizeCategoryLargeThanExtraLarge) {content in + ScrollView(.vertical) { + content } + } } } From 0788623701e6042258e4cc2fb5f2c9c3b3236506 Mon Sep 17 00:00:00 2001 From: Josh Heald Date: Thu, 25 May 2023 13:03:39 +0100 Subject: [PATCH 3/3] Use correct learn more event for manageCardReader --- WooCommerce/Classes/Analytics/WooAnalyticsEvent.swift | 3 +++ WooCommerce/Classes/Analytics/WooAnalyticsStat.swift | 1 - .../CardReaderSettingsSearchingViewController.swift | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/WooCommerce/Classes/Analytics/WooAnalyticsEvent.swift b/WooCommerce/Classes/Analytics/WooAnalyticsEvent.swift index 85290866e5a..804e3726d41 100644 --- a/WooCommerce/Classes/Analytics/WooAnalyticsEvent.swift +++ b/WooCommerce/Classes/Analytics/WooAnalyticsEvent.swift @@ -1894,6 +1894,7 @@ extension WooAnalyticsEvent { case paymentsMenu case paymentMethods case tapToPaySummary + case manageCardReader var trackingValue: String { switch self { @@ -1903,6 +1904,8 @@ extension WooAnalyticsEvent { return "payment_methods" case .tapToPaySummary: return "tap_to_pay_summary" + case .manageCardReader: + return "manage_card_reader" } } } diff --git a/WooCommerce/Classes/Analytics/WooAnalyticsStat.swift b/WooCommerce/Classes/Analytics/WooAnalyticsStat.swift index b2a5b7cd88f..b6051ddcefb 100644 --- a/WooCommerce/Classes/Analytics/WooAnalyticsStat.swift +++ b/WooCommerce/Classes/Analytics/WooAnalyticsStat.swift @@ -277,7 +277,6 @@ public enum WooAnalyticsStat: String { case cardReaderDisconnectTapped = "card_reader_disconnect_tapped" case manageCardReadersBuiltInReaderAutoDisconnect = "manage_card_readers_automatic_disconnect_built_in_reader" case cardReaderAutomaticDisconnect = "card_reader_automatic_disconnect" - case manageCardReaderLearnMoreTapped = "card_present_connection_learn_more_tapped" // MARK: Card Reader Software Update Events // diff --git a/WooCommerce/Classes/ViewRelated/Dashboard/Settings/CardReadersV2/CardReaderSettingsSearchingViewController.swift b/WooCommerce/Classes/ViewRelated/Dashboard/Settings/CardReadersV2/CardReaderSettingsSearchingViewController.swift index 2a147a18860..963f0135dff 100644 --- a/WooCommerce/Classes/ViewRelated/Dashboard/Settings/CardReadersV2/CardReaderSettingsSearchingViewController.swift +++ b/WooCommerce/Classes/ViewRelated/Dashboard/Settings/CardReadersV2/CardReaderSettingsSearchingViewController.swift @@ -148,7 +148,7 @@ struct CardReaderSettingsSearchingView: View { .padding(.bottom, 8) InPersonPaymentsLearnMore(viewModel: LearnMoreViewModel( - tappedAnalyticEvent: WooAnalyticsEvent(statName: .manageCardReaderLearnMoreTapped, properties: [:]))) + tappedAnalyticEvent: WooAnalyticsEvent.InPersonPayments.learnMoreTapped(source: .manageCardReader))) .customOpenURL(action: { url in switch url { case LearnMoreViewModel.learnMoreURL: