Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 17 additions & 3 deletions WordPress/Classes/Utility/Analytics/WPAnalytics+Domains.swift
Original file line number Diff line number Diff line change
Expand Up @@ -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
}
Original file line number Diff line number Diff line change
Expand Up @@ -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() {
Expand Down Expand Up @@ -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()
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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)
}

Expand Down