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

# Campaign results

> Read a campaign's delivery, engagement and credit results per channel, and see which channel reached each recipient first.

export const DemoVideo = ({id, title, embedUrl, src, poster, duration}) => {
  if (embedUrl) {
    return <figure className="brd-media" data-media-id={id}>
        <iframe className="brd-media-frame w-full aspect-video" src={embedUrl} title={title} allow="accelerometer; autoplay; clipboard-write; encrypted-media; picture-in-picture" allowFullScreen />
      </figure>;
  }
  if (src) {
    return <figure className="brd-media" data-media-id={id}>
        <video className="brd-media-frame w-full aspect-video" src={src} poster={poster} controls playsInline preload="metadata" />
      </figure>;
  }
  const label = duration ? `Video walkthrough coming soon · ${duration}` : "Video walkthrough coming soon";
  return <Placeholder id={id} kind="video" label={label} description={title} ratio="16 / 9" icon={<PlayIcon />} />;
};

export const Screenshot = ({id, src, srcDark, alt, caption}) => {
  if (!src) {
    return <Placeholder id={id} kind="screenshot" label="Screenshot coming soon" description={alt} icon={<ImageIcon />} />;
  }
  return <figure className="brd-media" data-media-id={id}>
      <img className="brd-media-frame block dark:hidden" src={src} alt={alt} />
      <img className="brd-media-frame hidden dark:block" src={srcDark || src} alt={alt} />
      {caption && <figcaption className="brd-media-caption">{caption}</figcaption>}
    </figure>;
};

See how a campaign did: how many people it reached, who engaged, how each channel performed, and
what it cost.

<Screenshot id="ss-campaigns-results-hero" alt="A campaign's results with the recipient funnel, rate tiles and a channel performance table for email and SMS" />

<Info>
  **Before you start:** results appear once a campaign has started sending. Opens and clicks are
  only recorded when **Track opens** and **Track clicks** were on for the send.
</Info>

<Accordion title="Watch the walkthrough" icon="circle-play">
  <DemoVideo id="V13" title="Read your campaign results" duration="2 min" />
</Accordion>

## On the campaign page

Open the campaign from **Campaigns**. While it's sending, the **Overview** tab shows **Sending now**
with a live count that updates by itself.

After sending, the **Overview** tab shows:

* **A timeline:** when the campaign was created, scheduled, started sending and completed, and how
  long sending took.
* **Outcome tiles:**
  * **Reached:** recipients delivered on at least one channel.
  * **Engaged:** recipients who opened, read or clicked on any channel.
  * **Clicked:** recipients who clicked at least one link.
  * **Credits on hold**, then **Credits used** once the campaign settles.
* **Delivery by channel:** a row per channel with **Sent**, delivered, **Opens / Reads**, **Clicks**
  and **Failed**.

<Screenshot id="ss-campaigns-results-01-overview" alt="A sent campaign's Overview tab with the timeline, four outcome tiles and the Delivery by channel table" />

The **Recipients** tab lists the lists, segments and contacts the campaign went to, including
exclusions, and how many messages each channel sent. The **Content** tab shows what was sent, and
**Tracking & tagging** shows what the send was set up to record.

## The full results view

The complete breakdown lives at its own address: the campaign page's address with `/results` on the
end, for example `https://app.prod.brudcast.com/campaigns/your-campaign-id/results`.

<Note>
  The campaign page doesn't link to this view today, so you reach it by typing `/results` on the end
  of the address yourself. If you've been hunting for a button, there isn't one to find.
</Note>

The view shows:

| Section                      | What it shows                                                                                                                                                                 |
| ---------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Recipients**               | A funnel from the audience to **Reached**, **Engaged** and **Clicked**. Each person is counted once, across every channel.                                                    |
| Rate tiles                   | **Open Rate**, **Click Rate**, **Bounce Rate** and **Unsub Rate**                                                                                                             |
| **Channel performance**      | Per channel: **Targeted**, **Sent**, delivered, **Opens / Reads**, **Clicks** and **Failed**. These count messages, so a person reached on two channels appears in both rows. |
| **Journey**                  | **First successful channel**, which channel reached each recipient first, and **Engagement paths**, the order people engaged across channels                                  |
| **Message delivery**         | Sent, delivered, opened and clicked, totalled across channels                                                                                                                 |
| **Bounces and suppressions** | **Hard bounces**, **Soft bounces**, **Complained**, **Unsubscribed** and **Suppressed**                                                                                       |

<Screenshot id="ss-campaigns-results-02-journey" alt="The Journey section showing the share of recipients first reached by email and by SMS, and the most common engagement paths" />

If the campaign hasn't sent anything yet, the view says **No results yet**.

## What each channel reports

