Message edition

The message editor lets you create notifications in several languages, A/B test them and see them on your device before you send them your users.

Language selection

Language selection

You can add as many localized versions of your message as you want by clicking on "+". Batch will automatically send the message in the right language to every targeted users.

If you don't have a message in the language of a user, Batch will deliver the message in the default language of your app.
You can check the default language of your app in ⚙ Settings → General.

Title and message body

Push editor

Title (optional)

You can set a custom title that will appear on iOS and on Android. On iOS, the title is displayed on devices running iOS 10 (and higher), on the Apple Watch or in the notification center (since iOS 8).

Here is how the title looks on iOS and Android:


Message body

This is the most important part of your push notification, make sure your message is not too long and to write it accordingly to your targeted audience.

Message personalization

If you want to improve the conversion rate of your push campaigns, you can personalise the content of your notification for every customer, based on the same attributes you may already be using for user segmentation.

All you need to do is to click the {...} button next to the title or the body of your message and pick an attribute:

Batch will replace dynamically the attribute with a custom value for each user. If no value is found for a targeted user, Batch will send the message without the value or use the default value you set when you added the attribute:

Editing the attribute

Message personalization is available on the Enterprise plan and, as an option, on other paid plans.

You will find more information on message personalization in our guide.

Emoji emoticons

You can add emoji emoticons to the title or the body of your iOS, Android, Windows or web push notifications.

Adding emojis

If you want to insert an emoji in your message you can:

  • Chrome 68+: Right-click any text field and select "Emoji" or "Emoji & Symbols".
  • Windows: Simply press the Windows key + the period button to display Windows's emoji keyboard on Windows 10. In case you are using an older version of Windows, you can copy-paste an emoji from emojipedia: iOS / Android / Windows.
  • Mac: Press CTRL + CMD + Space to display the emoji keyboard and pick an emoji.

On Android, emojis may look different on your users devices:

  • Custom emojis: Some device manufacturers use a set of custom emojis. See how they look here: Samsung / LG.
  • Android 4.4: On Android versions before 4.4, emoji emoticons might not be displayed correctly.

A/B testing

The A/B testing feature allows you to test two different messages in the same campaign. A/B testing is key to sending the most effective message and vastly improving your open and re-engagement rates. You can easily A/B test your messages with one click on the "Start A/B testing" button.

AB testing

Once your campaign is live, you can compare the performance of each variant and disable the one that performs poorly.

Mobile Landing

Mobile Landings allow you to display an In-App message when users open your push notification. This is great to manage scenarios that require a specific action from your users (update reminders, etc) or to have all their attention (new feature announcement, exclusive offers, etc).

You can choose between several formats depending on your use case: Fullscreen, Banner, Modal, Image or Webview.


You can easily add a Mobile Landing to your push campaign by switching on the "Mobile Landing" option:

The form enables you to edit the content of your Mobile Landing.

In order to add a Mobile Landing to your push campaign, you need to create a theme first from the dashboard settings.

Sending a test

Important: You will need to find and save your device token first to send your first test notification: iOS / Android / Web.

You can click the "Send a test" button to see how your message looks on your device, test your deeplink or see if the Mobile Landing is displayed correctly.

Test Push

You will find the list of all the registered test devices from Settings > Push Settings and send them a test message. This is helpful to check if the token of your saved devices are still valid and delete them if it's not the case.

Test tokens list

Advanced settings


Deeplinks allow you to direct users to a specific place in your app. Batch Push campaigns can accept this link scheme to direct users to a particular area within your app upon opening the push notification (i.e. The news you mention in your notification, etc).

Please note that the Deeplink URL must be a link based on a URL scheme that you specify within your app.



You have two options to add an attachment:

  • Browse media from your computer
  • Use a URL to your media :


If you use a URL, Batch won’t be hosting audio and video files: make sure you can handle potential traffic surges.

You can add dynamic data to customize your media URL:


Dynamic content is available on Enterprise plans and as an option for Startup and Business plans.

Custom icon

On Android, you can add a specific icon for the notifications sent by a push campaign. Batch requires a square image, PNG or JPG, with a minimum width of 192px.


Batch lets you send large-format notifications with a large image attachment. We require a landscape image, PNG or JPG, with a minimum width and height of 200px (max. 10MB).

Images can be displayed on:

  • iOS 10+: Make sure your iOS app supports rich notifications.
  • Android 4.1+
  • Web: Chrome 56+ on Windows/Android.

Here is how these notifications look on iOS and Android:

Custom Image


iOS 10+ only. The file must be an mp3 file (max. 5 MB) with a valid mime type, hosted on an HTTPS server. The OS will automatically download the mp3 file and drop the download if it takes more than 30 seconds.

Push audio

Video / GIF

iOS 10+ only. You can add a video attachment using an mp4 file (max. 50 MB), with a valid mime type and hosted on an HTTPS server. The video will be downloaded automatically on your users' devices and iOS will drop the download if it takes more than 30 seconds.

You can also attach a GIF file to your push notification. The GIF file must have a valid mime type and be hosted on an HTTPS server.

Here is how a video attachment looks on iOS 10:

Push video

Custom payload

An optional JSON string that can contain additional parameters that your application can handle when receiving push notifications if configured to do so. The root of the JSON must be an Object and cannot have the reserved key com.batch. You can use {BATCH:TITLE}, {BATCH:BODY} and {BATCH:DEEPLINK} variables. They will be replaced.

For example, you can use the custom payload to:

Please note that custom payloads are not supported by the Unity and Air plugins.
You will have to implement them using native components.

FCM/APNS Priority

Defines the priority of your message on iOS (APNS) and Android (FCM). The default value is high on iOS and Android.

On Android, you can use the high priority if you have a messaging/voip app and if you notice delivery issues due to native (Doze) or constructor related (Samsung Smart Manager, etc) energy saving features.

High priority Android notifications can drain your user's battery faster since they 'wake up' the device and open a network connection. Switch to Normal priority if your notification is not time-sensitive.

FCM Collapse key

Defines how notifications are managed when an offline device goes online. If enabled, the device will only show the most recent notification. If disabled, it will show all the notifications received when the device was offline.

You should disable the collapse key if all your notifications matter (E.g. messages, etc). You can use up to 3 different collapse keys if you want users to get only one notification of each kind when coming online (E.g. marketing message, alert, etc).

Expiration (TTL)

You can set an expiration delay or a Time to Live (TTL) in hours for your notification. The notification won't be displayed if the device doesn't receive the notification or doesn't come back online within this time.

By default, Batch sets a TTL of 14 days for all the notifications you send. If your user's device comes back online before being off for two weeks, it will display the last notification you sent to your user (iOS) or all the notifications sent over the previous two weeks (Android and web push).

In addition to setting an expiration delay for your push campaign, you can set a global expiration delay that will be applied to all your notifications. This can be done from the dashboard settings > Push settings.

TTL settings

Important [^]We strongly recommend you set a short global TTL for web push notifications to prevent customers from wanting to opt-out. Users who accept to receive web push notifications are more likely to turn off their device (e.g. a laptop at home, etc) and receive many notifications from your website when they go back online.


Wizard Review

While the review page is self-explanatory, it's not to be dismissed. Look over and verify all the details of the campaign before saving all of your work or activating the campaign. If you need more time to edit your campaign, you can save it as a draft.


After saving your campaign as a draft, you can duplicate it easily by clicking on the "Replicate" button. The campaign duplication also works between iOS and Android apps.

You can also duplicate your campaign from the Actions menu, next to your campaign's name.