Skip to main content

Campaign Runs

A campaign run is a single execution of a campaign. Messages belong to a run rather than to the campaign, so one campaign can be sent many times, each send with its own messages, status and history. This page covers what a run holds, how runs are created, and what the run page shows.

What a Run Is

A run keeps its own copy of everything it needs to send independently:

  • The template, including the sender for SMS under Sender Selection
  • The contact source the campaign was set to, whether that is all contacts, a segment or an uploaded file
  • The messages, once they exist

Because the run holds its own copy, editing the campaign afterwards does not change runs that already exist. Historical runs stay a record of what was actually sent.

Dynamic Audiences

When and how a run's messages come into existence depends on the campaign's contact source:

Contact sourceWhen messages are built
FileWhen the run is created. The run spends a short time in Preparing while they are built, then moves to Ready to Run
All Contacts or a SegmentWhen the run starts, from the most recent contact data

A run against a dynamic source does not build its messages up front, so the recipients are worked out at the moment of sending. A contact added, corrected or removed between creating the run and starting it is reflected in what sends. The trade-off is that the exact recipient list is not known in advance, only estimated.

The Runs List

Opening a campaign shows its runs. Each row includes:

ColumnDescription
Run NameThe run's own name. The run description sits in an info tooltip beside it
MessagesThe number of messages in the run
StatusThe run's current status
CreatedWhen the run was created
Created ByThe user who created the run, or System Scheduled for automatically created runs
CompletedWhen the run finished, or - if it has not

A New Campaign Run button creates a run, and each row has an action menu whose options depend on the run's status.

Run Statuses

Runs move through a richer set of states than the campaign itself: Preparing, Scheduled, Ready to Run, Warming Up, In Progress, Complete, Some Errors, Setup Failed, and, for email, Active Retries. Each one is defined, with the transitions between them, in Run Statuses.

How Runs Are Created

There are three ways a run comes into existence.

Manually, from the campaign

Select New Campaign Run on the campaign. A modal asks for:

  • Name: the run's own name, so runs of the same campaign can be told apart, for example "Q2 Follow-up - May 2026".
  • Description (optional): context for this particular run.

It also previews the template that will be sent, including the sender, subject, body and any attachments for email. Creating the run takes you straight to it, so it can be reviewed and then started now or later.

An unavailable sender does not block run creation

Under Sender Selection, a run can be created whether or not its sender is currently available. The sender is checked twice around starting instead, once when start is selected and again when sending is due to begin, so a temporary sender problem never stops you preparing work. See Sender validation.

A missing sender is a different matter. Where the campaign's template has no sender at all, which happens when a brand that supplied one has since had it cleared, the run cannot be created. See A template with no sender.

Automatically, on a Repeat schedule

When a campaign has a Repeat schedule, runs are created and started automatically at each occurrence. Automatic runs:

  • Are named {Campaign Name} - Run and inherit the campaign's description, so they are identifiable without any manual input.
  • Show System Scheduled as the creator rather than a user, so scheduled sends can be told apart from manual ones.
  • Respect the campaign's selected timezone, for Repeat schedules and for runs started later alike.

An automatic run is created as normal even if the campaign's sender is no longer available. If the sender is still missing when sending is due to begin, the run moves to Setup Failed and an email goes to the campaign owner, so a broken schedule never fails silently.

By duplicating an existing run

A past run can be duplicated to send again using that run's own copy of the template and its values, rather than the current campaign definition. This repeats a previous send even if the campaign has been edited since.

Duplicating prompts for a name (required) and a description, defaulted to {Campaign Name} - Run Copy and the campaign's description. The template and values can be reviewed before confirming.

The Run Page

Opening a run shows what it will send, or has sent.

The audience summary

For a run against all contacts or a segment, an audience summary sits at the top:

FigureWhat it counts
Total ContactsEvery contact the source covers
SMS ReachableContacts holding a phone number identifier value
Email ReachableContacts holding an email identifier value
Estimated recipientsThe reachable figure for the campaign's own channel

Alongside these, last refreshed tells you how current the figures are, and a Refresh now link recalculates them. The figures are a forecast of the send rather than the recipient list itself, so refresh them when the number is the thing you are checking.

A run against a segment recalculates that segment before it works out who to send to, so the send itself is built from current membership even when the figures on screen are older. See Refreshing a Segment.

Messages

Until a dynamic run starts, the messages area explains that messages are generated at run start from the most recent contacts, so there is nothing to list yet.

Once messages exist, the run page shows:

  • A progress panel with grouped count panels (Total, Queued / Sending, Sent / Delivered, Failed / Opted Out) and a progress bar. It can be collapsed, and a Refresh button pulls the latest status.
  • A messages table listing every message with its recipient, last change, status, priority, values and date. Messages can be searched, filtered, sorted, retried and exported.

See Monitoring and Messages for the full run view, and Starting a Run for starting one.

The Audience Page

A view audience link on the run page opens the run's Audience page, which lists the contacts behind the run. It is available to every role that can see the campaign, so a Campaigner can open it as readily as a Campaign Manager.

The link appears for the two dynamic sources only. A run built from an uploaded file has no audience page, because its recipients are the rows of the file and they are listed in the messages table instead.

Message Priority

Messages within a run are Normal or High priority. Priority is set per row in an uploaded contact file and mapped on the audience step, so it belongs to campaigns whose contact source is a file. When a run starts, its high-priority messages are dispatched ahead of normal-priority messages in other active runs.

Priority is not supported for the two dynamic sources. Every message in a run against All Contacts or a segment sends at Normal, the default.

See Message Priorities for what priority does and does not change, and how to filter, sort and export a run's messages by it.

Cancelling Runs

  • A run in Scheduled can be cancelled. It reverts to Ready to Run rather than being deleted, so the prepared run is kept and can be started manually later.
  • A run in Warming Up can be cancelled, returning it to Ready to Run with no messages sent, so a mistake caught early costs nothing.

Next Steps