Understanding iOS & Android push permission
On iOS and Android 13 and higher, users must give consent to receive push notifications from your app (or "opt-in"). Users who didn't see the push permission prompt or refused to receive push notifications are considered as "opt-out".
iOS and Android push permission prompts are similar:
On iOS, the permission prompt can only be displayed once. On Android, users can tap in the grey area to dismiss the permission prompt. It will be displayed again the next time users open the app.
The wording of the push permission prompts cannot be customized.
Developers can choose when the permission prompt is triggered (e.g. after a pre-permission screen, as part of the onboarding tutorial, presenting why you are asking users to turn on push notifications. See more here).
Users who don't allow push notifications cannot trigger the push permission prompt again later. They need to go to the system settings to grant the push permission for your app.
On Android, the system (via Play Protect) will automatically revoke the push permission for long-time dormant users.
Creating a re-opt-in campaign using In-App messages
Getting opt-out users to turn on push notifications is key to reengage efficiently your audience, especially in the first 7 days following the app install. This can be done in a couple of minutes using an In-App message.
👉 Batch In-App messages are the most powerful way to convince your opt-out users to activate push notifications. Re-optin In-App campaigns allow you to efficiently invite your opt-out users to turn on push notifications and give you an additional lever to bring these users back into the app. Batch advanced targeting and personalization features give you the ability to display that In-App message after a meaningful action, in the right context:
Media: When users reach the end of an article, create or log into their account, get a premium subscription, etc.
Retail: When users add an item to their wish list, add a favorite brand, or after the checkout to be sure they get alerts on their delivery.
Here is the list of prerequisites for setting up your opt-in campaigns:
SDK: On Android, make sure your app includes the 1.19.2 version of Batch SDK (or higher). Your Android app must also target, at least, Android 13 (API 33). Install the latest version of your app and find your install in the debug tool (Settings → Debug) to check the current version of Batch SDK used in your app.
Tagging plan: Make sure all the user actions you are planning to use as triggers for your In-App message are tagged as events with Batch SDK. On Batch dashboard, go to Settings → Custom Data → Events to check the list of events available as trigger events. If the action needed is missing, your developers will need to tag it following Batch documentation: iOS / Android / Cordova / Flutter / React Native.
You will need to create an In-App campaign using the following instructions:
Add the "Push opted-in" condition to your targeting and set it to "No" to target exclusively users who didn't turn on push notifications. We also recommend you turn on the "Re-evaluate targeting just before display" option to improve your In-App campaign behavior.
On Android, make sure you add a condition to target exclusively Android 13 (and higher) users:
2. Trigger conditions
Here is where you choose when the re-opt-in campaign will be triggered:
Display event: NEW SESSION triggers the display of the In-App when the app is opened. However, we recommend using a custom event linked to specific action sent to Batch through your tagging plan. Select an event triggered after an engaging action from the user: signing up or logging in to your app, adding an item to the cart, etc.
Capping: this feature helps you to control marketing pressure. In the example below, we have set a capping of 2 and a 72 hours grace period. A user will see the In-App message 2 times maximum, with a delay of 3 days minimum.
3. Message edition
Then, simply edit your message:
Select the In-App theme you want to use, in the format adapted for your use case (e.g. banner, modal, full screen, image, or webview). If you do not have a theme yet, create one from Settings → Theme → New theme.
Add a wording for the text and the buttons of your message, according to your theme.
Configure the button action: Choose the "Smart push re-optin" option as primary action. You can add another action for advanced use cases (e.g. track an event when users click "later" to show them another In-App message later.)
The effect of clicking a button tied to the "Smart push re-optin" action will vary depending on your users.
If users never triggered the push permission prompt → Batch will trigger the push permission prompt, allowing users to turn on push notifications.
If users already triggered the push permission prompt and didn't turn on notifications → Batch will direct users to the system settings, in the section dedicated to your app, where users will be able to turn on push notifications.
4. Testing the campaign
To test a re optin campaign, your installation has to be opt-out. In this state, you can’t receive the test push via the Send a test feature. That’s why you need to create a Custom Audience with your Installation ID.
Once your Custom Audience is ready and attached to your test campaign, you can activate it.
💡 Make sure that your Installation matches the targeting rules. You can check it in the Settings > Debug page of the dashboard. You might also turn off the capping and the Grace period when running multiple tests.
Then, you can trigger the display event of your In-App campaign and you must see your In-App message and can click on the buttons.