> ## Documentation Index
> Fetch the complete documentation index at: https://docs.getstell.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Campaigns

> Send one-off push messages to your customers' wallet passes

A **campaign** is a one-off push message — an offer, an announcement, a reminder — sent to an audience you choose. In the sidebar, campaigns live under **Push**.

<img src="https://mintcdn.com/stell/C_zhUrQoTUQsZ2Th/images/portal/engage/campaign-new.png?fit=max&auto=format&n=C_zhUrQoTUQsZ2Th&q=85&s=979bd0545c784d4f3102951709e42a89" alt="Create a campaign" width="2880" height="1800" data-path="images/portal/engage/campaign-new.png" />

## Send a message

Creating a campaign is a four-step flow: **Segment → Message → Schedule → Review**.

<Steps>
  <Step title="Choose your audience">
    Pick **All Pass Holders** to reach everyone with your pass installed, or **By Segments** to target specific [segments](/engage/contacts-and-segments). The **Estimated Reach** card shows how many pass holders can actually receive the message.
  </Step>

  <Step title="Write the message">
    Up to 150 characters. Use the **Insert variable** picker to personalize — for example a first name or points balance — and watch the preview show how the notification lands on a customer's lock screen.
  </Step>

  <Step title="Schedule delivery">
    * **Send Immediately** — notifications go out right away.
    * **Send at a Scheduled Time** — pick a date, time, and timezone.
    * **Send Recurring** — repeat daily, weekly, or monthly from a start date.
  </Step>

  <Step title="Review and send">
    Check the audience, message, and schedule summary, give the campaign a name, and click **Send Campaign** (or **Schedule Campaign**). You can also **Save as Draft** to finish later.
  </Step>
</Steps>

## Following up

Open a campaign to see its details and delivery stats — how many notifications were delivered and the audience, message, and schedule it ran with. Sent campaigns are read-only; every individual notification also appears in the [notification history](/engage/notifications).

## Tips

* Personalized messages perform better — `Hi {{firstName}}` beats a generic blast.
* Scheduled sends respect the timezone you pick, so a 09:00 send arrives at 09:00 local to that timezone, not to each recipient.
* Reach only counts customers with the pass installed. If reach looks low, your customers may have [Pre-Active or Inactive passes](/passes/lifecycle).
