From f7bf9434e4766929895bdde8624bffc518d7f745 Mon Sep 17 00:00:00 2001 From: cyndichin Date: Mon, 1 May 2023 15:03:05 -0400 Subject: [PATCH] fix(analytics): add content entity to upsell call --- PocketKit/Sources/Analytics/AppEvents/Tags.swift | 7 +++++-- .../PocketKit/PremiumUpgrade/View/PremiumUpsellView.swift | 3 ++- .../PremiumUpgrade/ViewModel/PremiumUpsellViewModel.swift | 5 +++-- .../Sources/PocketKit/Tags/PocketAddTagsViewModel.swift | 2 +- 4 files changed, 11 insertions(+), 6 deletions(-) diff --git a/PocketKit/Sources/Analytics/AppEvents/Tags.swift b/PocketKit/Sources/Analytics/AppEvents/Tags.swift index 1c8d8d309..e3e2983ea 100644 --- a/PocketKit/Sources/Analytics/AppEvents/Tags.swift +++ b/PocketKit/Sources/Analytics/AppEvents/Tags.swift @@ -114,14 +114,17 @@ public extension Events.Tags { } /// "Go Premium" button viewed - static func premiumUpsellViewed() -> Event { + static func premiumUpsellViewed(itemURL: URL) -> Event { return Impression( component: .button, requirement: .viewable, uiEntity: UiEntity( .button, identifier: "global-nav.addTags.upsell" - ) + ), + extraEntities: [ + ContentEntity(url: itemURL) + ] ) } diff --git a/PocketKit/Sources/PocketKit/PremiumUpgrade/View/PremiumUpsellView.swift b/PocketKit/Sources/PocketKit/PremiumUpgrade/View/PremiumUpsellView.swift index b15bb4eaa..345530594 100644 --- a/PocketKit/Sources/PocketKit/PremiumUpgrade/View/PremiumUpsellView.swift +++ b/PocketKit/Sources/PocketKit/PremiumUpgrade/View/PremiumUpsellView.swift @@ -5,6 +5,7 @@ import Localization struct PremiumUpsellView: View { @ObservedObject var viewModel: PremiumUpsellViewModel + let itemURL: URL @State var dismissReason: DismissReason = .swipe var body: some View { @@ -31,7 +32,7 @@ struct PremiumUpsellView: View { PremiumUpgradeView(dismissReason: self.$dismissReason, viewModel: viewModel.makePremiumUpgradeViewModel()) } .task { - viewModel.trackPremiumUpsellViewed() + viewModel.trackPremiumUpsellViewed(with: itemURL) } .accessibilityIdentifier("get-pocket-premium-button") } diff --git a/PocketKit/Sources/PocketKit/PremiumUpgrade/ViewModel/PremiumUpsellViewModel.swift b/PocketKit/Sources/PocketKit/PremiumUpgrade/ViewModel/PremiumUpsellViewModel.swift index 4ec9f5e2d..dfb0aa470 100644 --- a/PocketKit/Sources/PocketKit/PremiumUpgrade/ViewModel/PremiumUpsellViewModel.swift +++ b/PocketKit/Sources/PocketKit/PremiumUpgrade/ViewModel/PremiumUpsellViewModel.swift @@ -7,6 +7,7 @@ import SharedPocketKit import Sync import Combine import Analytics +import Foundation class PremiumUpsellViewModel: ObservableObject { private let premiumUpgradeViewModelFactory: PremiumUpgradeViewModelFactory @@ -58,7 +59,7 @@ extension PremiumUpsellViewModel { } } - func trackPremiumUpsellViewed() { - tracker.track(event: Events.Tags.premiumUpsellViewed()) + func trackPremiumUpsellViewed(with itemURL: URL) { + tracker.track(event: Events.Tags.premiumUpsellViewed(itemURL: itemURL)) } } diff --git a/PocketKit/Sources/PocketKit/Tags/PocketAddTagsViewModel.swift b/PocketKit/Sources/PocketKit/Tags/PocketAddTagsViewModel.swift index 71d96977f..7ee712cc9 100644 --- a/PocketKit/Sources/PocketKit/Tags/PocketAddTagsViewModel.swift +++ b/PocketKit/Sources/PocketKit/Tags/PocketAddTagsViewModel.swift @@ -72,7 +72,7 @@ class PocketAddTagsViewModel: AddTagsViewModel { PremiumUpgradeViewModel(store: store, tracker: tracker, source: .tags, networkPathMonitor: networkPathMonitor) }) - self.premiumUpsellView = PremiumUpsellView(viewModel: premiumUpsellViewModel) + self.premiumUpsellView = PremiumUpsellView(viewModel: premiumUpsellViewModel, itemURL: item.url) tags = itemTagNames allOtherTags()