Skip to Content
Product guidesPush campaigns

Push campaigns

A push campaign creates a versioned broadcast message and a durable delivery fan-out. Draft editing uses optimistic revision checks so two editors do not silently overwrite each other.

Engage push campaign inventory with state, audience, schedule, target apps, and delivery metrics
Campaign inventory separates drafts and scheduled work from immutable sent revisions and their results.

Compose content

Define fallback title/body and optional image. Add locale variants and a default locale. Platform overrides can customize:

AndroidiOS
title, body, imagetitle, body, image
channel keycategory key
category keythread ID
notification tagsound
tap actionabsolute badge (0 clears)

Tap behavior is one of open app, deep link, web URL, or custom action. Custom data is a bounded string map delivered with the message.

Engage push campaign composer with content, action, audience, delivery steps, platform selection, and device preview
The composer keeps authoring steps and platform preview together before audience and delivery are finalized.

Select audience and apps

Target all eligible profiles or a structured audience/segment expression, then select the apps. Optionally require a subscription list. The exact audience expression is stored on the broadcast revision for auditability.

Delivery policy

  • Priority: normal or high. Reserve high priority for time-sensitive user-visible messages.
  • TTL: how long a provider may attempt delivery.
  • Collapse key: replace older pending messages in the same logical stream where supported.
  • Schedule: immediate or future time.
  • Recipient timezone: optionally deliver relative to each recipient’s timezone.

Test before send

Send to a test group and verify on real devices:

  1. Android and iOS rendering;
  2. foreground, background, and terminated state;
  3. locale fallback;
  4. image fallback;
  5. notification channel/category;
  6. deep link, URL, and custom action;
  7. open/dismiss/action analytics;
  8. only one notification per delivery.

Lifecycle

Campaign status moves through draft, scheduled, sending, sent, failed, or canceled. Sending snapshots the revision and audience. Dispatch shards page the audience and enqueue per-installation deliveries into the durable outbox. Canceling prevents remaining eligible work but cannot retract notifications already accepted by a provider.

Metrics

The campaign detail separates:

  • targeted profiles;
  • accepted deliveries;
  • provider/device delivered receipts;
  • opens and open rate;
  • failures and latest provider diagnostic per app.

Do not interpret accepted as delivered. FCM/APNs acceptance only means the provider accepted the request.

Sent Engage campaign detail with targeted, accepted, delivered, open, provider diagnostic, audience, and delivery policy data
A sent revision preserves its exact content, audience, delivery policy, app targets, and provider diagnostics for investigation.