> ## 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.

# Send paid Marketing Messages

> Message past customers on Facebook Messenger outside the 24-hour window with Meta's paid Marketing Messages, paid from your own Meta ad account.

Marketing Messages let you send a broadcast on **Facebook Messenger** to people who have not
messaged you lately. A normal Messenger broadcast only reaches people who wrote to your Page
in the last 24 hours. A paid one reaches anyone who has subscribed to your marketing
messages, whenever they last wrote.

Meta charges you for it. Each delivered message is billed to **your own Meta ad account**,
against a budget you set on the broadcast.

It works on **Facebook Pages only**. Instagram and WhatsApp broadcasts don't offer it.

|                                                    | Standard message                                                                                   | Marketing Messages (paid)                                             |
| -------------------------------------------------- | -------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------- |
| Who it reaches                                     | People who messaged your Page in the last 24 hours, or who accepted a one-time notification opt-in | People who subscribed to your ongoing marketing messages on this Page |
| What Meta charges                                  | Nothing                                                                                            | Each delivered message, from your Meta ad account                     |
| Counts against your DMLY plan's broadcast messages | Yes                                                                                                | Yes                                                                   |
| Channels                                           | Facebook and Instagram                                                                             | Facebook only                                                         |
| How often one person can get one                   | No 12-hour limit                                                                                   | At most once every 12 hours                                           |

## Before you start

You need all of these. Without the plan and a chosen ad account, the wizard won't let you set
a budget, and a paid broadcast can't be sent without one. Without subscribers, there is nobody
to send to.

* **A connected Facebook Page.** See [Facebook Messenger](/channels/facebook-messenger).
* **A plan that includes Meta Ads.** It depends on your plan. On a plan without it, the Meta
  Ads tile on the Integrations page shows **Plan locked**. See [Plans](/billing/plans) to
  check yours. If an agency runs your workspace, ask the agency.
