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

# Choose who receives a broadcast

> Pick a broadcast audience with segments or retargeting, and understand how opt-outs and unreachable contacts are handled.

Step 1 of the broadcast wizard is **Audience**. It asks for one thing: which contacts this
campaign goes to. There is no tag picker and no filter builder here — you pick a single saved
segment, or you retarget the recipients of an earlier broadcast.

The audience always resolves against the **channel you are broadcasting on**, which is the
channel active in your workspace when you start the wizard. It is shown on the **Message**
step and can't be changed once the broadcast is saved.

<Note>
  Broadcasts aren't available on Live Chat or TikTok. Switch to WhatsApp, Facebook,
  Instagram, SMS or Telegram before creating one.
</Note>

## Pick a segment

With **Type** set to **Contact**, you choose from:

* **All contacts** — every contact reachable on this channel (by primary channel or a channel identity).
* **Active contacts** — contacts whose status is active.
* **Every saved segment** in your workspace, listed by name.

On Facebook and Instagram you also get two extra options:

* **Opted in — notifications** — contacts who gave Meta's one-time notification opt-in.
* **Messaging window open (24h)** — contacts who messaged you in the last 24 hours.

Each option shows an estimated `<count> contacts`. That estimate is taken when you build the
broadcast; the real recipient list is expanded when it sends, so a scheduled broadcast picks
up contacts added in between.

An empty audience is not an error. The broadcast is simply marked **Sent** with zero
recipients.

## Targeting by tag, stage or recency

The broadcast wizard can't filter by tag or pipeline stage. To target those, build the filter
once as a saved segment under **Contacts → Segments**, then select it here. A segment is built
from four things: pipeline stage, tags to include, tags to exclude, and days since last
activity. See [Tags and segments](/contacts/tags-and-segments).

Custom fields aren't among them, so there is no way to target a broadcast by custom field —
not in the wizard, and not via a segment.

<Tip>
  Segments are re-evaluated at send time, so a segment like "tagged VIP" stays current across
  every campaign you send to it — you don't rebuild the list each month.
</Tip>

## Opt-outs

This is the part to get right.

A contact who has opted out **never receives a broadcast**. Every channel blocks them at the
moment of sending, whatever audience you chose. That guard is not something you can switch
off, and it is what keeps you compliant.

What the audience does *not* do is remove them beforehand. **Reachable contacts only** is
unticked by default, and it is the only thing that filters opted-out contacts out of the
audience. Leave it unticked and opted-out contacts are still expanded into the recipient list
— they get nothing, but they take up a recipient slot and land in your **Failed** count.

<Warning>
  Tick **Reachable contacts only** on every broadcast. It doesn't change who receives the
  message — the send-time block already handles that — but without it your recipient and
  failed numbers include people who were never going to be messaged, which makes every
  campaign look worse than it performed.
</Warning>

Two things about that checkbox to be aware of:

* Its hint says it skips contacts who "can't be messaged on this channel". It only excludes
  opted-out contacts. Contacts outside a messaging window are deliberately **not** excluded.
* The **Audience breakdown** donut shown on the **Schedule** and **Review** steps, including
  its `<count> opted out` figure, is a placeholder. It always shows 95% deliverable and 5%
  opted out regardless of your actual opt-out data. Don't use it as an opt-out report — check
  [Contacts](/contacts/overview) instead.

## Unreachable contacts

Contacts in the audience who can't actually be reached still consume a recipient row. What
happens depends on why:

| Situation                                                                         | Result                                                                                    |
| --------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- |
| Contact deleted before the send                                                   | Skipped. Not counted as failed, so Sent + Failed won't add up to the recipient total      |
| No phone number, or the channel has no working credentials                        | Failed                                                                                    |
| Facebook/Instagram contact outside the 24-hour window with no notification opt-in | Failed, and shown as **skipped** in the **Messenger delivery** breakdown on the broadcast |
| Opted out                                                                         | Failed                                                                                    |

The specific reason a contact failed is recorded but isn't shown anywhere in the app — there
is no per-recipient failure list. For Facebook and Instagram, the **Messenger delivery**
breakdown on the broadcast is the closest thing: it shows how many were reached in-window
versus via an opt-in versus skipped.

SMS and Telegram have no messaging window, so window-related failures don't apply to them.
WhatsApp broadcasts use an approved template, which is what lets them reach contacts outside
the window — see [WhatsApp rules and limits](/broadcasts/whatsapp-rules-and-limits).

<Accordion title="Facebook and Instagram notification opt-ins are spent automatically">
  If a Facebook or Instagram contact is outside the 24-hour window but holds a notification
  opt-in, the broadcast uses it to deliver the message. The opt-in is single-use — once spent
  it's gone, and that contact needs a new one before you can reach them outside the window
  again. The **Opted in — notifications** segment targets exactly these contacts, so a
  campaign to it burns the opt-in of every contact who was outside the 24-hour window at send
  time; contacts still inside the window are reached normally and keep theirs.
</Accordion>

## Retarget a previous broadcast

Set **Type** to **Retarget** to re-message the people an earlier campaign reached, filtered by
what they did with it. Pick a **Retarget broadcast** and a **Retarget engagement type**:

| Option                       | Who it targets                                                             |
| ---------------------------- | -------------------------------------------------------------------------- |
| **All Sent**                 | Everyone the message went to, including those who then received or read it |
| **All Delivered**            | Contacts it reached                                                        |
| **All Read**                 | Contacts who opened it                                                     |
| **All Replied**              | Contacts who wrote back after it                                           |
| **All Sent But Not Replied** | The follow-up audience — reached, no reply                                 |
| **All Failed**               | Contacts it couldn't reach                                                 |

Only broadcasts that are sending or already sent can be a source, and only ones on the same
channel — the 100 most recent. You can't retarget a broadcast at itself.

Retarget audiences show no count in the wizard: the list is resolved from the source broadcast
when this broadcast sends, and then narrowed to contacts you can reach on this channel.

<Warning>
  **All Delivered** works on WhatsApp and SMS; **All Read** works on WhatsApp only. Facebook,
  Instagram and Telegram record neither, and SMS records no read status — retargeting those
  engagement types on those channels selects nobody. Use **All Sent** or **All Replied**
  instead. See [Analytics](/broadcasts/analytics).
</Warning>

## Next

<Columns cols={2}>
  <Card title="Write the message" icon="pen" href="/broadcasts/create-campaign">
    Campaign name, template or text, and personalization.
  </Card>

  <Card title="Tags and segments" icon="tags" href="/contacts/tags-and-segments">
    Build the saved segment you'll broadcast to.
  </Card>

  <Card title="WhatsApp rules and limits" icon="whatsapp" href="/broadcasts/whatsapp-rules-and-limits">
    Why WhatsApp broadcasts need an approved template.
  </Card>

  <Card title="Data and privacy" icon="shield-halved" href="/contacts/data-and-privacy">
    How contacts opt out and what that means.
  </Card>
</Columns>
