User targeting

This is where you make all of your targeting selections and decide the audience of your push campaign.

Adding conditions

Click the "Add conditions" button to see the list of native and custom conditions you can add to your campaign. By default, if you don't select any group, Batch assumes you intend to target your whole audience.

You can organise your conditions into subgroups. This allows you to use different AND & OR operators between each group of conditions. You can add up to 31 target conditions and up to 64 values in each target condition.

Smart Segments

Smart Segments are automatically generated by Batch from the moment the SDK is implemented in your app. They allow you to take action on your userbase in a meaningful manner, based on their engagement level.

targeting segments


The NEW segment contains newcomers to your app that haven't yet established themselves as engaged, lasting users. They're still trying to understand what your app can do for them or how amazing your game is.

Don't overwhelm them with information they don't need or repetitive notifications. Use Batch to welcome them and present them with the features they may need to discover in order to engage them from the start.

E.g. Send a welcome push notification to New users only (1 daily recurring push campaign with a capping of 1).


Users of the ENGAGED segment are your regular users. They open your app frequently, they enjoy it the way it is and know exactly why they're using it. For all these reasons, they are the most receptive users you have and you want to keep them engaged.

Don't bother them with random push notifications to promote basic features of your app or to remind them to come back. They already do. Communicate the aspects of your app they probably don't know about yet, make them discover new features after an update or show them you care about them with special offers.

E.g. Automatically send your users a notification when they become Engaged (1 daily recurring push campaign with a capping of 1).


One-timers are users who did not come back after they first launched your app. They probably didn't understand what your app can do for them, installed your app and forgot to come back or they just didn't want to go further if your app has a login. Still, they might come back in the future if you send them the right message.

Don't send them notifications too often asking them to perform a specific actions in your app. They probably don't care. Focus on what they probably miss or they can obtain from using your app.

E.g. Entice One Time users to come back with a weekly notification (1 weekly recurring campaign for one timers with capping).


Dormant users were 'engaged' at one point, but have not launched your app for a long time. They're basically not using it any more, but they still remember it and probably why they installed it.

Don't just ask them to come back. Give them a good reason to start using your app again such as new features, a special offer or anything showing that you've improved since their last session.

E.g. Re-engage Dormant users with a weekly notification (1 weekly recurring campaign for Dormants and no capping)


The imported segment contains all the push tokens we have imported if you migrated from another push provider. You will find more information on how to import your tokens here. These users will be progressively analyzed and transferred to other segments after their first session.

Custom Audiences

Custom audiences allow you upload static segments exported from your userbase (e.g. top 500 buyers, etc) or created by third-party tools. You can easily retarget these custom audiences with a push or an In-App campaign from the dashboard. You can easily create a custom audience from the dashboard settings (see more here) or using the Custom Audience API.

Either you are editing a push or an In-App campaign, you can select a custom audience from the campaign editor:

Custom Audience targeting

You can also use the "Custom audience" attribute. Click the "Add conditions" button, then go to the "Native attributes" tab to find it.

This is useful if you are planning to include a custom audience in complex segmentation with different operators (AND/OR). You can also use it to target or exclude up to 3 different custom audiences.

Custom Audience Attribute

Custom Audiences are available on the Business plan or higher.

Countries and languages

Batch automatically detects the country and the language of your users. This allows you to easily limit the range of your push campaign to one or several countries/languages with only one click from the dashboard. No need to segment your database yourself.

Country targeting

Countries targeting

You can leave this section blank to target globally, or you can specify your grouping of countries by using the drop-down menu or typing. There is no limit to the number of countries you can select.

Languages targeting

Leaving this section blank will target all languages and increase the reach of your campaign. If you don't have a message in the language of a user (e.g. Japanese), Batch will deliver the message in the default language of your app. You can check the default language of your app in ⚙ Settings → General.

If you only want to send a notification to users speaking a specific language, then you can target them here. It may be useful if you want to target a multilingual country and you only have a message in one language.

Here are a couple of examples:

  • Belgium: Dutch, French.
  • Canada: English, French.

Native attributes

Native attributes allow you to target users based on data the SDK collects automatically. Several conditions can be set in the same campaign and with different operators (equals to, lower than, greater than, etc).

Native attributes

OS / app version

These attributes allow you to target a specific OS/app version to send update reminders and more. All you have to do is to select the OS or the app version you want to target in the dropdown menu:

OS targeting

OS / Browser model

Web push only These attributes allow you to target a specific OS/Browser model.

OS model and Browser model targeting

Device type

On iOS, the device type attribute value must be a valid model name. The full list of Apple model names is available here (e.g. iPhone8,1, iPad2,1, etc).

Device Type

On Android, the device type value must be the name of a valid device. A list of all the devices supported by the PlayStore is available here. Make sure you chose a value in the "model" column (e.g. SM-G900H).

Device category

Web push only

This attribute allows you to target users depending on their device category : mobile or desktop. Note: tablets belong to the mobile category.

Device category targeting

Installation date

Allows you to target users based on the number of hours / days elapsed since the install. The days are counted in sections of 24 hours from the hour of install.

Installation date

With this attribute you can easily create several onboarding campaigns, sent several days after the install (e.g. D +1: Welcome message / D +3: Recommend a feature / D +8: Rate the app).

RECOMMENDED Users coming from an older version of your app and upgrading to a version with Batch's SDK (after a first release or a token import) are considered as new installs. If you are planning to use this attribute to send 1-3-7 days post-install notifications, we recommend that you wait at least 7 days to make sure you only target your new users.

