> For the complete documentation index, see [llms.txt](https://docs.shortcutco.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.shortcutco.com/readme/automations/campaign-activity-and-receipts.md).

# Campaign results, activity, and receipts

Read a campaign's results, find any customer's run, open the exact message that was sent, and stop, restart, or archive a campaign.

Every campaign keeps a full record of what it did, down to the exact message each customer got. This page covers where to look, what the numbers mean, and how to stop a campaign.

## The campaign page

Click a campaign on the list to open it. The header shows its name, a one-line summary (e.g. *Invoice paid · Once per customer*), and a status badge: **Draft**, **Active**, **Stopped**, or **Archived**, plus **Draft changes** if there are saved edits that aren't published yet. The buttons on the right are **Edit** and **Review & publish**.

It has four tabs:

* **Overview**: results. This is where live campaigns open.
* **Workflow**: the flow itself, the test message, and the Stop / Archive controls. This is where drafts open.
* **Activity**: every run, message, action, and start decision.
* **Settings**: a read-only summary.

## Overview

**Messages** covers every message the campaign has tried to send, over its whole life:

| Tile                      | Counts                                                                                                         |
| ------------------------- | -------------------------------------------------------------------------------------------------------------- |
| **Sent**                  | Messages the email or text provider accepted, out of every message the campaign tried to send, e.g. *12 of 15* |
| **Scheduled**             | Messages waiting to go out                                                                                     |
| **Skipped**               | Messages that didn't apply, such as an opt-out, no address, or an **Only run when** condition that wasn't true |
| **Delivered**             | Messages the provider confirmed delivered                                                                      |
| **Awaiting confirmation** | Accepted by the provider, but no delivery report yet                                                           |
| **Failed**                | Failed or bounced, before or after the provider accepted it                                                    |

A delivered message is also a sent message, so don't add **Sent** and **Delivered** together.

**Runs** counts each trip through the campaign. **Completed** means the run reached the end, not that every message in it was delivered.

| Tile          | Meaning                                                                                  |
| ------------- | ---------------------------------------------------------------------------------------- |
| **Waiting**   | In progress. Usually sitting on a delay, a date wait, or a sending window.               |
| **Completed** | Reached the end.                                                                         |
| **Stopped**   | Ended early by Stop, an exit, a date that passed or moved, or someone stopping that run. |
| **Failed**    | Couldn't continue. Needs a look.                                                         |

Click any tile to jump to **Activity**, already filtered to those items.

**By step** lists each step with how many runs reached it, and how many were delivered, skipped, or failed there.

**Recent messages** shows the latest eight messages. Click **All activity** for the full list. An empty list isn't a problem: a campaign that nobody has qualified for yet is healthy, not broken.

**Start checks** appears only when something is off with how the campaign finds people. For a short while after publishing you may see *N audience/date checks are establishing their baseline*; that's normal. *N matches have missing or uncertain facts and cannot start yet* means Shortcut doesn't have information one of your rules needs (see [Build rules](/readme/automations/build-and-publish-a-campaign.md#build-rules)). If some event decisions need attention, click **Inspect event decisions**.

## Activity

**Activity** has four views:

* **Runs**: each customer's trip through the campaign
* **Messages**: every email and text
* **Actions**: tasks, notifications, tag and field changes
* **Event starts**: every time a matching event happened, and whether it started a run

Filter by status with the dropdown next to them, and click **Refresh** to reload. To find one customer, open **Advanced filters**, type their **Customer name**, and click **Apply filters**. Results come 50 at a time; click **Load more** for the next batch.

<details>

<summary>All filter options</summary>

| View             | Status options                                                                                                                                  |
| ---------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |
| **Runs**         | Active, Completed, Stopped, Failed, Needs attention                                                                                             |
| **Messages**     | Sent (provider evidence), Sending, Accepted by provider, Delivered, Bounced, Failed, Outcome unknown, Skipped, Retry requested, Needs attention |
| **Actions**      | Completed, Waiting, Skipped, Failed, Needs attention                                                                                            |
| **Event starts** | Started, Did not match, Repeat limit, Already running, Before activation, Needs attention                                                       |

**Advanced filters** adds:

* **From** / **Through** (in your device's timezone)
* **Published version**
* **Channel** (Messages only)
* **Step ID**
* **Customer name**
* **Object ID**: an invoice, visit, property, or other record ID

Click **Apply filters** to use them or **Clear filters** to reset.

</details>

What each view is for:

* **Event starts** answers "why didn't this start?":
  * **Did not match**: the event didn't meet the start's conditions, or the customer already met an exit.
  * **Repeat limit**: they already ran through, or are inside the cooldown.
  * **Already running**: a run for the same customer and record is in progress.
  * **Before activation**: the event happened before the campaign went live.
* **Runs**: click **›** on a row to open the run.
* **Messages** and **Actions**: click **›** on a row to open its receipt.

## The run drawer

A run opens in a panel on the right. On a phone it fills the screen. The panel shows:

* **Run · \[customer]** and its status
* **Started**, **Ended**, and **Reason**, e.g. why it stopped
* **Version**: *v2 — this run keeps its version even if a newer one is published*
* **Steps so far**: every message and action this run produced, in order, each with its status. Click **Receipt** on a message to open it. **← Run** brings you back.

For a run that's still active:

* **Stop this run** ends this run only. Other runs and other campaigns aren't affected, and messages already sent can't be recalled.
* Active rows in **Runs** also have a **Stop** button.

Both take effect immediately, without a confirmation. Press **Esc** or click outside the panel to close it.

## The message receipt

A receipt is the permanent record of one message or action:

* **Header**: **Message receipt**, the customer, the status, and the campaign version it came from.
* **Content**: exactly what was sent, captured at the time: the recipient (**To:**), the subject, and the text. It isn't rebuilt from today's customer details or today's template, so it's what the customer actually got. Images and tracking links aren't loaded when you view it.
* **Tasks**: receipts for task steps include **Open task: \[name] · \[status]**. It opens the customer's profile and highlights that task under **Tasks**. If the task has since been deleted, you'll see *That task was deleted.*
* **Delivery evidence**: each attempt (for example **Attempt 1 · sendgrid**) and what the provider reported:
  * **Sent evidence**: the provider accepted it.
  * **Confirmed delivery evidence**: the provider confirmed delivery.
  * **Reported open engagement (not verified human action)** and **Reported click engagement (not verified human action)**: the provider's open and click reports. Mail apps can trigger these on their own.
  * Each line shows **occurred** (when the provider says it happened) and **received** (when Shortcut heard about it). For texts, the first time is when Shortcut observed it, shown as **observed**.
* **Technical details**: the raw record, if support asks for it.

### Retry

**Retry** only appears when it can't cause a duplicate. The provider must have definitely rejected the message, the customer's run must still be waiting on that step, and the campaign must still be live.

If the outcome is unknown (the provider may or may not have sent it), Shortcut won't offer a retry, so the customer isn't messaged twice.

## What the statuses mean

| You see                            | Meaning                                                                                                                         |
| ---------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- |
| **Scheduled** (tile) / **Sending** | Queued to go out: waiting on its step, a text held until 8:00 AM, or being handed to the provider.                              |
| **Accepted by provider**           | The email or text service took it. Not yet confirmed delivered.                                                                 |
| **Delivered**                      | The provider confirmed delivery.                                                                                                |
| **Awaiting confirmation** (tile)   | Accepted, but no delivery report yet.                                                                                           |
| **Outcome unknown**                | Shortcut couldn't tell whether the provider sent it. It won't be retried automatically.                                         |
| **Skipped**                        | Didn't apply: opted out, no usable address, or an **Only run when** condition that wasn't true. The reason is shown on the row. |
| **Bounced** / **Failed**           | Didn't get there.                                                                                                               |
| **Retry requested**                | You clicked **Retry** and it's queued.                                                                                          |

## Stop, restart, archive, and restore

On the campaign page, the **Workflow** tab ends with a **Lifecycle** box. It has **Stop**, **Restart**, or **Restore**, depending on the status, plus **Archive**. The same actions are on the list's **⋮** menu. Each one asks you to confirm first (**Confirm Stop**, **Confirm Restart**, and so on), and **Cancel** backs out.

| Action      | What happens                                                                                                                                                     |
| ----------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Stop**    | No one new starts, and runs in progress end now. Messages a provider has already accepted may still be delivered and can't be recalled. History stays available. |
| **Restart** | New matches start again. Stopped runs don't resume, and customers who matched while it was stopped aren't enrolled.                                              |
| **Archive** | No new starts, and the campaign is hidden from the list. Its activity history is kept.                                                                           |
| **Restore** | Brings an archived campaign back as **Stopped**. Click **Restart** to run it again.                                                                              |

A few things to know:

* Stopping doesn't pause runs; it ends them. Restarting doesn't pick them back up.
* Publishing a new version of a stopped campaign doesn't restart it.
* To find an archived campaign, tick **Archived** in the **Status** filter.
* If this campaign replaced the day-before reminder, stopping or archiving it means **no** day-before reminders go out until you restart it.

## Settings tab

A read-only summary: **Starts**, **Repeats**, **Stops early when**, **Sending window**, **Timezone**, **Versions**, and **Cooldown**. **Sending window** lists the campaign's sending-window steps, if it has any, and notes that customer texts are always held to 8:00 AM–8:00 PM in the campaign timezone.

You can't change anything here. Click **Edit in Workflow** to make changes in the flow itself.

## On your phone

In the Shortcut mobile app, company admins can open Automations to watch campaigns. The list says *Custom campaigns are managed on the web for this company. You can still monitor and stop runs here.*

On a campaign you can:

* read **Overview**, **Activity**, and **Settings**
* open run and message drawers (full screen)
* **Stop** or **Archive** the campaign from **Workflow**
* **Stop this run**

Building, editing, and publishing are done on the web.

## Related pages

* [Automations](/readme/automations.md)
* [Build and publish a campaign](/readme/automations/build-and-publish-a-campaign.md)
* [Troubleshooting: an automation didn't fire](/readme/automations/troubleshooting-an-automation-didnt-fire.md)
