Skip to main content


All OpenBack Signals are available for both Android and iOS.

Real-time User Segments

These segment users so that you can target specific groups of users with a message campaign.

Last OpenDeliver a message if the mobile app has not been opened in the specified amount of time.
Custom SegmentsThese custom segments were setup when the OpenBack SDK was added inside your app and setup in Settings->Apps. They enable you to segment and personalise around any data within your app alongside other Signals in a few clicks.
AppsDeliver notifications when users install or uninstall a specific 3rd party mobile app on their device. You can add additional apps to the drop down from the Settings -> App menu; for iOS see docs.
LanguageDeliver messages to devices with specific language and/region settings.
Mobile OperatorDeliver a message to a user based on their mobile operator.
NotificationsThis delivers messages (in-app or other types) based on whether users have blocked or opted out of notifications for your app.
IdentityThe identity segment can be used to deliver to specific users only. Multiple identity types can be setup when installing the OpenBack SDK in your app. When using the OpenBack Client API to send notifications, the Identity types are used to identify specific users.
DeviceDeliver notifications to users with specific device models, screen sizes or brands.
VersionTarget users with a specific version of your app installed or a specific version of the mobile operating system installed (Android and/or iOS).

User ID

To message individual users, their user ID must be set within the OpenBack SDK. This is for API use only, visit our iOS and Android docs to learn more.

Delivery Moment – Signals

These Signals trigger the delivery of notifications to groups of users based on any available information in real time on device, working even when the device is offline - these messages may never fire, if the Signal settings are not met on the user's device.

Now SignalThis Signal is used to immediately send out a message to all users within a certain segment. It cannot be combined with another delivery moment.
DeviceDecisionsMLA Signal that uses ML to determine the optimal moment to deliver a message for that user.
Custom EventsA Signal that uses in-app events to deliver a message right away or after a delay. The message delivery can be delayed by a custom amount of time set by the app in real-time or as defined within the OpenBack dashboard. Apps often set this signal up so that any existing events (e.g., for analytics) can be automatically used to deliver messages.
TimeHighly configurable signal offering many different delivery times and/or delivery windows including Setup one-time or recurring; local device time or a global time (UTC) and much more.
FallbackAdd the fallback Signal if you want to ensure that the message will be delivered by/before/after a particular deadline, even if your combination of other Signals is never met.
UnlockMessages will only be delivered if the user's device is currently locked or unlocked.
LocationThere are several ways to deliver a message based on a user's location. Country, Home and Work ML Signals deliver for all users without any location data from the app or user's mobile device.
ActivityDeliver based on an activity the user is performing such as walking, running, cycling or in a vehicle.
DelayAfter any other Signals are met and message is ready to be delivered, this Signal delays the delivery by the set amount of time.
App OpenDeliver based on whether the user has your app open (in the foreground) at the moment or not.
Weather*Contact your customer success manager for iOS support. Deliver messages based on weather conditions where the device is at that moment using location (if available) humidity, temperature, altitude and pressure sensors where available.
RoamingDeliver a message based on whether the user is roaming or not (on their home mobile network).
Aeroplane ModeDelivers notifications when the device is in aeroplane mode.
PowerDeliver messages based on remaining battery levels, charging status or charging type.
MemoryDeliver a message to a user based on their available storage or running memory.
ConnectivityDeliver messages based on WiFi, bluetooth, data connection or location settings.
SignalDeliver messages based on their mobile network signal strength, ranging from no signal to a 4G connection.
HeadphonesDelivers a message based on whether the user is using headphones or not.
VolumeDeliver messages based on the device media and/or ringer volumes.
Device Event*Contact your customer success manager for iOS support. Deliver a message after the user makes or receives a phone call or when they receive an SMS.
BrightnessDeliver a message based on the brightness of the environment around the phone (not the screen brightness).
ProximityDelivers a message if the face of the device is covered (e.g., upside down, beside someone's ear, in their pocket, etc.)
Device OrientationDetect the current orientation of the device.
NoiseThe message will only be delivered if the surrounding noise levels matches the set noise levels – this does require app permission to use the microphone which is rarely granted.


Attributes are used to personalize the content of a message with user info that is stored on their device. All attributes have a default fallback value that is used if no attribute data for a user has been set and so cannot be found.

Below is an example of a message using attributes to personalize the content. If the user's first name is found, it will be used - otherwise the default fallback of "friend" will be used.

Moustache example


Some predefined Attributes are shown below, but you are free to setup any Attributes you wish.

User's address line 1{{ user.addressLine1 | default }}
User's address line 2{{ user.addressLine2 | default }}
User's advertising ID{{ user.advertisingId | default }}
User's age{{ user.age | default }}
User's city{{ | default }}
User's country{{ | default }}
User's country code{{ user.countryCode | default }}
User's date of birth{{ user.dateOfBirth | default }}
User's first name{{ user.firstName | default }}
User's gender{{ user.gender | default }}
User's opt in for updates status "true/false"{{ user.optInUpdates | default }}
User's postal code{{ user.postCode | default }}
User's profession{{ user.profession | default }}
User's state{{ user.state | default }}
User's surname{{ user.surname | default }}
User's title{{ user.title | default }}
Android app's package name{{ app.packageName | default }}
iOS app's bundle ID{{ app.bundleId | default }}
The current device time in Epoch milliseconds{{ device.currentTime | default }}
Value of custom segment 1{{ segment.customSegment1 | default }}
Value of custom segment 2{{ segment.customSegment2 | default }}
Value of custom segment 3{{ segment.customSegment3 | default }}
Value of custom segment 4{{ segment.customSegment4 | default }}
Value of custom segment 5{{ segment.customSegment5 | default }}
Value of custom segment 6{{ segment.customSegment6 | default }}
Value of custom segment 7{{ segment.customSegment7 | default }}
Value of custom segment 8{{ segment.customSegment8 | default }}
Value of custom segment 9{{ segment.customSegment9 | default }}
Value of custom segment 10{{ segment.customSegment10 | default }}

API Users Only

User ID{{ user.userId | default }}