Push Campaigns and Templates

KB
Version 36
Updated 5 months ago
View in Confluence

Content

Introduction

In this guide you’ll learn about: 

  • Push Notification Templates

  • Push Notification Test Devices

  • Creating Push Notification Campaigns


1. Integration with the Notification Component

Before starting, coordinate with the backend team via the #notifire or your #game-backend channel to align on plans and deadlines.

Steps for Integration

  1. Localised Push Notifications : Upload new localisation keys with “Push Notification” type (Title and Body separately).

  2. Create Push Notification Templates in Harmony.

  3. Set Up Offline Segments (minimum: All users active in the last 90 days).

  4. Create Push Notification Campaigns to target desired user segments.

Devices with Push Notification Package Update

  • App sends an API request /push_token/submit to the notification component of Harmony.

  • The platform registers the new device.

  • Any updates to device data/permissions are synced automatically.

Reactor (Notification package)

Here you can find information about latest updates of the package and their release notes:


2. Push Notifications Localisation

The notification component of Harmony supports localised push notifications. These keys ensure that push messages are correctly translated and displayed to users based on their language settings.

Steps for Integration

  1. Define Localisation Keys : Push notifications require specific localisation keys for different languages.

  2. Upload Localisation Keys :

  3. Link Localisation Keys to Templates : Configure templates to use the correct keys based on the language preferences.

  • Keys are synchronised every few hours (only Live keys).

  • Click [Sync Localisation Keys] on the T _ emplate/Campaign _ Page for immediate updates.


3. Push Notification Templates

The notification component of Harmony supports localised and non-localised templates.

Steps to Add a New Template

  1. Navigate to Templates

  2. Create a New Template

  3. Enter Template Details

  4. Define “Title” and “Body” for notification template

  5. Save the Template

  6. Additional Options

Test Push Notifications

  • If the template if localised, admin is able to select the language in which test notification will be sent.

  • App events for test push notifications are marked with “test_push” prefix in payload so it is possible to differentiate them from campaign ones.

Archiving & Reactivating Templates

  • Archived templates appear at the bottom of the list.

  • Cannot be archived if linked to an active campaign.

  • Archived templates cannot be reactivated.


4. Test Devices in the Notification Component

Creating and Managing Test Devices

  • Navigate to Test Devices

  • Create a New Test Device

  • Enter Test Device Details

  • Save the Test Device

Overriding Timezone and Language for Test Devices

Impact on Campaigns

  • Test devices in local time campaigns will receive notifications according to the overridden timezone offset.

  • Test devices in localized campaigns will receive notifications according to the overridden language.

  • Note that this setting only affects the Tester Device section and does not impact audience notifications defined by Offline Segments from Player Service nor does it affect timezones settings.


5. Offline Segments in Player Service

The Notification component relies on Offline Segments , which are updated once per day at 6 AM UTC.

  • Segments : Update dynamically based on user actions.

  • Offline Segments : Static, updated daily.

The base offline segment is defined as “All users active in the last 90 days.”

This segment serves as the foundational audience for targeting and is maintained separately from other segment lists.


6. Push Notification Campaigns

Campaigns List Page

  • Available actions:

Notification Preview in Campaign List View

You can now quickly view the content of notifications sent by each campaign directly from the list view.

Single Template Campaigns

  • If the campaign uses one template:

Multiple Template Campaigns

  • If the campaign includes more than one template:

  • To create a new campaign:
    Click [+New]:

Creating Campaigns

Fields:

| Field | Options | Description |

| --- | --- | --- |

| Name * |   | The name of your experiment. |

| Status * | - Active - Inactive - Archived | Active Campaign is live and affects users. Inactive Campaign is inactive and doesn’t affect users. Archived When the campaign is no longer needed, the PM should change its status to “Archived”. Archived experiments are not editable. You can archive your campaign using the yellow [archive button] (blue star) on list view. |

