Meta Ads and WhatsApp: Why You Pay for Conversations Nobody Wrote
Ads Manager counts WhatsApp conversations that never arrive as real messages. I measured one account and watched the junk drop from 48% to 3%.
There is a metric in Meta Ads that looks good precisely when things are going badly.
If you run WhatsApp messaging campaigns, the ones known as Click-to-WhatsApp, you may have seen it. Ads Manager reports conversations started, the cost per conversation looks cheap, and the dashboard looks busy. Then you open WhatsApp Business on the phone and nobody has sent a message. There is a disappearing-messages notice. A contact card. Sometimes a “Message can’t be displayed” warning and nothing else.
That is where the uncomfortable question appears. Are you paying for real conversations, or for chats that opened by themselves?
I audited an account with exactly this problem. Almost half of its “results” did not contain a single line written by a person. After one change to the campaign setup, that junk fell from 48 percent to 3 percent. Here is what I measured, why it happens, and how to separate a real lead from a thread nobody wrote.
The thread nobody wrote
I want to separate two things from the beginning because people confuse them all the time.
A bad lead writes something. They ask for a price, send “info,” request the location, change their mind later, or cannot afford the service. That is everyday marketing, and it can be managed.
What I saw was something else. Threads that Meta counts as conversations but that are not conversations in any commercial sense. Zero human text, zero intent, not even a question. When the customer service team writes to those contacts, sometimes the person replies that it was an accidental tap or that they never asked for anything.
A weak lead wastes a little of your time. An empty thread makes you lose your bearings because you put it in the same count as a real customer and start making decisions from it.
What “Messaging Conversations Started” actually counts
This is the part almost everyone misreads, even in advertiser forums.
According to Meta’s own documentation, the official Messaging Conversations Started metric counts the number of times someone sends the business a message for the first time, or after seven days of inactivity, attributed to the ads. Read that way, it sounds solid. If Meta counted it, someone must have written.
And then the evidence does not fit. If the metric requires a sent message, why am I seeing counted threads without a single line written by a person?
The most likely explanation is boring. Something is being counted as that “first message” without a person typing it. An automated welcome message. An icebreaker. A form or Flow that starts automatically inside WhatsApp. Or the technical event that fires when the chat opens. The system records “conversation started,” while nobody on the other end has written a thing.
You will find both versions fighting each other in the forums. Some people swear the metric fires from the simple tap that opens WhatsApp. Others paste Meta’s documentation and insist it only counts when the first message is sent. The most realistic answer is that both are partly right. The metric was designed to count messages, but today’s flow, filled with automated greetings and forms, manufactures “first messages” that reflect no real intent.
The exact mechanism makes no difference to your wallet. The counter rises and the intent never appears.
Disappearing messages and “Message can’t be displayed”
A second piece makes the whole thing more confusing. Disappearing messages.
In technical environments they also appear as ephemeral messages. WhatsApp lets users enable them by default for new chats, with durations of 24 hours, 7 days, or 90 days. It is a user privacy feature, not a bug.
The problem begins when that event lands inside a sales flow that needs to know whether somebody wrote. If the only thing left in the thread is “disappearing messages were turned on,” you do not have enough to call that chat a lead.
Then there is Business Suite’s “Message can’t be displayed.” It does not always mean the same thing. It may refer to content the inbox cannot render, an unsupported message type, or a system event. Some platforms connected to the API display it as “unsupported message: ephemeral.” The result for you is the same. If the system cannot display the content and the phone does not show a question either, your team is replying to a shadow.
The numbers I counted
Up to this point, it could all be theory. It is not, because I sat down and counted.
For the account I audited, I cross-checked three things that almost nobody checks together: Ads Manager, the WhatsApp database on the phone itself, and the CRM. One contact at a time, one thread at a time.
In one ordinary week, Meta reported around 181 conversations and WhatsApp created 183 new threads. A nearly perfect match, exactly what you would expect. Until I opened the threads.
Almost 88 of those 183 contained no human text. That is one out of every two. Technical events, disappearing-message notices, windows that opened with nothing behind them. Only about 53 showed clear intent.
The cost is where you feel it. Meta showed $8.71 per “conversation.” The real cost was $22.85 per chat containing human text and $29.74 per actual lead. The real cost was roughly three times what the dashboard suggested. If I had optimized around that $8.71 figure, I would have rewarded the very ad bringing in the most junk.
There was a clue buried in the placements. Stories produced the cheapest conversations at $6.39, compared with $12.28 from Feed. That sounds like a bargain until you understand why they were so cheap. Many were not conversations at all. They were accidental taps that opened the chat and went nowhere. Cheap was the warning sign.
You create some of the noise yourself
It is convenient to blame Meta for everything. Too convenient. When you trace forum discussions from other advertisers reporting the same symptom, several explanations emerge that deserve to be taken seriously. Disappearing messages are a setting controlled by the user. Younger audiences, often more protective of their privacy, may have them enabled by default, so an enormous audience simply multiplies the effect. Blank chats can also result from a synchronization delay between WhatsApp and a third-party CRM, where the conversation begins but the message body is not saved in time. And a segment open to an entire country will generate volume all by itself.
Any of those explanations may be true in a particular case. That is why I did what almost nobody does. I did not stop at the dashboard. I picked up the phone and went into the WhatsApp database and the app. It was not a third-party CRM synchronization problem or a dashboard illusion. There, on the screen, there was no text. That is the difference between my case and half the complaints you will read.
The change that cut the junk from 48% to 3%
I stopped theorizing and rebuilt the campaign from scratch.
I removed everything except Facebook Feed. No Stories, no Reels, none of the fast formats where accidental taps were piling up. I also kept the entry point simple, with no form inside WhatsApp.
The clean ad set changed the picture. Out of 33 chats, 32 were real conversations with people. The junk fell from nearly half to 3 percent. The cost per chat with a real person settled near $28, nowhere close to the fantasy $6 to $8 figure the dashboard had been celebrating.
Now for the honest part, because without it this would be just another post full of infallible tricks. I changed two things at the same time. I removed the form and also limited the campaign to Feed, so I cannot say which change mattered more. The sample is still small, only a few days. But the direction is clear, and the placement data supports it. The cheap, empty activity lived in the fast placements, not in Feed. Tightening the campaign to Feed and simplifying the entry point changed the result at its source.
I did not wait for Meta to fix it. Changing the setup did.
I asked the users who never wrote
One step closed the remaining doubt. I asked the team to write to a sample of those silent contacts. There was no accusation, only a question about whether they actually wanted information or had tapped the ad by mistake.
The answers were clear. One person said it might have been an accidental tap and apologized. The second said they had never requested anything. A third confirmed that they touched the screen by mistake.
In the system, those contacts appeared as conversations activated by the ad. On the phone, several showed nothing but the disappearing-messages event. I am not talking about someone who asked for a price and then backed out. I am talking about people who did not even consider themselves interested.
I gave that a name so I would not confuse it with a cold lead: confirmed false positive. A thread the dashboard presents as a result, which the user personally denies when asked. Noise wearing a lead’s face.
What to measure instead of cost per conversation
Cost per conversation can remain in the report. It just cannot be in charge.
These are the metrics I would watch:
- Cost per chat containing human text.
- Cost per actual lead.
- Cost per scheduled appointment.
- Cost per registered customer.
- Cost per sale or paid treatment.
Each layer has a different value. A Meta conversation is not a lead, and there is a long road from a lead to an appointment where someone shows up and pays. The dashboard does not show you that road. Written out, it sounds obvious. Inside Ads Manager, it is easy to forget because the dashboard summarizes, and sometimes it summarizes too much.
When the campaign begins optimizing toward opened threads and accidental clicks, the algorithm learns from a signal with no business value. Your cost per result falls while the business makes less money. Optimization that kills slowly.
How to diagnose it yourself
Do not shut everything down in the middle of a live campaign. Do not keep spending simply because the dashboard reports results either. Audit a sample.
- Take a set of chats and check the same contact in Ads Manager, Business Suite, and WhatsApp Business on the phone.
- If Business Suite says “Message can’t be displayed,” open that thread on the phone. If the only thing there is a disappearing-messages notice, separate it from the rest.
- Classify each one by type: human text, commercial intent, generic greeting, technical event only, confirmed false positive, appointment, registered customer, sale.
- Write to a sample of silent contacts. Something neutral works better than an interrogation: “Hi, this is [business]. We saw that a chat opened from our ad. To help you properly, were you looking for information or did you tap it by mistake?” If it was a mistake, thank them and close the conversation. Do not chase anyone, and do not count them as a lead.
- To test the setup, run a campaign on Facebook Feed only, without forms or Flows, and with automatic personalization turned off. You do not diagnose and scale at the same time. Here you need control, not Meta improvising ten versions of your ad.
How to search for this problem
If you are going to investigate it, search in both Spanish and English. Almost nobody uses the same name for the problem, and the best information is scattered across both languages.
In Spanish:
- “Meta Ads WhatsApp conversaciones iniciadas sin mensaje”
- “Ads Manager muestra conversaciones pero WhatsApp no recibe mensajes”
- “Business Suite Message can’t be displayed WhatsApp”
- “WhatsApp mensajes temporales anuncios Meta”
- “leads de WhatsApp no aparecen Meta Ads”
In English:
- “Click-to-WhatsApp conversations started no message”
- “WhatsApp leads not showing Meta Ads”
- “missing WhatsApp leads” or “weird WhatsApp leads”
- “disappearing messages Meta Ads WhatsApp”
- “unsupported message ephemeral WhatsApp”
Sometimes everything begins with naming the problem correctly. If you search for “my leads dropped,” you will get generic advice. If you search for “Messaging Conversations Started no WhatsApp message,” you will find people with your exact symptom. You will also learn that you are not alone. Entire threads are filled with advertisers describing this, including accounts that jumped from 5 or 10 messages a day to more than 50 without producing a single new customer.
What I still do not know
I do not have the definitive fix, and I will not invent one.
Several hypotheses remain alive, and the truth is probably a mixture of them: accidental clicks, recent changes in Meta or WhatsApp, disappearing messages, automated formats, fast placements, miscounted attribution. I removed the form and limited the campaign to Feed at the same time, so I cannot fully isolate even my own result.
One thing did become clear, and it is the only thing that truly matters. Much of the noise was not some inscrutable Meta bug beyond my control. It came from my setup, and I can control that today without asking anyone’s permission.
Caution does not mean standing still. If a campaign is spending money and half its results have no person behind them, you have to intervene, calmly and with numbers, not blindly. What you cannot do is keep making decisions with a metric that mixes real customers with threads nobody wrote. In a small account, that can be the difference between growing and burning through the budget while admiring a beautiful dashboard.
Frequently asked questions
Why does Ads Manager show WhatsApp conversations when no messages arrive? Because the conversations-started metric can fire when the chat opens, an automated greeting appears, an icebreaker runs, or a form starts, even if the person never writes anything. The number rises without any intent behind it.
What does Messaging Conversations Started mean in Meta? According to Meta, it counts the number of times someone sends the business a message for the first time, or after seven days of inactivity, attributed to the ads. In Click-to-WhatsApp campaigns, counted threads can appear without human text, so the metric is not the same as a lead, appointment, or sale.
Why do the chats arrive with disappearing messages enabled? Disappearing messages are a WhatsApp privacy feature that users can enable by default. It is not a bug. The problem is treating that event as if it were a conversation.
What does “Message can’t be displayed” mean in Business Suite? It refers to content the inbox cannot display, such as an unsupported message type or technical event, sometimes labeled “unsupported message: ephemeral.” If the phone does not show any text from the user either, that thread is not a real conversation.
How do I know whether my WhatsApp leads are real or junk? Check the same contact in Ads Manager, Business Suite, and the phone. If there is only a disappearing-messages event and no text, do not count it as a lead. Measure cost per chat containing human text, not cost per conversation.
Should I stop using WhatsApp as the ad destination? Not immediately, especially if it worked before. Isolate the variables first. Use Facebook Feed only, remove forms, turn off automatic personalization, and measure actual human text. If a clean campaign still fills up with ghost threads, then I would consider instant forms, search, or another campaign structure.