Measurement and attribution · 2026 · 5 min read

I shut down a channel that hadn't produced a single sale in a year

The client paid for two kinds of enquiry. One produced buyers, the other produced no sales in a year — and that one had the lowest cost per enquiry.

334 / 337
incorrect values in the built-in report
71%
of sales from a single ad
None
sales from the cheapest enquiry type in a year
46 / 61
buyers confirmed from the enquiry type that produced sales
Illustration — I shut down a channel that hadn't produced a single sale in a year
Illustration

Where this started

The client paid for two kinds of enquiry for a year. One produced buyers. The other produced no sales at all.

The problem was that the second one had the lowest cost per enquiry.

The client had advertised on Meta’s platforms for two years and collected several thousand enquiries in that time. Enquiries entered the CRM automatically, and each deal carried a field that was supposed to show which ad it had come from. The monthly reports were built on that field too. At first glance, nothing looked wrong.

The brief was not to repair the measurement — it was to answer one question: which ads actually produce sales.

Why that question could not be answered

The ad field was not populated from the data that arrived with the enquiry. It was populated from a fallback value attached to the form. When I compared it with each enquiry’s original record, the discrepancy was not marginal: of 337 populated values, 334 were wrong. Three were correct.

The consequence was more than an imprecise report. The field consistently identified one ad as the best performer, but it was not the ad actually producing the sales. Someone relying on that report in good faith could have increased spend on an ad that produced almost nothing.

What the measurement showed

Attribution was rebuilt from each enquiry’s original record and connected to deal outcomes. The distribution was heavily concentrated: one ad accounted for 71% of all attributed sales and 67% of total margin. The next best ad in the entire account had two sales.

It is equally important to say where the data stops supporting a strong conclusion. In this dataset, first place was clear; the ranking below it was not. When every other ad has two sales or fewer, the differences between them are not large enough to support a meaningful ordering.

Why it stayed invisible

The enquiries fell into two types, depending on what the visitor was asking for — and that split appeared in none of the reports the client was reading.

The type that produced nothing had the lowest cost per enquiry in the entire account. Cost per enquiry is the figure the advertising platform puts in front of you, so by that measure it looked like the best part of the account for a year.

How the finding was checked

There is an obvious objection to a result like this: perhaps those enquiries close outside the CRM, where the measurement cannot see them.

So I matched the client’s own record of actual buyers by name against the enquiry records. Of 61 buyers, 46 came from the enquiry type that showed sales. None came from the cheaper type.

The 46 matter more here than the zero. They show that actual buyers can be connected back to enquiry records and that the comparison is not simply returning nothing. Without that check, a zero could just as easily mean that something was wrong with the data.

What was built from it

The first thing I did was shut down the enquiry source that produced no sales. Then two permanent changes: attribution is now calculated from the enquiry’s original record rather than the fallback field, and deal outcomes are sent back to the advertising platform as server-side events — so optimisation runs on qualified enquiries rather than the number of submitted forms.

What this example shows

The measurement was built in, the report existed, and every individual figure had been calculated correctly. What was wrong was the connection between the ad, the enquiry and the outcome.

So one question is worth asking of any system that reports your advertising results: do you know which ad your last buyer came from, rather than your last enquiry? If answering that requires joining two spreadsheets by hand, then in practice you do not have the answer yet.

PythonMeta Marketing APIMeta Conversions APIn8nGoogle Sheetscron

Want something like this?

Thirty minutes on what it should do and what it replaces. Free, no deck.

Book a free Fit Call