Overview
Zixflow tracks push engagement so you can measure campaign performance:- Delivered — notification arrived on the device
- Opened — user tapped the notification body (or an action — track opened first)
- Action button clicked — user tapped a named action button
- Converted (optional) —
MetricEvent.Convertedafter a post-open goal
Integration used by the example app
The React Native example uses@react-native-firebase/messaging + @notifee/react-native for receive/display. You track opened and action clicked in JavaScript. Delivered may still be recorded by the parallel native Zixflow FCM path when present; if you fully own display yourself and need delivered metrics, call trackMetric(Delivered) or forward via Zixflow.pushMessaging.onMessageReceived.
Payload fields:
Opened
Wire both FCM system opens and notifee local taps (as inpushHandlers.ts):
Action button tracking
Register iOS categoryZX_2BTN in AppDelegate (see Push Notifications). When notifee displays the notification, handle presses in JS:
action_0 / action_1. You can also use the example helper trackActionClick.
Required properties:
Deeplink opening (example pattern)
The React Native example usesnavigation.ts for in-app hosts and Linking.openURL for everything else:
Delivered (optional manual)
If you need an explicit delivered event when displaying yourself:onMessageReceived with handleNotificationTrigger: true.
Background helper:
Converted
Logout / token cleanup
Decision flowchart
Non-Zixflow pushes
If the payload has noZixflow-Delivery-ID, skip Zixflow push metrics. Do not use reserved names (Push Notification Action Clicked, etc.) for external pushes.