Campaigns are the primary way to send push notifications through Firepanel. A campaign defines the notification content and sends it to a saved audience.
Campaigns List
Navigate to Messaging → Campaigns to see all campaigns for the project.
| Column | Description |
|---|---|
| Name | The campaign's name |
| Audience | The audience it targets |
| Status | Draft, Scheduled (shown as Recurring or Triggered when applicable), Sending, Sent, Partial, Failed, or Cancelled |
| Created | When the campaign was created |
| Sent | Once sent, a summary like "482/500 delivered · 12 failed · 6 pruned" |
Each row also offers Duplicate (copies the content and audience, but not the schedule) and Delete (blocked while a campaign is actively sending).
Creating a Campaign
Open the Campaigns tab
Navigate to Messaging → Campaigns and click New Campaign.
Name the campaign and pick an audience
Give the campaign a name, then select the audience it should send to.
Choose a schedule mode
Pick when the campaign should send — see Scheduling Modes below.
Write the notification content
Set the title, body, and image for the notification. To A/B test, add up to 5 variants with a percentage weight each — recipients are split between them automatically.
For each variant, you can:
- Add locale overrides (e.g.
pt-PT) so recipients see content in their own language, when the audience's token binding provides a locale - Use
@fieldplaceholders (e.g.@name) to personalize content from the matched recipient's document
If your app only reads the legacy data: { title, body } payload shape, turn on Legacy data-only payload so older app versions keep working.
Save, send, or schedule
Click Save draft to come back later, or Send / Schedule depending on the mode you chose.
Scheduling Modes
| Mode | Behavior |
|---|---|
| Send immediately | Sends as soon as you confirm |
| Schedule for later | Sends once, at a specific future date and time |
| Repeat on a schedule | Sends repeatedly on a cron expression and timezone you define, until cancelled |
| Trigger by date field | Sends per recipient, relative to a date field on the audience's own collection (e.g. 3 days before subscriptionEndsAt) — only available for a condition-based audience |
Sending & Confirming
Before a campaign actually dispatches, Firepanel resolves the audience and shows you the number of recipients it will reach (topic-based audiences can't show a count — FCM doesn't expose topic size). Click Send now to confirm.
Once sending starts, the campaign shows live progress as a percentage and a running count of recipients reached. You can Cancel a campaign mid-send, but recipients already reached will not be un-sent.
Viewing Campaign Stats
Click View stats on a sent campaign to see targeted, delivered, failed, and pruned-token counts, plus a breakdown of failures by FCM error code.
Note:
Test your notification with a device audience before sending to your full audience.