Skip to main content
A campaign sends one message (and optional follow-ups) to an audience — a list or a segment — from your sending numbers, with tracked links and compliance handled for you. The builder has three steps: Message → Audience → Delivery. A campaign is built first and sent on your command, so you can review everything before a single text goes out.

Pick a campaign type

The type sets how the campaign behaves after the first message. Choose it at the top of Message.

Step 1 · Message

1

Write the message

Type the text recipients receive. Two tools make it stronger:
  • Personalization tokens{first_name}, {link}, and any custom field as {token}, filled per contact.
  • Spin syntax{Hi|Hey|Hello} picks one option per send, so no two texts are identical (better carrier deliverability). The editor shows how many unique variants your message produces and warns if it’s over the 160-character segment.
2

Add a tracked link (optional)

Attach an offer (a destination with conversion attribution) or set a link domain + destination URL, and drop {link} in the message. The link is shortened on your link domain, every click is tracked, and conversions attribute back to the offer. See Link domains.
3

Save as a template (optional)

Save as template stores the message in your library to reuse in other campaigns.

Step 2 · Audience

1

Choose who to send to

Pick an audience source: a list (a static set you added contacts to) or a segment (a live, rule-based audience that updates itself). Build the list or segment first, then select it here.
2

Screen with suppression lists

Tick any suppression lists to keep those numbers off this send — on top of the automatic STOP opt-out that always applies.
3

Refine with audience filters

Narrow the audience without editing the list, each with a live count so you see the effect immediately:
  • Skip already-sent / already-replied / already-clicked (this offer) — don’t re-hit people you’ve already reached or who already engaged with this offer.
  • Skip replied in this campaign — avoid re-messaging responders.
  • Only people who replied to / clicked in ANY campaign — target only your already-engaged contacts.
The audience count updates as you change the source, suppression, and filters, so the number you see is exactly who will receive the campaign.

Step 3 · Delivery

1

Choose the sending number

Send from a number pool (rotates across several numbers to spread volume and protect deliverability — recommended for larger sends) or a single number.
2

Set the send rate

Send rate (MPS) controls how fast messages go out, in messages per second. Higher clears a large audience faster; lower is gentler on your numbers.
3

Add follow-ups

Depending on the type:
  • Instant reply (reply-based) — sent within seconds of a contact replying.
  • Response (click-based) — sent when they click.
  • Follow-up sequence — a drip of additional messages, each with its own delay and optional link/offer. Save a drip you like with Save sequence as template.
4

Schedule (optional)

Leave the schedule blank to start it yourself right after building, or set a date, time, and timezone to have it start automatically then.

Test, create, and start

1

Send a test

Enter your own number to send yourself a test of the message (with tokens and links resolved) before committing.
2

Create the campaign

Create builds the campaign — it does not send yet. (If you set a schedule, it’s created as scheduled and starts automatically at that time.)
3

Start it

Start the campaign to begin sending. Messages go out at your send rate, and you can pause/stop at any time from the campaign page.
Every send respects opt-outs, quiet hours, and your suppression lists automatically — a contact who replied STOP is never messaged, whatever the audience says. You stay compliant without extra steps.

Doing it over the API

Everything above is also available programmatically — see Create a campaign (POST /v1/campaigns) and Start a campaign (POST /v1/campaigns/{id}/start), or drive it in natural language through the MCP server.