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

# Marketing Broadcasts

> Send one message to a group of contacts at once, immediately or scheduled for later

Marketing broadcasts send a single message to many contacts at once. Use them for announcements, product updates, promotions, and newsletters: anything you want a whole segment to receive at the same time. You choose the audience up front, set up your channels, and either send now or schedule for later.

<Note>
  This page covers the marketing-specific flow. For the building blocks every broadcast shares (channels, templates, and properties), start with the [Broadcasts overview](/guides/broadcasts/introduction). For event-driven messages sent one at a time, see [Transactional broadcasts](/guides/broadcasts/transactional).
</Note>

## Audience

The Audience section determines who receives your broadcast. It is the first thing to configure, and it is required before you can send.

<Frame>
  <img src="https://mintcdn.com/invent/Si8CtKN6BSzw7_Wo/assets/guides/broadcasts-audience.png?fit=max&auto=format&n=Si8CtKN6BSzw7_Wo&q=85&s=5380def8ab092e4aa4f3c8bf031960f8" alt="Marketing broadcast audience selector showing All Contacts, contact import, and segment options" style={{ maxHeight: '400px' }} width="1560" height="574" data-path="assets/guides/broadcasts-audience.png" />
</Frame>

<Card title="Audience guide" icon="users" href="/guides/audience">
  Learn how to manage contacts and build segments in the Audience guide.
</Card>

You have three options:

### All contacts

Click **All Contacts** to send to every contact in your audience. Once selected, the Audience section shows an "All Contacts" row with its contact count, a **See all** button to browse them, and a **Change** button to pick a different audience.

### Specific segments

Click **Add segment** to target specific groups:

1. **Search** for a segment by name.
2. **Select** one or more segments from the list.
3. **Add multiple segments** to widen your reach.

Each selected segment appears with its name, its contact count, a **View** button that opens its contacts in a searchable dialog, and an **x** to remove it. You can combine segments freely. Click **Add segment** again to add another.

### Import a file

Click **Import contacts** to send to a list from a CSV, Excel, Numbers or OpenDocument file without leaving the broadcast:

1. **Upload** a `.csv`, `.xlsx`, `.xls`, `.numbers`, or `.ods` file.
2. **Map** the columns to contact fields; recognized columns are mapped automatically. Optionally pick a segment to file the contacts under.
3. **Review and import**. The contacts join this broadcast's audience directly and appear as **Imported contacts** in the Audience section, with **See all** to browse them and **Remove** to clear them.

<Note>
  Add a channel before importing. The import maps your columns onto the fields your channels use, so **Import contacts** stays disabled until the broadcast has at least one.
</Note>

If the same person appears more than once in your file, the rows are merged into a single contact and the review step marks the extras as **Merged**. The first row for that person wins.

Imported contacts belong to the broadcast, not to a segment — nothing is added to your segment list unless you chose one. They are still saved as contacts in your [Audience](/guides/audience), and they are sent to alongside any segments you selected.