| Availability State * | - Test - Live | Test In the Notification component, the "Test" environment is primarily used for permissions management rather than conventional non-production testing. Note that if you select a Live segment in a test campaign, the push notifications will be sent to real players. Live The production environment accessible to real users. Changes in this environment directly affect players and data |

| Start At * |   | Campaign start date. By default, the system will start the campaign at the time & date assigned in UTC. You can switch the toggle to “Local” to change this. Note: This toggle affects the Time to send field, not the Campaign Start At field. |

| End At |   | Campaign end date. End date is optional, you can leave it empty. |

| Platform * | - All - iOS - Android | By default push notifications will be sent to all platform, but you can set additional filter per platform. |

| Audience * | List of available Offline Segments for the game | Here you define the audience of the campaign. For test campaigns, audience is optional. For live campaigns, only live offline segments are allowed. |

| Rules | - Country - Language - Media source - Current game version | Over specified Offline Segment you are able to add additional rules. For now only a few are supported. If player from the offline segment doesn’t match the rules → they won’t receive push notification from the campaign. - Country (IN/NOT IN) – Users without country data do not receive notifications. - Game Version (>=, <=, >, <) – Set minimum/maximum version. - Media Source (IN/NOT IN) – Users without this data do not receive notifications. - Language (IN/NOT IN) – Users without language data do not receive notifications. The language rule follows the same logic as in GS: Multiple Rules - AND logic applies when multiple rules are selected. |

| Test devices | List of available Test Devices for the game | If you want to check the campaign and receive push notification skipping Audience validation, you are able to add your Test Device to the campaign. To configure language and timezone at a campaign-level for a test device, refer to this section. In case your device is included in the specified Offline Segment and added as a Tester Device to the campaign, you will receive two notifications. |

| Notification template * | List of available templates for the game | As soon as you select the template, you will be able to preview the notification message. If you select localised template, you will additionally have possibility to check the messages for any language in the system. If translations are not set for some language, English fallback will be shown and sent to the players. |

| Time to send * | - Local - UTC - Mode Login Hour | You can now choose from three options to schedule delivery: Local (default) Campaigns will send notifications based on each player's local timezone. Notifications are delivered at the configured time according to the player’s device timezone. UTC Notifications are sent at the same absolute time worldwide, based on Coordinated Universal Time (UTC). Mode Login Hour Campaigns can be configured to send notifications based on a player's most active login hour, with an optional offset between -23 and +23 hours. - Offset : Adjust the send time relative to the player’s Mode Login Hour (e.g., offset -2 sends 2 hours before their peak login hour but in UTC time). - Fallback : A fallback time (Local or UTC) is required. It is used for players who do not have a defined Mode Login Hour. The “Mode Login Hour” option is only available for games where this feature has been enabled. To enable this feature for your team, contact the backend team. image-20250605-142540.png |

| Recurrence * | - One off - Every X minutes - Every X days - Every X weeks - Monthly on | One off → For the campaign push notification will be sent only once Every X minutes → Push notifications will be sent every X minute(s) Every X days → Push notifications will be sent every X day(s) Every X weeks → Push notifications will be sent every X week(s). You can also specify specific days (multiple days can be selected) of the week the campaign will be sent. Monthly on → You can schedule monthly campaigns by first selecting the week of the month (e.g., first, second) and then choosing the day(s) within that week. Example: A campaign set to run on the first Friday of each month runs on April 4th and May 2nd. |