Last push date

The last push date attribute allows you to target users according to the last date they received a push via the dashboard or the Campaigns API. The days are counted in sections of 24 hours from the hour of last push. This is especially useful if you want to avoid bothering users that have already received a push from you lately.


Last visit date

The Last visit date attribute allows you to push users based on the time elapsed since their last visit. The days are counted in sections of 24 hours from the hour of the last visit. This is useful to reengage users who haven't opened the app for a while.

Mobile carrier

Allows you to target users based on the mobile carrier they use. The code shown next to the carrier name is a combination of the Mobile country code (MCC) and the Mobile network code (MNC). The full list of MCC and MNC codes is available here.

Please note that some mobile carriers may have several MCC+MNC codes.

Note: This attribute is not supported on iOS 16.4 and higher.

Has custom user ID

Allows you to target users who don't have a custom user identifier (iOS/Android).

Custom identifier

Apps with login walls or that require an account to make significant actions (purchase, etc) can use this option to increase the number of logged in users.

Transactions tracked

The Transactions Tracked attribute allows you to target users who already have or haven't made any purchases in your app yet. This is useful to improve your onboarding process if you have an mcommerce app.

Custom identifier

Make sure you are sending custom data on transactions (iOS / Android) to use this attribute.


Batch uses IP geolocation to find the city of your users. You can use this native attribute to target your users based on their last location. This feature works when the user is on a Wi-Fi network, not on a cellular network.

User city

Last location

Starting with Batch 1.8, you can track natively the GPS location of your users (iOS / Android) for geotargeting purposes.

This allows you to send contextual push notifications to users who have been seen in a specific area. All you have to do is to type an address and adjust the size of the targeted area (in meters).

Last location

Please note that the SDK throttles location tracking to optimize network and battery usage. Batch can track one location event every 30 seconds.

Geotargeting is available on the Startup plan and higher.

Retarget audience / opens

You can easily retarget or exclude users based on the push notifications they have received or opened recently. This will work for any campaigns created from the dashboard or the Campaigns API over the last 14 days.

Retarget Push Audiences
The "Retarget audience" attribute allows you to retarget or exclude users who have received a notification from a specific push campaign.

Retarget audience

You can use that condition to retarget users who have recently received a push containing a coupon code and forgot to use it. This is also useful if you want to target all your userbase, except users who were targeted by a specific campaign targeting a custom audience for example.

Retarget Push Openers
The "Retarget opens" attribute lets you retarget or exclude users users who have opened a notification coming from a specific push campaign.

Retarget opens

This is helpful if you want to communicate with users who show interest for a certain type of content. You can also use that attribute to avoid bothering users who are not opening your notifications.

Retarget In-App Viewers
The "Retarget In-App Viewers" attribute allows you to retarget or exclude users who have seen an In-App message from a specific In-App or push campaign.

Retarget InApp

You can use that condition in your push campaign to exclude users who have seen your In-App message for example.

Campaigns retargeting is available on the Enterprise plan or as an option on other paid plans.

Custom attributes

With Batch you can track events and assign custom attributes to your users in order to send contextual notifications.

Before targeting custom segments, you need to define a tagging plan and tag your app as explained in the documentation (iOS / Android). Take a look at this guide to know more on custom data and learn how to tag your app.

Custom segments

Important note

Newly tracked attributes, tags and events are hidden by default. You will need to manually display them from the dashboard settings > "Custom data" tab.


Attributes can define users based on their settings (signup_date, etc), user profile (user_city, user_gender, etc) or their current status (nb_remaining_credits, etc). They can contain different type of data (string, number or decimal, boolean, date).


You can use custom attributes to:

  • Improve your onboarding flow (e.g. "Post a comment and be part of the events" if has_commented is false).
  • Optimize your inapp content sales (e.g. "Hurry! 40% off on our coins packs!" if nb_remaining_coins < 5).
  • Target the right users (e.g. "Free delivery today for our London users!" if user_city is "London").

Tag collections

A tag is a collection of strings. Tags may be called Channels or Topics with other push providers. The difference is that Batch attaches a "tag" to your user and will only make the list of users once you have created your campaign on the dashboard or from the API.


You select several tags and use an AND/OR operator. This allows you to segment your userbase based on:

  • Users interests: You can use a tag collection to know what your users' favorite brands/items/etc are and send them contextual notifications.
  • Thematic opt-in: You can also use them to manage thematic push optin in your app.


Events allow you to target your users based on how they interact with your app (read_article, play_video, follow_user). Every event has a key, an occurence date, an optional label, and an optional data object.


You can use events to:

  • Entice users to come back (e.g. "3 news you cannot miss this week!" if they haven't read an article over the last 7 days).
  • Invite your loyal users to share your app (e.g. "Enjoying the app? Invite your friends to unlock a special character" if they never invited friends).
  • And many more, depending on your app and your tagging plan.

Potential Reach

The potential reach indicator shows you the approximate number of users who are going to receive your message, based on your current targeting options.

Potential reach

It gives you a good idea of the impact your push campaign will have and helps you to understand how relevant your targeting is.

You can also see the percentage of users who have opted in to receive push notifications by hovering the number of targeted users.

Please note that the Potential Reach doesn't take into account devices using Batch Dev API key. Don't be surprised if the number of reachable users is 0 when you run your first tests.