Using Engage Studio’s Mobile Push Notification feature, you can send notifications to Android and iOS app users via Firebase Cloud Messaging (FCM). This guide explains how to configure, send, and verify Android push notifications through the following steps:
Define your delivery target and objective
Create and configure a campaign
Send test messages and verify on devices
Confirm delivery, open, and click tracking (Mobile App development is required.)
Your Android and iOS app must already be configured with FCM integration and event delivery to Treasure Data. For implementation details, please refer to the Developer Guide.
Firebase Cloud Messaging Account
Apple Developer Account
In Engage Studio, you can create a new Mobile Push campaign from the Campaigns screen. This section walks you through the process of setting up your first push campaign.
Navigate to Messaging -> Campaigns from the left navigation bar.
Click + New Campaign in the upper right corner.
In the Create Campaign dialog:
- Select Mobile Push Notification as the delivery channel.
- Enter a Campaign Name (e.g., “Android Promo Push”).
Click Create to open the Mobile Push Campaign.

In the Target Audience tab, select Audience Segment.
Choose an existing Parent Segment from the list and choose Target Segment
Review the total number of target devices and click Apply.
Once the campaign is created, you’ll be taken to the Mobile Push Editor screen. Here you can define the notification’s appearance, content, and behavior when tapped.
| Field | Description | Example |
|---|---|---|
| Title | The title displayed in the notification bar. Keep concise and clear. | "Exclusive Offer for You!" |
| Message | The main message text displayed under the title (1–2 lines recommended). | "Tap to get 20% off your next order." |
| Image (optional) | A thumbnail or rich image displayed in the notification. Must be a valid HTTPS URL. | https://cdn.example.com/banner.png |
| On-Click Behavior | The On-Click Behavior setting defines what happens when the user taps the notification. |
|
| Tips |
| "{{profile.first_name}}" |
For deep links or custom actions, your mobile app must implement link handling logic. On Android, confirm that the URI scheme is declared in the AndroidManifest.xml (<intent-filter>). On iOS, ensure the scheme or universal link is registered under Associated Domains in Xcode.


In the Delivery Schedule tab, under Schedule, you’ll find two delivery timing options:
| Option | Description | Typical Use Case |
|---|---|---|
| As soon as the campaign is launched | Sends immediately after you click Publish or the activation triggers. | Real-time announcements, flash sales, alerts |
| At a designated time | Sends the campaign at a specific future date and time. | Planned promotions or time-based notifications |
For large campaigns, schedule delivery at least several minutes in advance to allow queue preparation and FCM token validation.
You can optionally receive an email notification once the campaign is sent or completed.
| Field | Description |
|---|---|
| Email notifications to | Add one or more recipient email addresses to receive delivery updates. |

The Activation Details section defines how Engage Studio connects your Mobile Push campaign to the delivery pipeline. Here, you specify the technical configuration for message delivery, including authentication, data structure, and parallelism settings.
| Field | Description | Example / Notes |
|---|---|---|
| Activation name | System-generated unique identifier for the activation. Used internally in logs, event tracking, and API calls. | engage_campaign_019a63d178bd748584588f368563db8d |
| Enable activation actions | Toggles whether this activation can execute deliveries. When disabled, the campaign remains in Draft even if published. | |
| Authentication | Specifies which authentication (Engage connector) is used for delivery logging. | |
| Event ID | Unique event identifier for tracing logs and delivery events across systems such as delivery-api and Plazma. | 019a63d1-78bd-7485-8458-8f368563db8d |
| JSON columns | Defines one or more audience columns that contain JSON-formatted data used for personalized content rendering in Engage Studio. These columns allow dynamic objects (arrays, maps) to be passed directly into message templates. | product_items |
| Batch size | Number of records processed per batch when sending notifications. Larger batches increase throughput but may affect reliability. | 1000 (default and max), 1 (min) |
| Thread count | Number of parallel threads used for concurrent message sending. Increase for high-volume campaigns. | 1 (default), 10 (max) |

Before sending a Mobile Push campaign, Engage Studio must know which audience attributes should be passed to Firebase Cloud Messaging (FCM) or Apple Push Notification Service (APNs). This is configured in the Output Column Mapping section of the campaign editor. Output mapping defines how audience data columns (from the segment or workflow) correspond to delivery payload fields. During campaign execution, Engage Studio dynamically replaces these fields with user-specific values for each recipient record through Liquid syntax ({{profile.attribute_name}}).
The token column in output column name is mandatory for delivery. FCM and APNs require this field to uniquely identify each target device.

In the campaign editor, open the UTM Tracking tab.
Toggle Enable Auto UTM Tracking to ON. Once Enabled, all URL link in the content and Web URL link will have URL parameters with these UTM parameters.
Review or customize the available fields:
| Field | Description | Default Value | Editable |
|---|---|---|---|
| utm_id | Internal campaign identifier | campaign_id | ❌ |
| utm_medium | Fixed channel type | push | ❌ |
| utm_source_platform | Identifies Treasure Data as the origin system | treasuredata | ❌ |
| utm_source | Custom source descriptor (e.g., "app", "android") | treasuredata | ❌ |
| utm_campaign | Logical campaign name for analytics grouping | (empty) | ✅ |
| utm_marketing_tactic | Optional tag for marketing objective | (empty) | ✅ |
![]()
When you click Save and Launch, Engage Studio automatically prepares and sends your Mobile Push campaign based on the configurations you’ve set. The following steps describe what happens behind the scenes — and what you, as a marketer, can expect to see in the Console.
| Step | What Happens | What You Can See / Do |
|---|---|---|
| 1.Validation | Engage Studio automatically checks all campaign settings before launch — audience, device tokens, authentication, content, and schedule. | If an error is found, the system displays a clear message guiding you to fix it. |
| 2.Audience Preparation | The platform loads your target audience data and prepares each recipient's information for message delivery. | The campaign status changes to Launching. |
| 3.Message Generation | Engage Studio builds personalized push notifications for each recipient, combining static content with audience attributes or JSON column data (e.g., product recommendations). | You can preview personalized examples using the Preview function. |
| 4.Delivery Execution | Notifications are sent according to your defined schedule — either immediately or at the selected date/time. | The campaign status updates to Running. |
| 5.Completion | Once all notifications have been sent, Engage Studio marks the campaign as complete. | The status changes to Completed. |
| 7.Email Notification (Optional) | If email notifications are enabled, a delivery summary is automatically sent to your team members. | Useful for sharing delivery results internally. |