Your file can also carry per-recipient values for the [properties](/guides/broadcasts/introduction#properties) used in your templates. Download the sample file from the import dialog to get a header row with every property your broadcast expects.

<Tip>
  An audience uses one source at a time. To switch between all contacts, segments, and an imported file, click **Change** in the Audience section header and confirm. This clears the current selection, including any imported contacts.
</Tip>

<Info>
  Marketing broadcasts respect each contact's subscription status. Contacts who have unsubscribed or are blocked are automatically excluded from the audience, so you stay compliant without extra work.
</Info>

## Test your broadcast

Before sending to your whole audience, send yourself a test to confirm everything looks right.

<Steps>
  <Step title="Click Send Test">
    Open the broadcast and click **Send Test** in the top-right corner.
  </Step>

  <Step title="Enter the test recipient">
    Provide the contact detail that matches the channel you are testing:

    * **Full Name** (optional): a name for the test recipient.
    * **Phone** (optional): the number that receives the test, with a country-code selector.

    <Warning>
      You must provide the detail that matches the channel. A WhatsApp broadcast needs a **Phone** number, and the test fails if the required field is missing.
    </Warning>
  </Step>

  <Step title="Send the test">
    Click **Send test message** and check the device to confirm the message renders correctly with its variables populated.
  </Step>
</Steps>

<Frame>
  <img src="https://mintcdn.com/invent/Si8CtKN6BSzw7_Wo/assets/guides/broadcasts-test.png?fit=max&auto=format&n=Si8CtKN6BSzw7_Wo&q=85&s=88c002a11a13e26a63af6ebd91b32db8" alt="Send a test broadcast dialog with name and phone fields" style={{ maxHeight: '400px' }} width="1024" height="926" data-path="assets/guides/broadcasts-test.png" />
</Frame>

<Warning>
  A test sends a real, billable message to the details you enter. Use your own number, not a customer's.
</Warning>

## Send or schedule

Once your audience, channels, and content are ready, click **Schedule Broadcast** in the top-right corner to open the delivery dialog. It has two parts: **when** the broadcast starts, and **how quickly** it goes out.

<Frame>
  <img src="https://mintcdn.com/invent/93YCEq9LpObqT658/assets/guides/broadcasts-delivery-pace.png?fit=max&auto=format&n=93YCEq9LpObqT658&q=85&s=9700f86c425259082bd556171bb1f79d" alt="Send broadcast dialog with when-to-start chips, a delivery pace slider, and a recipient summary" style={{ maxHeight: '400px' }} width="1026" height="1232" data-path="assets/guides/broadcasts-delivery-pace.png" />
</Frame>

### When to start

Pick when the broadcast begins:

* **Send now**: start delivering immediately.
* **Quick options**: in 30 minutes, in 1 hour, or tomorrow at 9:00 AM.
* **Pick date & time**: choose any future date and time with the picker.

### Delivery pace

Delivery pace controls how fast the send goes out once it starts. Instead of firing everything at once, you can **spread the send evenly** over a window so it lands steadily rather than all in the same minute.

Drag the slider between **ASAP** (as fast as possible) and up to **7 days**. As you move it, the dialog updates live:

* The **rate** — roughly how many messages go out per minute.
* The **finish estimate** — when the send is expected to complete.
* A small **timeline bar** that fills to show how much of the window the send occupies.

<Tip>
  The **Recommended** marker (around 3 hours) is a good default for most marketing sends: steadier delivery, stronger open rates, and comfortably within your channel's limits. Click the marker to snap to it.
</Tip>

<Info>
  Whatever pace you pick, Invent never exceeds your channel's safe sending limit. If you choose a pace faster than the limit allows, the send simply runs at the limit and the finish estimate adjusts. Delivery pace applies to marketing broadcasts only.
</Info>

### Confirmation

The dialog always shows a recipient summary — "Sending to X recipients via WhatsApp" — with the channel and count. Click **Send Broadcast** to start now, or **Schedule Broadcast** to queue it for the time you picked.

## Scheduled broadcasts

When a broadcast is scheduled, the page updates to show:

* A banner: "Broadcast is scheduled to send on" the chosen date and time.
* A live countdown in the top-right corner.
* A **Cancel Schedule** button that returns the broadcast to Draft.

To edit a scheduled broadcast, cancel the schedule first, make your changes, then schedule it again.

<Frame>
  <img src="https://mintcdn.com/invent/93YCEq9LpObqT658/assets/guides/broadcasts-scheduled-state.png?fit=max&auto=format&n=93YCEq9LpObqT658&q=85&s=74b97f57423741708c0678ec998c918c" alt="Scheduled marketing broadcast with a banner and a countdown timer" style={{ maxHeight: '400px' }} width="2566" height="1624" data-path="assets/guides/broadcasts-scheduled-state.png" />
</Frame>

## While it's sending

Once a broadcast starts, the header shows a **Sending** status and a banner tracks it live:

* **Progress** — how many of the total recipients have been delivered so far, with a percentage.
* **Pace** — "Spread evenly over 3 hours" when you set a delivery pace, or "Going out as fast as your channels safely allow" when you didn't.

The Deliverability card and the recipients table fill in as the send progresses.

<Frame>
  <img src="https://mintcdn.com/invent/93YCEq9LpObqT658/assets/guides/broadcasts-sending-state.png?fit=max&auto=format&n=93YCEq9LpObqT658&q=85&s=2c27669f18214784be966087f8a1722d" alt="Broadcast mid-send: a Sending banner showing delivery progress and pace, with a Cancel Broadcast button" style={{ maxHeight: '400px' }} width="2138" height="2086" data-path="assets/guides/broadcasts-sending-state.png" />
</Frame>

## Cancelling a send in progress

A paced broadcast can be delivering for hours, so you can stop one mid-send. Click **Cancel Broadcast** and confirm. Delivery stops and the broadcast returns to Draft, fully editable again — messages already delivered stay delivered and keep counting in your analytics, and the unsent remainder is discarded. A banner tells you how many people already received it.

Send it again and everyone who already received it is skipped, so nobody gets it twice. The send dialog counts only the people still to reach, which makes an unedited re-send the way to resume an interrupted broadcast.

<Info>
  Messages already handed to the channel may still go out — cancelling stops the queue, not a message mid-delivery.
</Info>

## Analytics

After a broadcast is sent, the page becomes an analytics dashboard. The Audience, Properties, and Channels sections collapse into summaries, and delivery data takes their place.

### Deliverability

* **Total Recipients**: how many contacts were targeted.
* **Sent**: how many messages were sent, with the percentage.
* **Delivered**: how many were confirmed delivered, with the percentage.

The large figure at the top is your at-a-glance delivery rate.

### Engagement

* **Opened**: how many recipients opened or read the message, with the percentage.

### Recipients table

A per-recipient table lists every contact, the channel used, the delivery status, and the send time. Hover a status icon to see exact timestamps for each event.

<Frame>
  <img src="https://mintcdn.com/invent/Si8CtKN6BSzw7_Wo/assets/guides/broadcasts-analytics.png?fit=max&auto=format&n=Si8CtKN6BSzw7_Wo&q=85&s=d9e43d8ae62180890148c42d130fec3e" alt="Marketing broadcast analytics with deliverability, engagement, and a recipients table" style={{ maxHeight: '400px' }} width="2560" height="2200" data-path="assets/guides/broadcasts-analytics.png" />
</Frame>

### Retrying failures

A failed recipient shows a **Retry** button on its row, which puts that message back on the send queue. When several failed, **Retry all failed** appears above the table and requeues them in one go. Retrying never re-sends to someone who already received the message.

Recipients that never reached anyone — imported, still queued, failed, or skipped — can also be removed from the table through the **⋮** menu on their row.

## Best practices

1. **Always test first.** Send yourself a preview and confirm the template and variables render correctly.
2. **Segment instead of blasting.** Send relevant content to the right group rather than the same message to everyone.
3. **Personalize with properties.** A name and a unique code lift engagement. See [Properties](/guides/broadcasts/introduction#properties).
4. **Schedule for the right moment.** Send when your audience is active, and avoid late nights and weekends.
5. **Watch your numbers.** Low deliverability usually points to bad phone numbers or addresses in your contacts.
6. **Get consent.** Only message contacts who opted in. On WhatsApp this is essential. See [WhatsApp Best Practices](/guides/broadcasts/whatsapp-best-practices).

## Next steps

<CardGroup cols={2}>
  <Card title="Transactional Broadcasts" icon="bolt" href="/guides/broadcasts/transactional">
    Send event-driven messages one at a time through the API
  </Card>

  <Card title="WhatsApp" icon="whatsapp" iconType="brands" href="/guides/broadcasts/channels/whatsapp">
    Set up WhatsApp Templates and configure the channel
  </Card>

  <Card title="WhatsApp Best Practices" icon="shield-check" href="/guides/broadcasts/whatsapp-best-practices">
    Keep your number and templates in good standing
  </Card>

  <Card title="Audience" icon="users" href="/guides/audience">
    Manage contacts and build segments for targeting
  </Card>
</CardGroup>
