Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Learn how to track your Batch push and in-App campaigns in Firebase.
Firebase Analytics, and in its latest form, Google Analytics for Firebase, is an extensive analytics solution that enables brands to measure relevant KPIs on their app and how their users interact with it. Those key metrics will enable Batch customers to get clear performance data of their campaign, and also better understand the behaviour of users in order to encourage conversion scenarios within the app.
You can easily establish this connexion by completing the following steps:
The Firebase dispatcher uses the (like on a lot of Google services) from your campaign to dispatch a new set of data on Firebase.
Once the dispatcher is installed, you will be able to track related to your push or In-App messaging campaigns on Firebase.
If you haven't already installed the Firebase event dispatcher, please read our technical documentation for and .
Note: The since October 2019 for non-Google Analytics 360 customers, meaning if you still use it on a free Google Analytics account, no data will be available and you must migrate to Firebase.
The tags utm_source and utm_medium are optional because they have a default value of batch and push accordingly.
You can add utm_content only in the deeplink URL in case your push notification has several different buttons.
The dispatcher gathers the value of utm_campaign from the field Tracking ID of your campaign.
You can't customize the utm_source and utm_medium tags, they have a default value of batch and in-app accordingly.
You can add utm_content only in the deeplink URL in case your in-app message has two different buttons.
⚠️ Please note that the event dispatchers are only available from Batch's 1.15 SDK version and above. If you use an older version of Batch's SDK you can integrate the Firebase Batch plugin. However, this only allows you to track push opens and retrieve the campaign's UTM parameters.
The plugin's job will be to read Batch's notifications clicks and extract the right parameters before sending them to Firebase.
Start by copying the FirebaseBatchIntegration class to your project. The code can be found here :
As shown in the BaseActivity example of the gist, you will have to call FirebaseBatchIntegration.handleIntent in every activity, both in onCreate and onNewIntent.
Copy the FirebaseBatchIntegration class in your project. The code can be found here (Swift 4.2):
Then, as shown in the gist, simply call
in applicationDidFinishLaunchingWithOptions before Batch.start(withAPIKey:)
If you call this method after starting Batch, the integration may work incorrectly.
Once you integrate the plugin, you can add your UTM parameters to your campaign's deeplink as described in section 2.a of this article.
Execute the following command to turn on the analytics debug mode on your Android device:
Once you finish debugging, make sure you turn off the debug mode using this command:
Specify the following line argument in Xcode to turn on the analytics debug mode on your iOS device:
Once you finish debugging, make sure you turn off the debug mode by specifying this line argument in Xcode:
On Firebase, go to Analytics → DebugView. You should see your device and Batch events as soon as you receive, open a push or display, close, click an In-App message.
Learn how to track your Batch push and in-App campaigns in Mixpanel.
As a marketer what you want is a global and cohesive view of your entire traffic sources & marketing campaigns inside your analytics suite. Without having to compromise on your effective working habits.
Using the Batch x Mixpanel integration lets you track your entire push notifications and in-app messaging inbound traffic sources inside Mixpanel like you would with any other traffic source.
The Mixpanel dispatcher uses the from your campaign to dispatch a new set of data to Mixpanel.
Once the dispatcher is installed, you will be able to track related to your push or In-App messaging campaigns on Mixpanel.
If you haven't already installed the Mixpanel event dispatcher, please read our technical documentation for and .
FirebaseBatchIntegration.setup()$ adb shell setprop debug.firebase.analytics.app package_name$ adb shell setprop debug.firebase.analytics.app .none.-FIRDebugEnabled-FIRDebugDisabledThe dispatcher gathers the values of utm_campaign, utm_source and utm_medium from the deeplink URL and from the custom payload of your campaign.
The tags utm_source and utm_medium are optional because they have a default value of batch and push accordingly.
You can add utm_content only in the deeplink URL in case your push notification has several different buttons.
The dispatcher gathers the value of utm_campaign from the field Tracking ID of your campaign.
You can't customize the $source and utm_medium tags, they have a value of batch and in-app accordingly.
You can add utm_content only in the deeplink URL in case your in-app message has two different buttons.
Push notification clicked: Triggered when a push notification is clicked.
Push notification dismissed: Triggered when a push notification is dismissed (only available on Android).
Message showed: Triggered when an in-app or landing message appears on the screen.
Message closed: Triggered when an in-app or landing message is explicitly closed by the user (using the close button or a dismiss CTA/Global tap).
Message auto-closed: Triggered when an in-app or landing message is closed by the auto-close timer.
Message clicked: Triggered when an in-app or landing Click-To-Action is clicked or when the in-app/landing is global tapped (except if the CTA/Global Tap is a dismiss, then a closed event is triggered).





