Skip to content

Commit 44402e1

Browse files
committed
Moar tracks events
1 parent 1836fa3 commit 44402e1

File tree

6 files changed

+26
-5
lines changed

6 files changed

+26
-5
lines changed

WooCommerce/Classes/Analytics/WooAnalyticsStat.swift

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,8 +63,14 @@ public enum WooAnalyticsStat: String {
6363
case dashboardReselected = "main_tab_dashboard_reselected"
6464
case dashboardPulledToRefresh = "dashboard_pulled_to_refresh"
6565
case dashboardNewOrdersButtonTapped = "dashboard_unfulfilled_orders_button_tapped"
66-
case dashboardRevenueChartTabTapped = "dashboard_revenue_chart_tab_tapped"
67-
case dashboardTopPerformerTabTapped = "dashboard_top_performer_tab_tapped"
66+
67+
// Dashboard Data/Action Events
68+
//
69+
case dashboardMainStatsDate = "dashboard_main_stats_date"
70+
case dashboardMainStatsLoaded = "dashboard_main_stats_loaded"
71+
case dashboardTopPerformersDate = "dashboard_top_performers_date"
72+
case dashboardTopPerformersLoaded = "dashboard_top_performers_loaded"
73+
case dashboardUnfulfilledOrdersLoaded = "dashboard_unfulfilled_orders_loaded"
6874

6975
// Settings View Events
7076
//
@@ -102,6 +108,7 @@ public enum WooAnalyticsStat: String {
102108
case orderNoteAdd = "order_note_add"
103109
case orderNoteAddSuccess = "order_note_add_success"
104110
case orderNoteAddFailed = "order_note_add_failed"
111+
case orderContactAction = "order_contact_action"
105112

106113
// Notification Events
107114
//

WooCommerce/Classes/ViewRelated/Dashboard/DashboardViewController.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,8 +124,10 @@ extension DashboardViewController: NewOrdersDelegate {
124124
func didUpdateNewOrdersData(hasNewOrders: Bool) {
125125
if hasNewOrders {
126126
applyUnhideAnimation(for: newOrdersContainerView)
127+
WooAnalytics.shared.track(.dashboardUnfulfilledOrdersLoaded, withProperties: ["has_unfulfilled_orders": "true"])
127128
} else {
128129
applyHideAnimation(for: newOrdersContainerView)
130+
WooAnalytics.shared.track(.dashboardUnfulfilledOrdersLoaded, withProperties: ["has_unfulfilled_orders": "false"])
129131
}
130132
}
131133
}

WooCommerce/Classes/ViewRelated/Dashboard/MyStore/PeriodDataViewController.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -317,7 +317,7 @@ private extension PeriodDataViewController {
317317
isInitialLoad = false
318318
return
319319
}
320-
WooAnalytics.shared.track(.dashboardRevenueChartTabTapped, withProperties: ["selected_tab": granularity.rawValue])
320+
WooAnalytics.shared.track(.dashboardMainStatsDate, withProperties: ["range": granularity.rawValue])
321321
isInitialLoad = false
322322
}
323323

WooCommerce/Classes/ViewRelated/Dashboard/MyStore/StoreStatsViewController.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -151,6 +151,7 @@ private extension StoreStatsViewController {
151151

152152
let vc = self.periodDataVC(for: granularity)
153153
vc?.orderStats = orderStats
154+
WooAnalytics.shared.track(.dashboardMainStatsLoaded, withProperties: ["granularity": granularity.rawValue])
154155
onCompletion?(nil)
155156
}
156157

WooCommerce/Classes/ViewRelated/Dashboard/MyStore/TopPerformerDataViewController.swift

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -92,9 +92,11 @@ extension TopPerformerDataViewController {
9292
return
9393
}
9494

95-
let action = StatsAction.retrieveTopEarnerStats(siteID: siteID, granularity: granularity, latestDateToInclude: Date()) { (error) in
95+
let action = StatsAction.retrieveTopEarnerStats(siteID: siteID, granularity: granularity, latestDateToInclude: Date()) { [weak self] (error) in
9696
if let error = error {
9797
DDLogError("⛔️ Dashboard (Top Performers) — Error synchronizing top earner stats: \(error)")
98+
} else {
99+
WooAnalytics.shared.track(.dashboardTopPerformersLoaded, withProperties: ["granularity": self?.granularity.rawValue ?? String()])
98100
}
99101
}
100102
StoresManager.shared.dispatch(action)
@@ -221,7 +223,7 @@ private extension TopPerformerDataViewController {
221223
isInitialLoad = false
222224
return
223225
}
224-
WooAnalytics.shared.track(.dashboardTopPerformerTabTapped, withProperties: ["selected_tab": granularity.rawValue])
226+
WooAnalytics.shared.track(.dashboardTopPerformersDate, withProperties: ["range": granularity.rawValue])
225227
isInitialLoad = false
226228
}
227229

WooCommerce/Classes/ViewRelated/Orders/OrderDetails/OrderDetailsViewController.swift

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -433,6 +433,9 @@ extension OrderDetailsViewController {
433433
if let url = URL(string: "telprompt://" + phone),
434434
UIApplication.shared.canOpenURL(url) {
435435
UIApplication.shared.open(url, options: [:], completionHandler: nil)
436+
WooAnalytics.shared.track(.orderContactAction, withProperties: ["id": self?.viewModel.order.orderID ?? 0,
437+
"status": self?.viewModel.order.status.rawValue ?? String(),
438+
"type": "call"])
436439
}
437440
}
438441
actionSheet.addAction(callAction)
@@ -582,6 +585,9 @@ extension OrderDetailsViewController: MFMessageComposeViewControllerDelegate {
582585

583586
if MFMessageComposeViewController.canSendText() {
584587
sendTextMessage(to: phoneNumber)
588+
WooAnalytics.shared.track(.orderContactAction, withProperties: ["id": viewModel.order.orderID,
589+
"status": viewModel.order.status.rawValue,
590+
"type": "sms"])
585591
}
586592
}
587593

@@ -608,6 +614,9 @@ extension OrderDetailsViewController: MFMailComposeViewControllerDelegate {
608614
}
609615

610616
sendEmail(to: email)
617+
WooAnalytics.shared.track(.orderContactAction, withProperties: ["id": viewModel.order.orderID,
618+
"status": viewModel.order.status.rawValue,
619+
"type": "email"])
611620
}
612621
}
613622

0 commit comments

Comments
 (0)