Channels only report what they can measure. Where a channel can't measure something, the table
shows a dash (-) rather than 0, so a delivered campaign doesn't look ignored.

| Channel | Delivered column                                    | Opens                          | Clicks                          |
| ------- | --------------------------------------------------- | ------------------------------ | ------------------------------- |
| Email   | Delivered                                           | Yes, when open tracking was on | Yes, when click tracking was on |
| SMS     | Delivered                                           | No. Shown as -                 | No. Shown as -                  |
| Push    | Accepted, meaning the push service took the message | No. Shown as -                 | No. Shown as -                  |

"Delivered" for email means the receiving mail server accepted the message, not that it reached the
inbox.

When a campaign mixes channels that report opens with channels that don't, the **Open Rate** tile
is measured across every channel, so it reads lower than an email-only rate. The tile's hint says
so.

If open tracking was off, the open rate stays at zero however many people read the email. The same
goes for clicks and click tracking.

## What each figure means

These are the definitions behind every number on this page.

| Metric           | Definition                                                                                                                                         |
| ---------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Sent**         | Messages Brudcast handed off for delivery. Addresses on your suppression list are left out and counted as suppressed instead                       |
| **Delivered**    | The receiving server **accepted** the message. It doesn't tell you whether it landed in the inbox or the spam folder                               |
| **Bounced**      | The message was rejected, either a hard bounce (permanent, which suppresses the address automatically) or a soft bounce (temporary, which doesn't) |
| **Opened**       | The tracking image in the email was loaded                                                                                                         |
| **Clicked**      | A tracked link in the email was followed                                                                                                           |
| **Complained**   | The recipient marked the message as spam and their provider reported it. The address is suppressed automatically                                   |
| **Unsubscribed** | The recipient unsubscribed from this campaign                                                                                                      |

A message that was sent with no result yet is still in flight, so a delivery figure below the sent
figure doesn't mean anything bounced.

Opens and clicks come in two forms. **Total** counts every event, so one person opening three times
counts as three. **Unique** counts each recipient once. Open rate and click rate always use unique
counts, so a handful of enthusiastic readers can't inflate them.

| Rate          | Formula                   |
| ------------- | ------------------------- |
| Delivery rate | Delivered ÷ sent          |
| Open rate     | Unique opens ÷ delivered  |
| Click rate    | Unique clicks ÷ delivered |
| Bounce rate   | Bounced ÷ sent            |

<Note>
  An open is recorded when the recipient's mail app loads an invisible image, so opens need an HTML
  email, tracking turned on, and the tracking record published on your sending domain. Some people
  read with images off and are never counted, while some mail apps load every image on arrival and
  are counted even though nobody read the message. Trust click rate over open rate. See
  [DNS records](/channels/email/dns-records).
</Note>

Recipient-level results, meaning the funnel and the **Journey** section, are kept for 90 days.
Campaign totals stay as long as the campaign exists.

## Pause, resume and cancel a send

| Action              | Available when                           | What it does                                  |
| ------------------- | ---------------------------------------- | --------------------------------------------- |
| **Pause**           | **Sending**                              | Puts sending on hold                          |
| **Resume**          | **Paused**                               | Carries on from where it stopped              |
| **Cancel campaign** | **Scheduled**, **Sending** or **Paused** | Stops it for good and returns unspent credits |

**Pause** is at the top of a sending campaign's page; **Cancel campaign** is in the **More actions**
menu (the ⋯ button). When you pause, Brudcast stops handing out new batches, but messages already
handed to a mail server or carrier still arrive, so a few may go out after you pause. The credits
stay on hold. **Resume** carries on from where it stopped, and nobody gets the message twice.

Cancelling drops the messages still waiting and returns the unspent part of the credit hold.
Messages already handed over still go out and are still charged.

<Warning>
  Cancelling can't be undone, and a cancelled campaign can't be sent again. To send it later,
  duplicate it.
</Warning>

A send can also stop by itself. If your organization is suspended mid-send the campaign is paused,
not cancelled, so it can resume. If an SMS send uses up its credit hold, the SMS channel stops
rather than sending messages that aren't paid for, and the other channels carry on. If every channel
fails, the campaign ends as **Cancelled**.

## Related

<Columns cols={2}>
  <Card title="Deliverability overview" icon="shield-check" href="/deliverability/overview">
    Turn what these numbers tell you into a better next send.
  </Card>

  <Card title="Bounces, complaints and suppression" icon="shield-alert" href="/deliverability/bounces-complaints-and-suppression">
    What the bounce numbers mean, and what happens to those addresses.
  </Card>

  <Card title="Credits and wallet" icon="coins" href="/billing/credits-and-wallet">
    How credits are held and settled.
  </Card>

  <Card title="Campaigns" icon="send" href="/campaigns/overview">
    Every status and what it means.
  </Card>
</Columns>