Indeed, Branch.io links can be used in Batch notifications for your referral and attribution needs.
Branch.io is a comprehensive mobile attribution & linking platform, that helps you acquire, engage, and measure across all devices, channels, and platforms by providing a holistic view of all user touchpoints.
The good news is that those links can be added to your Batch push notifications to ensure your users can open your notification deeplinks while you keep track of your push opens with Branch.io.
To add Branch deep links to your campaigns, you just have to add a 'Branch' key with your Branch deep link to your campaign custom payload to handle push notifications, very much like below:
Important note: Remember not to add any deeplink in the dedicated text field, it won't work this way.
For this integration to work on Android, you have to wire Batch SDK to Branch SDK in a . The Branch link has to be added to your result intent as shown in this code sample:
More information is in the .
No intervention whatsoever is necessary on iOS. More information is in .

This guide explains how to enable tracking of Piano Analytics campaigns to track Batch's web and mobile campaigns.
Piano Analytics is an advanced analytics platform that enables you to:
Collect and leverage high-quality data across your websites and applications
Use a powerful and flexible platform to improve your performance
Integrate with a rich ecosystem of partners, including Batch
Track web push notification opens in Piano Analytics by adding tracking parameters to your deep links.
Use AT or UTM Parameters in Deep Links
AT parameters:
Add at_medium and at_campaign parameters directly to your deep links or in the payload. Follow Piano Analytics for formatting and parameter usage.
UTM parameters: Use UTM parameters if you configure Piano Analytics to recognize them. Refer to the Piano Analytics for configuration steps.
Add Parameters to Your Deep Link
Use Batch's Piano Analytics event dispatcher to send campaign data from your mobile app to Piano Analytics.
Install the Piano Analytics Dispatcher
Install the dispatcher for Android or iOS. Refer to the technical documentation to configure the dispatcher in your mobile app ( / ).
The dispatcher extracts AT or UTM parameters from the campaign and sends the data to Piano Analytics.
Understand Piano Analytics Traffic Attribution
Piano Analytics uses the first detected campaign per session as the Traffic Source. However, Batch can trigger multiple campaigns during a single session.
Yes! Thanks to a quick client-side integration, you will be able to see campaigns opens with AppsFlyer.
Append your tracking parameters to the push campaign deep link. For example:
After implementation, Piano Analytics will track users who open the notification. The source of their visit will reflect the value of the at_medium parameter.
The Marketing Campaign module
The On-site Ads module
Marketing Campaign module: Only the first campaign detected during a session appears as the official traffic source in the Piano Analytics dashboard. Other campaigns appear as event properties.
View this data in:
Traffic Sources > Marketing Sources
Content > Pages
On-site Ads module: This module tracks ad impressions and clicks per campaign. It ensures visibility for all campaigns triggered during a session.
View this data in:
Content > On-site Ads > Publisher Campaigns
Create and Use AT or UTM Parameters
Define your AT or UTM parameters in Piano Analytics. Reuse the parameter created in Section A.1. Associate this parameter with your campaign.
Link Your Batch Campaign
Push campaigns: The dispatcher extracts the AT or UTM parameter from:
The deeplink URL
The custom payload
If both are present, the dispatcher prioritizes the parameter in the custom payload.
In-App and Mobile Landing campaigns: The dispatcher extracts the AT or UTM parameter from:
The deeplink URL
The Tracking ID field in the campaign settings
After linking, Piano Analytics tracks all events related to your Batch push or In-App campaigns.
Follow the steps described in the official AppsFlyer documentation. The AppsFlyer SDK will be able to track push opens: iOS / Android.
Simply add these few lines in your Batch Custom Payload to enable the notification to be tracked down by the AppsFlyer SDK:
Please note that the payloads to be used for iOS and Android are not the same.
Here is where you will need to paste the payload:
Note that an extra step is needed on Android. You need to add the following code before calling the AppsFlyer AppsFlyerLib.getInstance().sendPushNotificationData method:

Learn how to track your Batch web and mobile campaigns in Google Analytics.
Batch allows you to track Google Analytics users who interact with your push notifications or In-App messages. This is helpful to understand what your users do in your app/website, tracking transactions and e-commerce conversions.
You can easily track your web push opens in Google Analytics by following these two steps:
The first thing you need to do is to add UTM tags to the deeplink of your push campaign. This can be done from the campaign editor or when calling the Campaigns / Transactional API:
Each UTM tag includes two main elements:
A parameter (e.g: utm_source)
A value (eg: newsletter)
There are several parameters you can use (more information ):
Campaign Name (utm_campaign): This can be the name (e.g. salejuly) or the category of your push campaign (e.g. onboarding).
Campaign Source (utm_source): This parameter allows you to define where your content comes from (e.g. Batch_Android, Batch_iOS)
Campaign Medium (utm_medium): This parameter allows you to identify the medium used by the user is coming from (e.g. push)
You can build easily add UTM tags to your deeplink by using Google's :
Note :
This section assumes you are already using the V3 of Google Analytics' SDK in your app. Also, you must have a deeplink architecture integrated into your application.
The since October 2019 for non-Google Analytics 360 customers, meaning if you still use it on a free Google Analytics account, no data will be available and you must migrate to Firebase.
The Google Analytics dispatcher uses the (like on lots of Google services) from your campaign to dispatch a new set of data on Google Analytics.
If you haven't already installed the Google Analytics event dispatcher, please read our technical documentation for and .
Once the dispatcher is installed, you will be able to track related to your push or In-App messaging campaigns on Google Analytics.
Once the steps described in either sections A or B are completed. You will be able to track users coming from specific sources, mediums or campaigns by going to Acquisition > Sources > all on Google Analytics.
Then you will be able to see your whole campaign from push notifications by clicking on the campaign tab.
In order to test whether your Batch campaign data is correctly being tracked, you can go to the "Real Time" tab in Google Analytics and check the event count for the event that you want to track.
You can then try to send yourself a test push ( / ) or . If integrated correctly, you should see the event count increase a few moments after the event is performed (Push open, Push notification dismiss, In-App dismiss, In-App display, etc).
Batch + Firebase + Google Analytics = Free cross-platform reporting tool !
During the summer of 2019, Google announced a allowing marketing teams to merge analytics from mobile applications and websites into one tool. The feature is now available as a beta on Google Analytics new properties App + Web. It gives access to the new Analysis hub, where both data from your website and your applications are available.
Today we are going to set up your Firebase and Google Analytics accounts to make these new features available with the data of the Batch SDK.
https://mywebsite.com/item?at_medium=batchPush&at_campaign=new_offer
{
"data":{
"af":{
"pid":"batch_int",
"is_retargeting":"true",
"c":"test_campaign"
}
}
}{
"af":{
"pid":"batch_int",
"is_retargeting":"true",
"c":"test_campaign"
}
}if (intent != null) { val batchPayload = intent.getBundleExtra(Batch.Push.PAYLOAD_KEY)
val af: String? = batchPayload?.getString("af")
if (batchPayload != null && af != null) {
intent = intent.putExtra("af", af)
}
}The dispatcher gathers the values of utm_campaign, utm_source and utm_medium from the deeplink URL and from the custom payload of your campaign.
The tags utm_source and utm_medium are optional because they have a default value of batch and push accordingly.
You can add utm_content only in the deeplink URL in case your push notification has several different buttons.
The dispatcher gathers the value of utm_campaign from the field Tracking ID of your campaign.
You can't customize the utm_source and utm_medium tags, they have a default value of batch and in-app accordingly.
You can add utm_content only in the deeplink URL in case your in-app message has two different buttons.