| Capping and Cooldown | Per user cap : Enter an integer value to set the total number of times a user (device) can receive the notification. For example, a value of 3 means the user will only ever receive the notification up to 3 times. A value of 0 means there's no cap. Cooldown between sends : Define how much time must pass before the same user can receive the notification again. This can be set in days, hours, and minutes. For example, setting a 15-day cooldown ensures the user won’t be notified again until 15 days have passed since the last send. | You can now manage how frequently users receive push notifications from a campaign by configuring per-user caps and cooldowns. - The per-user cap limits the total number of times a user (or device) can receive a notification from the same campaign (e.g., a cap of 3 means the user can only be notified 3 times total). - The cooldown sets a minimum time gap between sends to the same user (e.g., a 15-day cooldown ensures a user won’t receive another notification from the campaign until 15 days have passed). Example: A campaign is set to run every Wednesday and Friday with a 15-day cooldown. - Week 1: Notification is sent on Wednesday (15-day cooldown starts). - Week 2: No notification is sent (cooldown still active). - Week 3: Notification is sent on Friday (first day after cooldown ends). - Week 4: No notification is sent (cooldown restarts from Week 3 Friday). |

| iOS Overrides | Wake iOS App in the Background checkbox | This configuration enables the iOS app to be awakened in the background automatically. It ensures that the app processes incoming notifications, updates, or background tasks even when the user isn't actively engaging with the app. |

| Additional Data | | You are able to set up any amount of additional data that will be sent in the payload of the push notifications, ex. sending daily bonus, open some specific page. |

Campaign-Level Language and Timezone Configuration for a Test Device

  1. Add a Test Device to your campaign.

  2. Click the Edit icon next to the added test device.

  3. In the popup:

  4. Click Apply to save the configuration.

  • Both language and timezone offset are mandatory.

7. Settings

In Notification Component, users can exclude specific audience groups from receiving push notifications. This allows for analysing the uplift generated by push notifications.

The Settings sub-menu under Push Notifications provides the option to configure a holdout group.

Refer the Configuring Holdout Groups for Push Notifications in Harmony for more details.

8. Launch Analytics in Campaign Actions

The Launch Analytics function provides insights into the performance of a campaign’s push notifications. It allows you to track real-time and historical data on notifications sent and skipped for each campaign launch.

Key Features:

  • Current Launch Summary: Displays details about the latest campaign launch, including the number of notifications sent and skipped.

  • Completed Launches: Lists previous launches, showing trends in push notification performance over time.

  • Sent & Skipped Metrics: Breaks down notifications by platform, highlighting successful deliveries and skipped messages.

  • Trend Indicators: Shows percentage increases or decreases in sent notifications compared to previous launches.

How to Access:

  1. Navigate to the campaign list.

  2. Under Actions , select [Launch Analytics] for the desired campaign.

  3. View detailed statistics for the current and past launches.

Monitoring Campaign Launch Statistics

For each campaign launch, the system tracks and stores key statistics related to push notifications. This data helps in analysing the performance of push campaigns and assists the BI team in creating dashboards for monitoring.

Stored Metrics

After each campaign launch, the following statistics are recorded:

  • Sent – The total number of notifications successfully delivered to players.

  • Failed – The number of notifications that the system attempted but failed to send.

  • Disabled – The number of notifications that could not be sent because push notifications were disabled on the player's device.

  • Skipped – The number of notifications that were not sent because the device was unregistered or disabled in SNS.

Local Time Campaigns

For campaigns scheduled based on local time, these statistics are updated hourly for the most recent launch while the system continues to send notifications.

Tracking ‘Not Found’ Device Statistics in Campaign Launches

To improve visibility into push notification delivery issues, the notification component now tracks cases where a device exists in a campaign’s segment but is not found in the database at the time of the campaign run.

Stored Metrics

When a campaign is launched, the system captures how many device records could not receive a push notification due to missing data. These statistics are stored in the following tables:

  • campaign_launch_stats – Stores the count of devices not found during a campaign launch.

  • campaign_launch_runs – Stores the count of devices not found during each campaign run.


Chunks 0

No chunks generated yet

Chunks will be generated automatically

Details

Confluence ID
4038262855
Space Key
Version
36
Created
November 06, 2025 at 11:34 AM
Last Updated
November 06, 2025 at 11:34 AM
Last Modified (Confluence)
July 22, 2025 at 10:01 AM
Content Size
15.3 KB