diff --git a/WordPress/Classes/Utility/Analytics/WPAnalytics+Domains.swift b/WordPress/Classes/Utility/Analytics/WPAnalytics+Domains.swift index c44eda4bb49a..35ab93fa47c1 100644 --- a/WordPress/Classes/Utility/Analytics/WPAnalytics+Domains.swift +++ b/WordPress/Classes/Utility/Analytics/WPAnalytics+Domains.swift @@ -2,10 +2,24 @@ import Foundation extension WPAnalytics { static func domainsProperties(for blog: Blog) -> [AnyHashable: Any] { - domainsProperties(usingCredit: blog.canRegisterDomainWithPaidPlan) + // For now we do not have the `siteCreation` route implemented so hardcoding `menu` + domainsProperties(usingCredit: blog.canRegisterDomainWithPaidPlan, origin: .menu) } - static func domainsProperties(usingCredit: Bool) -> [AnyHashable: Any] { - ["using_credit": usingCredit.stringLiteral] + static func domainsProperties( + usingCredit: Bool, + origin: DomainPurchaseWebViewViewOrigin? + ) -> [AnyHashable: Any] { + var dict: [AnyHashable: Any] = ["using_credit": usingCredit.stringLiteral] + if FeatureFlag.siteCreationDomainPurchasing.enabled, + let origin = origin { + dict["origin"] = origin.rawValue + } + return dict } } + +enum DomainPurchaseWebViewViewOrigin: String { + case siteCreation = "site_creation" + case menu +} diff --git a/WordPress/Classes/ViewRelated/Domains/Domain registration/RegisterDomainDetails/ViewController/RegisterDomainDetailsViewController.swift b/WordPress/Classes/ViewRelated/Domains/Domain registration/RegisterDomainDetails/ViewController/RegisterDomainDetailsViewController.swift index ab0b58719d06..21e029be3b26 100644 --- a/WordPress/Classes/ViewRelated/Domains/Domain registration/RegisterDomainDetails/ViewController/RegisterDomainDetailsViewController.swift +++ b/WordPress/Classes/ViewRelated/Domains/Domain registration/RegisterDomainDetails/ViewController/RegisterDomainDetailsViewController.swift @@ -54,7 +54,13 @@ class RegisterDomainDetailsViewController: UITableViewController { super.viewDidAppear(animated) // This form is only used to redeem an existing domain credit - WPAnalytics.track(.domainsRegistrationFormViewed, properties: WPAnalytics.domainsProperties(usingCredit: true)) + WPAnalytics.track( + .domainsRegistrationFormViewed, + properties: WPAnalytics.domainsProperties( + usingCredit: true, + origin: .menu + ) + ) } private func configureView() { @@ -187,7 +193,13 @@ class RegisterDomainDetailsViewController: UITableViewController { extension RegisterDomainDetailsViewController { @objc private func registerDomainButtonTapped(sender: UIButton) { - WPAnalytics.track(.domainsRegistrationFormSubmitted, properties: WPAnalytics.domainsProperties(usingCredit: true)) + WPAnalytics.track( + .domainsRegistrationFormSubmitted, + properties: WPAnalytics.domainsProperties( + usingCredit: true, + origin: nil + ) + ) viewModel.register() } diff --git a/WordPress/Classes/ViewRelated/Site Creation/Web Address/WebAddressWizardContent.swift b/WordPress/Classes/ViewRelated/Site Creation/Web Address/WebAddressWizardContent.swift index 90416787fc3b..2ef3acd92566 100644 --- a/WordPress/Classes/ViewRelated/Site Creation/Web Address/WebAddressWizardContent.swift +++ b/WordPress/Classes/ViewRelated/Site Creation/Web Address/WebAddressWizardContent.swift @@ -365,11 +365,15 @@ final class WebAddressWizardContent: CollapsableHeaderViewController { } private func trackDomainsSelection(_ domainSuggestion: DomainSuggestion) { - let domainSuggestionProperties: [String: AnyObject] = [ + var domainSuggestionProperties: [String: Any] = [ "chosen_domain": domainSuggestion.domainName as AnyObject, "search_term": lastSearchQuery as AnyObject ] + if FeatureFlag.siteCreationDomainPurchasing.enabled { + domainSuggestionProperties["domain_cost"] = domainSuggestion.costString + } + WPAnalytics.track(.enhancedSiteCreationDomainsSelected, withProperties: domainSuggestionProperties) }