billahdotdev
6 min read

The sale that happens in a chat window

Click to message ads never touch your website, so nothing you installed can see them. What you can measure instead, and what you have to count by hand.

Most conversion tracking was built around one assumption: that somewhere between the ad and the money, the customer loads a page you control. A landing page, a cart, a thank you screen. That page carries your tracking code, the code fires, and the number turns up in a dashboard the next morning.

A growing share of buyers never load that page at all.

An ad that opens WhatsApp, Messenger or an Instagram DM takes the customer from the feed straight into a chat thread. No landing page, no checkout, no confirmation screen. Nothing on your site loads, so nothing on your site fires. The tracking here is not blocked or broken. It is simply never asked to do anything, and it will report nothing, confidently, forever.

This is not a small corner of the market

In Bangladesh this is most of the market. A great many businesses sell entirely through a Facebook page and a phone number, take orders in the inbox, and confirm delivery on a call. Plenty of them have never owned a website to instrument in the first place.

It would be easy to file that under local quirk. It is not one. Click to message is how a substantial part of commerce runs in Brazil, India, Indonesia, Mexico and across the Gulf. In Europe and North America the same pattern arrives wearing different clothes: Instagram DMs for a clothing label, a chat widget for a B2B service, a form that becomes an email thread, a call that gets booked online and closed on the phone.

The technology differs. The measurement problem is identical. The conversation is the funnel, and the funnel sits inside an app you do not own.

What the platform will and will not tell you

It will tell you how many conversations started, and what each one cost. Those are real numbers, and useful ones. They are enough to compare two creatives, two audiences, two offers.

It will not tell you which of those conversations turned into money. It cannot. The moment the customer moves into the chat, the platform is watching the doorway, not the room. Everything that decides whether you get paid happens in the room: the question about delivery charge, the photo of a damaged box, three days of silence, the voice note that finally says send it.

So the reporting splits in two, and it helps to stop expecting one system to hold both halves.

| Half | Where it comes from | |---|---| | Cost per conversation started | The ad account, automatically, every day | | Revenue per conversation | You, by hand, at least at first |

The first half is free and instant. The second half decides whether the channel is worth running at all, and nobody is going to produce it for you.

The part you do by hand

This is unglamorous and it works.

Label every thread the moment it arrives. WhatsApp Business has labels, Messenger has folders, most shared inboxes have something equivalent. One label for where the person came from, so ad traffic stays separate from referrals and regulars. One label for where the conversation ended: quote sent, bought, gone quiet.

Do it at the moment you reply, not at the end of the week. A thread labelled three days later is a thread labelled from memory.

At the end of the month, count. Conversations started, conversations that became orders, money collected. Divide the ad spend by the number of orders and you have cost per customer, which is the figure that mattered all along and the one the dashboard was never going to hand you.

It takes a few minutes a day. It is also more honest than most dashboards, because every number in it came from something that actually happened, counted by the person it happened to.

Two things fall out of that count almost immediately. You learn which ad brings people who buy rather than people who ask, and those are rarely the same ad. And you learn your own reply time, because the threads that went quiet will cluster around the days you answered late.

Getting some of it back into the platform

Once you know which conversations became sales, that knowledge does not have to stay in your inbox.

Ads that open a chat can carry a reference that arrives with the first message, so each thread can be traced back to the campaign that sent it. When a thread turns into an order, that outcome can be sent to the platform as a conversion from your server, the same way a purchase would be sent from a website. The algorithm then optimises towards people who buy, instead of towards people who type "price?" and disappear.

That is real engineering. It needs a chat platform you can read programmatically, somewhere to store each thread's outcome, and the discipline to record those outcomes the same way every time. Most businesses should not start here. Start with labels and one month of counting, find out whether the channel pays, and automate when the manual version becomes annoying. Annoying is the correct trigger. Building the pipeline first, for a channel you have not proven, is how people end up with beautiful instrumentation wrapped around a bad offer.

The trap in the middle

There is a tempting shortcut. Skip the chat. Send the ad to a form instead, collect the details, and measure everything cleanly from end to end.

You can. But a form is a promise to reply later, and the customer knows it. Interest cools in the gap between the submit button and your first message, and it cools fastest in exactly the buyers who were ready. A chat is already a conversation. The answer you type at eleven at night lands while the person is still holding the phone.

The messy channel usually converts better than the measurable one. That trade is worth making deliberately rather than by accident: measure the messy channel badly, on purpose, and improve the measurement later. Switching to a worse channel because it reports nicely is a decision made by the reporting, not by you.

One warning about chat automation

The obvious answer to volume is to automate the replies, and for the first layer of questions that is correct. Price, delivery time, what is in stock, how long the work takes. Answering those instantly at three in the morning is worth real money, and it is the difference between a channel that scales and a channel that owns your evenings.

Keep the boundary sharp. An assistant that guesses a delivery date, invents a discount, or argues with an angry customer does damage a human then spends a week undoing. Let it answer what it knows, tell it to hand over everything else, and make sure the handover reaches a person who is actually awake. Speed is only an advantage while the answers stay true.

What to take away

If your ads open a chat, accept that your website analytics will show none of it, and stop waiting for a dashboard to catch up with a conversation it cannot see.

Label every thread. Count them once a month. Compare cost per customer against what a customer is worth to you, not against the cost per message. Send outcomes back to the platform when the volume justifies the work.

The sale is real whether or not anything recorded it. The only question worth answering is which ad paid for it.

None of this is a reason to avoid the channel. Chat converts because it removes the wait, and a customer who can ask a question at midnight and get a straight answer is a customer who buys at midnight. Take the channel, accept the coarser measurement for a month, and let the labels tell you what the dashboard never will.

Writing