First, we need to wire up Batch SDK to Firebase. The easiest way to achieve this is to install the Firebase Events Dispatcher into your application. This small plugin will make Batch's data available on your Firebase dashboard. More details are available in our technical documentation for Android and iOS.
Once your Firebase project is created and set up with the Batch SDK (and the dispatcher installed), you need to link your Firebase project to a Google Analytics property.
Go to your Firebase dashboard, select your project, click on the ⚙️ in the top left corner, and then on Project settings. On the new page, click on the Integrations tab.
Depending on your Firebase configuration, you might not have enabled Google Analytics for your project.
If you see the option Enable on the card, then you need to choose or create a Google Analytics account on which your applications' data will be linked (a new property App + Web will be automatically created in the selected Google Analytics account).
If your Firebase project is already linked, you need to make sure to upgrade your link to gain access to the new beta features.
To do so, click on Manage then under your Google Analytics configuration, a banner will offer you to Begin upgrade, click on it, then choose or create a Google Analytics account on which your applications' data will be linked (a new property App + Web will be automatically created).
Note: If you can't see the banner, it's probably because your Google Analytics link has already been upgraded, simply move on to the next step.
Go to your Google Analytics dashboard, you should see a new property in your account, labelled as App + Web:
Select that new property, then click on ⚙️Admin in the bottom left corner, then click on Data Streams in the property column. Under the All data streams tab, you should see your applications (Android and/or iOS) from your Firebase project (if you do not have any applications in your Firebase project, then click the Web button).
Click on the Web tab, and move on to the next step.
If you don’t have Google Analytics on your website, you can add one now, data will be directly merged with your application’s data.
On top of the form, fill in the Website URL and Stream name of which you want to track data and then click Create Stream.
Optional: Click on the Web tab, and under Tagging Instructions > Add new on-page tag follow the instructions to add Google Analytics to your website. If you don’t know how to do it, you can skip this step but keep in mind that your website data won’t show on your dashboard.
If you already have Google Analytics tracking your website, you need to fill in the exact same Website URL as in your property (you can find it under ⚙️Admin > Property Settings > Default URL), also fill in the Stream name input, then click on Create stream.
Now under Tagging Instructions > Use existing on-page tag, expand the Google Analytics block and follow the instructions to add your new Measurement ID to your existing property.
Congratulations! You have successfully set up the new Google Analytics dashboard App + Web. You can now access data from your website and your app on the same dashboard, take a look around, for example under Technology in the left menu, you can now inspect platform-specific metrics.
Note: you may have to wait 24 hours to see website data in your dashboard, but if you can see the Technology > Web option in your menu, your configuration is done.
Now that you have data on your dashboard, we will need to flag specific events and parameters from the Batch SDK. To achieve this, go back to your Firebase dashboard, and click on Analytics > Events in the left menu.In the list you should see events starting with batch :
If you can’t see them, make sure the Firebase dispatcher is correctly installed and working (you can send a test push from the Batch dashboard to create events on your Firebase Dashboard).
For each Batch event, a set of parameters is available (corresponding to your UTM tags), to set one click on the three dots at the end of the line of any batch event and click Edit parameter reporting, in the modal, you can add any of the following parameters (always as Text type).Here is an example of the batch_in_app_show event after being configured:
Note: you’re limited to 50 text parameters per Firebase project, so you should only set up parameters that you want to use in your reports, if you don’t know which one to use yet, start with the campaign parameter and move on to the next step.
Go back to , click on Analysis > Analysis Hub, then click on the + card on top of the page to create a new analysis.In the left menu click on the + next to Dimensions, in the list showing on the right side of the screen you should find the parameters you have added on the Firebase dashboard, check them to add them to your analysis.
You can now use those dimensions to draw graphs and tables!










This guide explains how to enable tracking of AT Internet campaigns to monitor your Batch campaigns on web and mobile.
To track Batch web campaign opens in AT Internet:
xtor parameter in AT InternetOpen AT Internet.
Go to: Settings > Settings > Custom Marketing Campaign.
Create a Source (e.g., "Push Campaign").
Create a Campaign using that source.
xtor to your Batch deeplinkAppend the xtor parameter to your deeplink URL. For example:
Once configured, AT Internet will attribute visits to this campaign as a traffic source.
To track mobile push and In-App messaging campaigns in AT Internet, use Batch's built-in event dispatcher.
AT Internet dispatchers use the xtor parameter to send events to AT Internet.
Refer to the technical documentation for installation:
xtor parameterAs with web tracking, create a Custom Marketing Campaign in AT Internet. This will generate the xtor parameter you need for linking.
Push campaigns
The dispatcher reads the xtor from:
The deeplink URL
The custom payload
If both are present, the custom payload value takes priority.
In-App and Mobile Landing campaigns
The dispatcher reads the xtor from:
The deeplink URL
The Tracking ID field of the campaign
Once configured, AT Internet will track relevant events triggered by the campaign.
Note the xtor parameter associated with your campaign.
https://mywebsite.com/item?xtor=CS1-123-label1-label2-label3
