All pages
Powered by GitBook
1 of 7

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

How to interpret differences between third-party analytics and Batch statistics?

Batch and your analytics tools measure user visits to your app in different ways.

You may observe discrepancies between Batch direct opens, Daily Active Users, starts, installations, and the number of sessions tracked by your third-party analytics tools (AT Internet, Firebase Analytics, Google Analytics, Mixpanel, etc.).

The analysis period in Batch is measured in days using the UTC zone. Make sure this period aligns with the analysis period in your analytics tool.

Direct opens vs. sessions

If you notice more direct opens from a Batch campaign than sessions in your analytics tool, this could be due to several reasons.

Different calculation methods

On Batch's side, each click on a push is counted as a direct open (without grouping push opens within a specific time window). This measurement is precise, as it is directly provided by our SDK. Calculation methods can vary across different tools. Keep in mind that:

  • Your analytics tool may count sessions only after a certain delay or a set number of interactions on your app/website.

  • Your analytics tool may group multiple visits within a specific time frame into a single session (e.g., 'Google Analytics groups hits received within 30 minutes into the same session' – see )."

Timing of the measure

Direct opens are measured by Batch when the user opens the notification, while your analytics tool measures a session when the app has effectively been opened.

After the notification has been clicked, your analytics tool may not count a new session, depending on the configuration. For example:

  • The user has not provided consent for session tracking in the app (e.g., via your Consent Management Platform).

  • The notification contains a deep link that opens in the device's web browser instead of the app.

Daily Active Users, Installations, and Starts

The number of visits in your analytics tool may be higher than Batch's active users, installations, or starts. You should bear in mind that:

  • A "Start" as shown on Batch's dashboard corresponds to a start of the Batch SDK. If Batch SDK has been disabled by some users (e.g. by not giving their consent, see our ), a visit may be counted in your analytics tool but not in Batch.

  • You may also have defined specific rules to allow Batch to start in your app/website (e.g., IP filtering, after a specific action, a minimum delay, etc.).

  • For the web, Batch analytics do not include unsupported platforms (e.g., Internet Explorer), but your analytics tool is likely to include them.

In any case, we recommend you double-check your analytics tool's integration.

Integrate a "ready-to-go" event dispatcher

To track your campaigns effectively, you should implement an event dispatcher (Guides: /). This enables the automatic dispatching of push opens and in-app displays from Batch's SDK to your analytics tool.

Read these guides for more details:

The analytics displayed in your analytics tool will still be subject to calculation rules that are specific to this tool.

GA's documentation
Guide on how to integrate Batch into your CMP
iOS
Android
How to connect Batch to AT Internet?
How to connect Batch to Firebase Analytics?
How to connect Batch to Google Analytics?
How to connect Batch to Mixpanel?

Analytics

How to track app uninstalls on iOS and Android? (outside of Batch)

You don’t know where to track the uninstall stat of your application? I’ll tell you where you can find this indicator.

At Batch, we do recommend using tools such as Google play developer for Android or iTunes Connect for iOS that can give you relevant information about uninstalls.

Google Play Console

If Batch does not know the information on the uninstallation of your application, Google knows it.

All you have to do is connect to your Google Play Console and find on the statistics tab the number of uninstalls. You can also check on the dashboard the number of installs and uninstalls for the last week, month, or year.

iTunes Connect

iTunes Connect does not give you the exact number of uninstallation. But it can give you another information, which is "retention". Retention measures the usage of your app over time.

Why does your push campaign have no opens?

Here is everything you should check if you have no opens on your push campaigns.

If your campaigns have no opens, something may be misbehaving in your integration.

The problem can come from different places depending on the platform:

iOS: Possible SDK Conflict

On iOS, the issue may be caused by a conflict with another SDK that automatically integrates with your application delegate (such as but not limited to Firebase).

You can fix this by manually integrating Batch. If you implement your own UNUserNotificationCenterDelegate, you need to make sure that Batch is integrated into it (learn more about this advanced setting).

Android: Possible Integration Issue

On Android, it can mean that Batch is not integrated into all activities.

