Meta Ads records being blocked as an onsite conversion. 1,125 blocks across 17 accounts
In the same actions array that holds your instant form leads, Meta's insights API returns an action type called onsite_conversion.messaging_block. It counts people who blocked the page's messages after a messaging ad opened a thread. Across the 23 Australian Meta Ads accounts in this audit, 17 recorded it, 1,125 times in total. It arrives as a positive integer with the same onsite_conversion. prefix as a lead, and nothing in the payload marks it as bad news.
Pooled across the set, blocks ran at 32.0% of first replies: for every hundred people credited with a first message to a business, 32 blocks were recorded. In three accounts the two counts were within a handful of each other: 434 blocks against 430 first replies, 162 against 163, 136 against 131.
All money in this series is AUD. This post cites no spend, because the finding is about a count that should never have been in the total. Part 5 covered the largest member of the messaging family, the greeting render. This one covers the member that is actively negative and is still filed as a conversion.
The seventeen accounts
Acct | Band | Blocks | First replies | Conversations started (7d) | Blocks per 100 first replies |
|---|---|---|---|---|---|
A | Consumer goods & food | 23 | 168 | 288 | 13.7 |
B | Manufacturing & equipment | 8 | 3 | 22 | 267 * |
C | Manufacturing & equipment | 37 | 21 | 27 | 176 * |
F | Manufacturing & equipment | 34 | 85 | 119 | 40.0 |
G | Home improvement & trades | 150 | 647 | 802 | 23.2 |
H | Health & care services | 71 | 333 | 370 | 21.3 |
J | Home improvement & trades | 2 | 154 | 164 | 1.3 |
K | Professional & B2B services | 15 | 16 | 16 | 93.8 * |
L | Consumer goods & food | 2 | 22 | 31 | 9.1 * |
M | Home improvement & trades | 44 | 1,297 | 1,333 | 3.4 |
N | Professional & B2B services | 1 | 4 | 3 | 25 * |
P | Home improvement & trades | 434 | 430 | 459 | 100.9 |
Q | Health & care services | 3 | 2 | 2 | 150 * |
S | Consumer goods & food | 2 | 4 | 7 | 50 * |
T | Consumer goods & food | 1 | 25 | 34 | 4.0 * |
V | Home improvement & trades | 162 | 163 | 163 | 99.4 |
W | Health & care services | 136 | 131 | 136 | 103.8 |
Pooled (19 accounts with first replies) | 1,125 | 3,518 | 32.0 |
Rows marked with an asterisk rest on fewer than 30 first replies and the ratio in that row is not evidence of anything. Eight of the seventeen accounts are below that floor. Among the nine above it, blocks per hundred first replies ran from 1.3 in account J to 103.8 in account W, with a median of 23.2. The pooled 32.0% uses all 3,518 first replies across the 19 accounts that recorded any, including two accounts with first replies and no blocks.
The three accounts at or near 100 are the finding. In P, V and W, the block count is within four of the first reply count and within 25 of the conversation count. We cannot see the threads, so we cannot say whether 162 people in account V typed a message and then blocked the page, or whether the connection was credited on the thread opening and the block followed the automated greeting. Either reading is bad. In the first, almost every conversation ended with the person cutting the business off. In the second, the "conversations" the account reported were mostly a greeting followed by a block.
Why this happens
A block is an action a person takes inside Messenger. Meta attributes it back to the ad that opened the thread, the same way it attributes a reply, and because it happened on Meta's own surface it goes into the onsite_conversion. family. In Ads Manager the metric exists under a name like Blocked messaging connections, and it exists for a good reason: it is the clearest negative signal a messaging campaign produces. The problem is not that Meta measures it. The problem is where it lands and how it is shaped.
The actions array is a flat list of objects, each with an action_type string and a value. A block, a lead, a purchase and a greeting render all look identical in that list. There is no sign, no category field, and no flag that separates events an advertiser wants from events an advertiser does not. Whether a block ends up in a conversion total depends entirely on how the person building the report chose to filter.
How the report filters the actions array | Do blocks get in? |
|---|---|
Sums every action type | Yes |
Keeps everything starting | Yes |
Keeps everything containing | Yes |
Keeps a named list of lead and purchase types only | No |
Uses the Ads Manager Results column for the campaign's objective | No, but see below |
The last row matters. The Results column for a messaging campaign shows conversations started, which does not include blocks. But a thread that ends in a block still counts as a conversation started. Nothing we can see in the API subtracts the block from the conversation, and the ad set that optimises to conversations has been paid in full for a thread the person shut down. The block is a separate line item, and unless someone puts it beside the conversation count it is never read.
What it does to decisions
Three decisions are bent, in order of how often we see them.
The first is the reporting total. Any dashboard that sums onsite_conversion.* in an account with messaging campaigns has added its blocks to its leads. In account P that is 434 events on top of whatever the account counted as results. The Google Ads series found conversion columns inflated by duplicates, which at least were real leads counted twice. A block is a person counted as an outcome for refusing to be one.
The second is the judgement of the messaging campaigns themselves. Conversations started is the number the interface leads with, and in P, V and W it is 459, 163 and 136. Read alone, those are three accounts with a working messaging channel. Put the block count beside each one and it is three accounts where the channel produced, at best, a handful of threads that did not end in a block.
Acct | Conversations started (7d) | Blocks | Blocks per 100 conversations | Welcome message views (Part 5) |
|---|---|---|---|---|
P | 459 | 434 | 94.6 | 6,416 |
V | 163 | 162 | 99.4 | 4,290 |
W | 136 | 136 | 100.0 | 3,131 |
G | 802 | 150 | 18.7 | 1,739 |
H | 370 | 71 | 19.2 | 886 |
M | 1,333 | 44 | 3.3 | 932 |
The right-hand column is from Part 5, and it is not a coincidence that the same three letters top both lists. P, V and W are the three accounts with the most automated greeting renders in the set and the three where blocks match conversations. G and H, with a lower ratio of greetings to replies, sit at 19 blocks per hundred conversations. M, whose replies exceeded its greeting renders, sits at 3. The pattern is consistent with an automated greeting that most people who tap the ad did not want, and we would treat it as a creative and audience diagnosis rather than a measurement artefact: the blocks are real, and the people doing the blocking were paid for.
The third decision is the optimisation choice. An ad set optimising to conversations will keep finding the people most likely to open a thread, and a block does not appear to count against that. If the block rate is high, the auction is being rewarded for finding people who tap and then block, and the only way to find out is to read the two columns together. Our Facebook Ads management reporting puts blocks on the same row as conversations for every messaging campaign, as a ratio, for that reason.
Where it varies
By band, the counts concentrate in the two bands that use click-to-message ads at all.
Band | Accounts with blocks | Blocks | Share of the 1,125 | First replies in those accounts | Blocks per 100 first replies |
|---|---|---|---|---|---|
Home improvement & trades | 5 of 6 | 792 | 70.4% | 2,691 | 29.4 |
Health & care services | 3 of 4 | 210 | 18.7% | 466 | 45.1 |
Manufacturing & equipment | 3 of 4 | 79 | 7.0% | 109 | 72.5 |
Consumer goods & food | 4 of 4 | 28 | 2.5% | 219 | 12.8 |
Professional & B2B services | 2 of 5 | 16 | 1.4% | 20 | 80 * |
Professional services rests on 20 first replies and its ratio means nothing. Manufacturing is on 109, above the floor, but 72.5 blocks per hundred replies across three accounts is driven by C, where 37 blocks sat against 21 first replies. That is one account with a small messaging programme that people did not like, and the band figure should not be read as a manufacturing trait.
The concentration by account is sharper than by band. Four accounts, P, V, G and W, hold 882 of the 1,125 blocks, or 78.4%. Account P alone holds 38.6%. Within home improvement and trades, the band with the most blocks, account J recorded 2 blocks on 154 first replies and account M recorded 44 on 1,297, so the band contains both the best and the worst messaging outcomes in the set. Blocks are an account-level result, driven by what the ad promised, what the greeting said, and who the ad set found. They are not a property of the industry.
What to check in your account
In Ads Manager, Columns, Customise columns, search "block". Add Blocked messaging connections. Add Messaging conversations started and New messaging connections beside it. Run lifetime, then by campaign, then by ad set.
Divide blocks by conversations started for every messaging campaign. Under 5 per hundred is what account M looked like. Around 20 is G and H. Anything above 50 means the majority of the threads your ad opened ended with the person blocking you, and the campaign's result count is describing those threads as wins.
Read your ad's message template with the block rate next to it. A greeting that fires an immediate sales pitch, asks for a phone number in the first line, or runs several messages deep before the person has typed, will show up here first.
If a reporting tool feeds your numbers, find its conversion or results measure and check the filter. Search the field list for
messaging_block. If the measure is built by prefix or by summing, blocks are in it.From the API, pull
fields=actionswithdate_preset=maximumand list everyaction_type. Putonsite_conversion.messaging_blockon its own row in your report with a minus sign in front of it, or at least beside the conversation count as a ratio.Where the block rate is high, check the ad set's audience and placement breakdowns for the segment producing the blocks. It is usually one placement or one age band, and the block column by breakdown will show it.
What you find | What it usually means |
|---|---|
Blocks in your conversion total | The report filters by prefix or sums everything. Rebuild it |
Blocks under 5 per 100 conversations | The channel is working; keep reading the ratio monthly |
Blocks 15 to 25 per 100 | Normal for this set; the greeting or audience could be tightened |
Blocks near 100 per 100 | Threads are opening and closing; the conversation count is not a result |
Blocks match first replies exactly | Ask whether the "reply" is the automation, not the person |
The principle
A measurement system that cannot say no is not measuring. Meta's actions array has no negative numbers and no categories, so a person who blocks a business is recorded in the same shape, in the same list, with the same prefix as a person who bought from it. The interface protects most advertisers from this by choosing a Results column for them. Anyone who builds their own reporting inherits the full list, and has to decide, action type by action type, which ones are outcomes and which ones are people leaving. Put the blocks beside the conversations. If the two numbers match, the conversations were never conversations.

