Skip to content

Commit febfd48

Browse files
committed
Add barcodeScanningSuccess and barcodeScanningFailed events
1 parent decc41e commit febfd48

File tree

3 files changed

+24
-0
lines changed

3 files changed

+24
-0
lines changed

WooCommerce/Classes/Analytics/TracksProvider.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -151,6 +151,8 @@ private extension TracksProvider {
151151
WooAnalyticsStat.pointOfSaleBarcodeScanningMenuItemTapped,
152152
WooAnalyticsStat.pointOfSaleBarcodeScanningExplanationDialogShown,
153153
WooAnalyticsStat.pointOfSaleBarcodeScannerSetupFlowShown,
154+
WooAnalyticsStat.pointOfSaleBarcodeScanningSuccess,
155+
WooAnalyticsStat.pointOfSaleBarcodeScanningFailed,
154156

155157
// Order
156158
WooAnalyticsStat.orderCreationSuccess,

WooCommerce/Classes/Analytics/WooAnalyticsStat.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1306,6 +1306,8 @@ enum WooAnalyticsStat: String {
13061306
case pointOfSaleBarcodeScanningMenuItemTapped = "barcode_scanning_menu_item_tapped"
13071307
case pointOfSaleBarcodeScanningExplanationDialogShown = "barcode_scanning_explanation_dialog_shown"
13081308
case pointOfSaleBarcodeScannerSetupFlowShown = "barcode_scanner_setup_flow_shown"
1309+
case pointOfSaleBarcodeScanningSuccess = "barcode_scanned"
1310+
case pointOfSaleBarcodeScanningFailed = "barcode_scanning_failed"
13091311

13101312
// MARK: Custom Fields events
13111313
case productDetailCustomFieldsTapped = "product_detail_custom_fields_tapped"

WooCommerce/Classes/POS/Analytics/WooAnalyticsEvent+PointOfSale.swift

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,9 @@ extension WooAnalyticsEvent {
3232
static let paymentMethodType = "payment_method_type"
3333
static let siteID = "site_id"
3434
static let gatewayID = "plugin_slug"
35+
static let scanDurationMs = "scan_duration_ms"
36+
static let barcodeLength = "barcode_length"
37+
static let failReason = "fail_reason"
3538
}
3639

3740
static func paymentsOnboardingShown() -> WooAnalyticsEvent {
@@ -197,6 +200,23 @@ extension WooAnalyticsEvent {
197200
Key.totalItems: "\(totalItems)"
198201
])
199202
}
203+
204+
static func barcodeScanningSuccess(scanDurationMs: Int, barcodeLength: Int) -> WooAnalyticsEvent {
205+
WooAnalyticsEvent(statName: .pointOfSaleBarcodeScanningSuccess,
206+
properties: [
207+
Key.scanDurationMs: "\(scanDurationMs)",
208+
Key.barcodeLength: "\(barcodeLength)"
209+
])
210+
}
211+
212+
static func barcodeScanningFailed(scanDurationMs: Int, barcodeLength: Int, failReason: String) -> WooAnalyticsEvent {
213+
WooAnalyticsEvent(statName: .pointOfSaleBarcodeScanningFailed,
214+
properties: [
215+
Key.scanDurationMs: "\(scanDurationMs)",
216+
Key.barcodeLength: "\(barcodeLength)",
217+
Key.failReason: failReason
218+
])
219+
}
200220
}
201221
}
202222

0 commit comments

Comments
 (0)