Skip to main content

Overview

Zixflow tracks push engagement so you can measure campaign performance:
  1. Delivered — notification arrived on the device
  2. Opened — user tapped the notification body (or an action — track opened first)
  3. Action button clicked — user tapped a named action button
  4. Converted (optional) — MetricEvent.Converted after 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 in pushHandlers.ts):

Action button tracking

Register iOS category ZX_2BTN in AppDelegate (see Push Notifications). When notifee displays the notification, handle presses in JS:
notifee action ids are action_0 / action_1. You can also use the example helper trackActionClick. Required properties:
The React Native example uses navigation.ts for in-app hosts and Linking.openURL for everything else:
Also configure native URL schemes / intent filters if you use a custom scheme (see Deep Links).

Delivered (optional manual)

If you need an explicit delivered event when displaying yourself:
Or forward to the native Android helper (display and/or track):
Avoid double UI: if notifee already displays the notification, do not also call onMessageReceived with handleNotificationTrigger: true. Background helper:

Converted


Logout / token cleanup


Decision flowchart

Non-Zixflow pushes

If the payload has no Zixflow-Delivery-ID, skip Zixflow push metrics. Do not use reserved names (Push Notification Action Clicked, etc.) for external pushes.

Testing

Dashboard → MessagingPush Notifications: Sent / Delivered / Opened / Clicked.