* **A Meta ad account, connected and chosen in DMLY.** This is what pays Meta. See
  [Connect your Meta ad account](#connect-your-meta-ad-account) below.
* **People who have subscribed.** Nobody is subscribed until they accept a marketing opt-in
  request from your Page. See [Who a marketing message reaches](#who-a-marketing-message-reaches).
  Start collecting subscribers early: there is no way to import them.

To connect the ad account, your team role needs the **Connect & manage channels**
permission. Owners and admins have it.

## Connect your Meta ad account

The ad account is the one Meta bills. Its currency is the currency of every budget you set,
so pick it with care.

<Steps>
  <Step title="Open the Meta Ads tile">
    In the sidebar, under **Configurations**, select **Integrations**. The page opens on the
    **Channels** tab, and Meta Ads isn't there. Select **All** (or **Productivity**), then
    open the **Meta Ads** tile.
  </Step>

  <Step title="Sign in with Facebook">
    Select **Connect Meta Ads**. Sign in with the Facebook profile that manages the ad
    account, and tick the ad accounts to share. Meta may also ask you to choose a business
    and a Page, and to review permissions.

    Finish within 30 minutes. After that the sign-in expires and DMLY shows *Invalid or
    expired OAuth state. Start the connection again.*
  </Step>

  <Step title="Choose the ad account">
    If you shared one ad account, DMLY picks it for you and you're done.

    If you shared several, DMLY doesn't guess. The panel shows *No ad account selected yet.
    Pick one below so spend can be reported.* Pick the account under **Choose which ad
    account this workspace reports on** and select **Use this account**. Each row shows the
    account's currency: that's the currency your budgets will be in.

    Once chosen, the panel shows **Reporting on** with the account's name, id and currency.
    You can change it later from the same list.
  </Step>

  <Step title="Test it (optional)">
    Select **Test connection**. A pass reads *Meta Ads reporting OK — spend for* followed by
    your ad account id.
  </Step>
</Steps>

<Note>
  Until an ad account is chosen, the budget box in the broadcast wizard is replaced with
  *Several ad accounts were granted and none is chosen yet. Choose one under Integrations →
  Meta Ads before setting a budget.* That's the most common reason the budget box is
  missing.
</Note>

The same connection also puts your ad spend in the [Ads report](/analytics/ads-report).

## Who a marketing message reaches

A paid message only reaches a contact who has **subscribed to ongoing marketing messages on
this Facebook Page**. A subscription belongs to one Page. Someone who subscribed on another
Page can't be reached from this one.

### Ask people to subscribe

In DMLY, you ask people to subscribe with the **Marketing Opt-in** step in an automation on
your Facebook channel.

<Steps>
  <Step title="Add the Marketing Opt-in step">
    In the flow builder, open the **Messenger (FB/IG)** group and add **Marketing Opt-in**.
    See [Flow builder](/automation/flow-builder).
  </Step>

  <Step title="Set the opt-in type">
    Set **Opt-in type** to **Ongoing marketing messages**. The other choice, **One follow-up
    message**, only allows one free follow-up and never makes someone reachable by a paid
    broadcast.
  </Step>

  <Step title="Fill in the request">
    Give it a **Request title** (the default is **Get updates & offers**), and a **Topic**
    and an **Image URL** if you like. Then choose **How often you plan to message**:
    **Daily**, **Weekly** or **Monthly**.
  </Step>
</Steps>

The person sees your request in Messenger. When they accept, their conversation in the Inbox
shows *🔔 Subscribed to marketing messages — reachable outside the
24-hour window until they stop.*

On an Instagram channel the step only offers the one-time kind, because paid reach is
Facebook only.

### Who is left out

* **Anyone who hasn't subscribed on this Page.** They're simply not in the audience.
* **Anyone who replied STOP** (or unsubscribe, cancel and similar) on any channel. That
  stops every marketing subscription they hold. Replying START doesn't bring them back:
  they have to accept a new opt-in request.
* **Anyone who stopped marketing messages in Messenger itself.** The Inbox shows *🔕 Stopped
  marketing messages — no longer reachable outside the 24-hour window.*
* **Anyone whose subscription has expired.**
* **Anyone you sent a marketing message in the last 12 hours.** Meta allows at most one
  every 12 hours per person. This is the only frequency limit DMLY enforces; the **Daily**,
  **Weekly** or **Monthly** you picked on the opt-in is passed to Meta, not checked by DMLY.

### Where to see who is subscribed

There is no subscriber list. You see a subscription in two places: the Inbox bubble above,
and the count next to the **Marketing subscribers** audience in the broadcast wizard. That
count is the people you can reach right now, so anyone inside their 12-hour gap is already
left out.

<Note>
  The segment rule **Marketing opt-in** is not about these subscriptions. **Marketing
  opt-in: opted in** only means the contact hasn't unsubscribed from your messages. Don't
  use it to find paid-message subscribers.
</Note>

## Send a paid broadcast

A paid broadcast uses the normal four-step wizard. See
[Create a broadcast](/broadcasts/create-campaign) for everything that isn't specific to
paid sends.

<Steps>
  <Step title="Start on your Facebook channel">
    The broadcast uses the channel you're currently on, so switch to your Facebook Page
    first. Then go to **Messaging → Broadcasts → New broadcast**.
  </Step>

  <Step title="Choose Marketing Messages (paid)">
    On the **Message** step, under **Reach**, choose **Marketing Messages (paid)**. The
    audience switches to **Marketing subscribers** on its own. You can't pair a paid send
    with any other audience, and **Reachable contacts only** makes no difference here,
    because people who opted out are always left out.
  </Step>

  <Step title="Write the message">
    Type your message as plain text. Paid messages are text only.

    The help line under the box still says Meta only delivers to people who messaged you in
    the last 24 hours. That's written for standard sends. Ignore it for a paid one.
  </Step>

  <Step title="Set the budget">
    Under **Budget**, choose **Total for this campaign** (the default) or **Per day**, and
    type an amount. The currency next to the box is your ad account's currency. Read
    [What it costs](#what-it-costs) before you pick a number.
  </Step>

  <Step title="Schedule it">
    Choose **Send immediately after approval** or **Schedule for later**. A paid broadcast
    goes out at one fixed time for everyone: **At this time in each contact's timezone** is
    not offered, and the wizard says *Paid marketing messages send at one fixed time, so
    per-contact timezone scheduling is not available.*
  </Step>

  <Step title="Review and send">
    The **Review** step adds a **Budget** row: the amount, the currency, and whether it's a
    total or per day. Check it. Nothing else on this step says the send is paid. If your
    role needs approval, the broadcast waits for an approver like any other.
  </Step>
</Steps>

<Note>
  **Send test message** doesn't appear for Facebook broadcasts, paid or not. Tests are for
  WhatsApp templates only.
</Note>

Pausing, resuming, cancelling and deleting work as they do for any broadcast. Pausing stops
DMLY sending; it doesn't pause anything in your Meta account.

## What it costs

A paid broadcast is paid for twice, by two different parties.

**Meta charges your ad account.** Meta bills each delivered message against the budget you
set, in your ad account's currency. The money goes straight from your ad account to Meta,
under your Meta billing terms. DMLY never handles it and doesn't show a price per message
before you send.

**DMLY counts it against your plan.** Each paid message that goes out also uses one message
from your plan's broadcast and template messages allowance, exactly like any other
broadcast. Skipped and failed recipients don't count. If your allowance runs out
mid-broadcast, the rest are refused, even if your Meta budget has money left. See
[Plans](/billing/plans) for your allowance.

<Warning>
  The budget is in your **ad account's** currency, which may not be your workspace's
  currency. Type 50 next to NGN and you've set 50 naira; type 50 next to USD and it's 50
  dollars. Check the currency code beside the box, and again on the **Review** step,
  before you send.
</Warning>

### The two budget types

* **Total for this campaign** is one budget for the whole broadcast. DMLY creates Meta's
  campaign for it when the broadcast starts sending, and that campaign runs for three days. If you pause a broadcast
  for longer than that, Meta may refuse the rest when you resume.
* **Per day** is a budget for each day, with no end date.

The budget must be more than zero, and at most 1,000,000. DMLY doesn't check it against
Meta's own minimum, and it doesn't watch how much of it is left. If Meta refuses a message,
that recipient is recorded as failed with *Meta rejected the marketing message*.

### Where to see what you spent

Open the broadcast. The **Paid campaign** panel shows Meta's **Delivered**, **Read rate**,
**Spend** and **Cost per delivered**. It refreshes every hour, and shows *Not reported by
Meta yet* until Meta has figures. It keeps refreshing for 28 days after the broadcast was
created, then stays as it is.

**Spend** and **Cost per delivered** only show to teammates whose role can **View finance
(invoices, payments, orders)**.

## Read the results

On a paid broadcast, the usual figures at the top stay at **Sent**. Meta doesn't report
delivery or reads per person for paid messages, so **Delivered** and **Opened** will look low.
Use the **Paid campaign** panel for delivery and reads instead. See
[Broadcast analytics](/broadcasts/analytics) for the rest of the page.

Under **Messenger delivery** you'll see two paid-only rows:

* *Sent as a paid marketing message*
* *Skipped — messaged within the last 12 hours*

A skipped person isn't counted against your plan and costs nothing on Meta. They still appear
under **Why messages failed**, as *Skipped: messaged within the last 12 hours*. They won't be
sent later by this broadcast either; reach them with a later one.

Recipients who failed are grouped under **Why messages failed**, one row per reason. The
paid-only reasons are:

| Reason shown                                                  | What it means                                                                           |
| ------------------------------------------------------------- | --------------------------------------------------------------------------------------- |
| Marketing Messages were switched off before this went out     | DMLY switched paid sends off after you scheduled, so nothing more was sent              |
| No Meta ad account is connected to pay for marketing messages | The ad account was disconnected, or your plan lost Meta Ads, after you scheduled        |
| The connected Meta ad account needs reconnecting              | Meta no longer accepts DMLY's sign-in to your ad account. Disconnect and connect again  |
| These contacts have no marketing subscription on this Page    | Their subscription disappeared after the audience was counted                           |
| These contacts stopped marketing messages                     | They replied STOP, or stopped in Messenger, before their message went out               |
| Their marketing subscription had expired                      | Meta's subscription ran out                                                             |
| Meta reported the subscription as no longer valid             | Meta refused the subscription; DMLY stops it                                            |
| The channel has no Facebook Page id to run the campaign on    | DMLY has no Page id stored for this channel, so Meta has nothing to run the campaign on |
| Meta refused to create the message campaign                   | Meta wouldn't start a campaign for this ad account and Page                             |
| Meta rejected the marketing message                           | Any other refusal from Meta, for that one person                                        |

## Troubleshooting

<Accordion title="There is no Reach choice">
  You're not on a Facebook channel. Paid reach is Facebook only, so Instagram, WhatsApp and
  the other channels never show it. Switch to your Facebook Page and start the broadcast
  again.
</Accordion>

<Accordion title="The budget box is missing">
  In its place you'll see one of two messages:

  * *Connect a Meta ad account under Integrations to set a budget.* Your plan doesn't
    include Meta Ads, or no ad account is connected. See
    [Before you start](#before-you-start).
  * *Several ad accounts were granted and none is chosen yet.* Choose one in the Meta Ads
    panel. See [Connect your Meta ad account](#connect-your-meta-ad-account).

  Without a budget the wizard lists **Budget** under *Add these before you can create the
  broadcast:* and won't go further.
</Accordion>

<Accordion title="Marketing subscribers shows 0 contacts">
  Nobody on this Page holds an ongoing marketing subscription right now. Either no one has
  accepted an **Ongoing marketing messages** opt-in yet, or everyone who did was messaged in
  the last 12 hours, stopped, or expired. Check that your Marketing Opt-in step is set to
  **Ongoing marketing messages**, not **One follow-up message**.
</Accordion>

<Accordion title="I switched back to Standard message and it won't save">
  Switching **Reach** back to **Standard message** doesn't change the audience back. It stays
  on **Marketing subscribers**, which only works for a paid send, and DMLY refuses it with
  *The marketing subscriber audience can only be used with a Marketing Messages send.* Go to
  the **Audience** step and pick another audience.
</Accordion>

<Accordion title="Every recipient failed with Meta refused to create the message campaign">
  Meta wouldn't start a Marketing Messages campaign for your ad account and Page. DMLY tries
  again for each recipient, so they all fail the same way. Check the ad account in Meta Ads
  Manager, then disconnect Meta Ads and connect it again.
</Accordion>

<Accordion title="Many people were skipped">
  They were sent a marketing message less than 12 hours earlier, so Meta wouldn't take
  another. They're marked *Skipped — messaged within the last 12 hours*, cost nothing, and
  don't count against your plan. Send to them in a later broadcast.
</Accordion>
