OneSignal and Pugpig Bolt
Table of Contents
What is OneSignal?
OneSignal is a push notification and in-app messaging provider supported on Bolt iOS and Android. It's also a supported provider for our preference centre.
The specific features supported in Bolt are:
- Push notifications, including rich push
- Deeplinking
- In-app messages
- Confirmed Deliveries
- External User ID (for logged in users)
- Event tracking
Currently not supported:
- Custom user attributes
- Automated push from the Pugpig distribution service based on "highlight" tag in CMS
What do we need from you to get set up?
The required information for configuration is just an App ID, which you can get from your dashboard and pass over to us in a secure way, so that we can configure it for your build.
Analytics and event tracking
Available from: Bolt Android 4.17.0 and coming soon to Bolt iOS
Bolt sends its standard analytics events to OneSignal as custom events. This lets you use OneSignal's analytics tools to track user engagement alongside your push data, without any additional configuration.
What gets sent
Each Bolt analytics event is forwarded to OneSignal with its event name and param value (where applicable). You can view these in your OneSignal dashboard under Analytics > Custom Events.
What doesn't get sent
The Category dimension - which is in the Bolt analytics spec identifies the screen context where an event fires (e.g. ArticleView, Audio) - is not sent to OneSignal. OneSignal's custom event model doesn't have a direct equivalent field for this.
Event data limits
OneSignal applies limits to the amount of data that can be sent per custom event. If an event payload exceeds these limits, the data will be truncated. See OneSignal's custom event structure docs for current limits.
A note on deeplinking from in-app messages
To ensure deeplinks from buttons on in-app messages open in the correct place in the app, it's imperative that the button is configured to use “Custom click action” rather than “URL”, you can then simply paste the deeplink url into the resulting field.
This applies to internal deeplinks on iOS only, Android in-app messages should use the URL method. We're working with OneSignal to align this as soon as possible.


