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.
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.
- 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 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 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.
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.
The ad account is the one Meta bills. Its currency is the currency of every budget you set,
so pick it with care.
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.
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.
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.
Test it (optional)
Select Test connection. A pass reads Meta Ads reporting OK — spend for followed by
your ad account id.
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.
The same connection also puts your ad spend in the 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.
Add the Marketing Opt-in step
In the flow builder, open the Messenger (FB/IG) group and add Marketing Opt-in.
See Flow builder. 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.
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.
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.
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.
Send a paid broadcast
A paid broadcast uses the normal four-step wizard. See
Create a broadcast for everything that isn’t specific to
paid sends.
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.
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.
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.
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 before you pick a number. 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.
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.
Send test message doesn’t appear for Facebook broadcasts, paid or not. Tests are for
WhatsApp templates only.
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 for your allowance.
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.
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 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:
Troubleshooting
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.
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.
- Several ad accounts were granted and none is chosen yet. Choose one in the Meta Ads
panel. See 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.
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.
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.
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.
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.