If you are using a Custom Receiver (or ) and displaying your own notifications, you might not have copied the data Batch needs in the intent.

If you use a Custom Receiver, we recommend checking if the interceptor meets your needs instead. It greatly reduces the likeliness of this kind of errors.

Also, Opens might not be detected if the splash screen ends too soon. We recommend using the feature to exclude the splash screen from Batch's lifecycle handling.

Testing Your Integration

Once you have made the fixes, you can test your integration by taking the following steps:

  1. Run the Xcode or Android Project on a device in debug mode.

  2. Send a notification while outside of the app (in background mode, do not kill the app).

  3. Open the notification.

  4. Check your Xcode logs or your logcat. You should see the following logs: "App was opened from a Batch push".

How to interpret opt-out/app uninstalls on Batch?

To interpret opt-outs and app uninstalls correctly, you need to understand how they're calculated.

To begin with, you have to differentiate and define opt-out users and app uninstalls:

  • Opt-out users are users who disabled notifications.

  • App uninstalls refer to users who uninstalled the app.

Interceptor
Excluding activities

Troubleshooting

Opt-out users

You can track your opt-out users in the Analytics → Reach tab:

Batch can only have information about what's going on in the app. When a user installs and opens the app, we receive a push token from Apple/Google that allows us to communicate with them:

If the user opt-outs from notifications in the device settings, no information is provided to Batch servers. The actual opt-in status will be updated only when the user opens the app again. Likewise, we do not know in real time when an opt-out user activates push notifications again.

Therefore the Batch database is potentially always "out of synchronization" with reality regarding the opt-in status.

Batch always targets all opt-in and opt-out tokens: it allows us to update the state of the tokens, clean the database and recover the users who would have reactivated the notifications. The notification will never be displayed to an actual opt-out user, it will be blocked by the device.

On Android, users opt-in to push notifications by default. The number of opt-out users corresponds to the users who have:

  • Disabled notifications from the app preferences

  • Disabled push notifications from the system settings

  • Or to users who did not turn on push notifications, from Android 13.

App uninstalls

There are two pages where you can track your app uninstalls:

  • Analytics → Audience

  • Push → Campaign statistics → Undelivered

In this example, we report that 509 users, who were targeted by the push, did not receive it because they uninstalled the application. Uninstalls concern both opt-in and opt-out users, as long as they were targeted by the campaign.

Unlike opt-outs, we receive by return loop the uninstalls that took place between the sending of the last campaign and the campaign of the day. This loop occurs only once a campaign has been sent. That's why you will see uninstalls only on days when a push has effectively been sent.

Sending a test push notification won't trigger the uninstalls detection.

How to interpret web push opt-out users?

Learn more about your campaign's uninstall/opt-out/deleted tokens.

It is normal to see unsubscriptions (opt-out = uninstall = deleted tokens) at the level of campaign analytics or globally on the days you send campaigns.

Here are the three spots to track deleted tokens :

1

Analytics > Reach tab

2

Analytics > Audience tab

3

Push > Campaign statistics > Undelivered

Indeed, on web push, we receive by return loop the unsubscriptions that took place between the sending of the last campaign and the campaign of the day. This loop occurs only once a campaign is sent. That's why you'll see deleted tokens only days when a push is made (as in the picture above).

So, instead of reading "the January 20th campaign generated 29 opt-outs", you should interpret it as "between January 10th and January 20th, approximately 29 opted-in users unsubscribed from web push". This highlights the importance of sending campaigns regularly to keep your user base clean.

About the ascent of deleted tokens:

  • on Firefox: the deleted tokens are sent to us each time an old opt-in connects to the website again, that's why we observe opt-outs even on days when no campaign is sent.

  • on Chrome: the deleted tokens are sent to us each time a new campaign is sent.

Check out our documentation to learn .

how you can disable web push notifications

This guide is specific to Batch's Mobile Engagement Platform (More on the ).

This guide is specific to Batch's Mobile Engagement Platform (More on the ).

difference between Batch's CEP and MEP
difference between Batch's CEP and MEP