Thesis01 Ecosystem02 Products03 Independence04 Future05 About06 Journal07 Contact08
Attribution

Your ads are optimising for the wrong people, and your dashboard will never tell you

Fifty leads, three customers, and an algorithm that was told all fifty were wins. This is the most expensive measurement gap in lead-generation advertising — and the reason it survives is that every number on your dashboard looks fine while it happens.

Here is a situation that plays out every month in thousands of businesses, and almost never gets diagnosed.

You run Google Ads. Last month you spent ₹2,00,000 and received 50 leads. Your cost per lead was ₹4,000, which is roughly what it was the month before, so the campaign looks stable. Your sales team worked those 50 leads and closed 3 of them.

Your true cost per customer was ₹66,667.

Google, meanwhile, recorded 50 conversions. As far as its optimisation model is concerned, last month was a success, and it now has 50 fresh examples of what a good outcome looks like. It will spend the coming month finding more people who resemble those 50.

But those 50 are not your customers. Three of them are. The other 47 are, from a revenue perspective, a description of failure — and you have just handed all 47 to the algorithm as training data labelled success.

The gap is structural, not a settings mistake

The instinct is to look for a misconfiguration. A wrong conversion action, a broken tag, an attribution window set incorrectly. Usually there is nothing wrong with any of it.

The gap exists because of where the ad platform's vision stops. Google Ads can observe events that happen in a browser it can see. A click, a page view, a form submission. It cannot observe what happens after — the qualification call, the WhatsApp exchange, the site visit, the quotation, the negotiation, the payment. In a great many businesses, that invisible stretch is where the entire decision actually gets made.

So the platform optimises toward the last thing it can see. It is not being lazy or dishonest. It is doing exactly what it was told, with the only data it was given.

You did not ask Google for more customers. You asked it for more form submissions. It is delivering precisely that, with increasing efficiency.

Why it gets worse over time rather than staying flat

If the gap were a fixed inefficiency you could budget for it and move on. It is not fixed. It compounds, and understanding why is the difference between treating this as an annoyance and treating it as the most expensive problem in the account.

Smart Bidding is a learning system. It builds a model of who converts, then bids more aggressively for people who look like them. When your conversion signal is "submitted a form," the model gets better every month at finding people who submit forms.

The trouble is that "people who submit forms readily" and "people who buy" are different populations with only partial overlap. Form-fillers include comparison shoppers gathering quotes, students doing research, competitors checking your pricing, people who wanted a downloadable guide, and people who fill in every form they encounter out of habit. None of these are bad people. None of them are buyers.

Each month the algorithm becomes more efficient at reaching that population. Your cost per lead may even fall, which reads as improvement. Meanwhile the proportion of those leads that can actually buy declines, so your cost per customer rises. The two numbers move in opposite directions, and your dashboard only shows you one of them.

The numbers, made concrete

MonthSpendLeadsCost / leadCustomersCost / customer
January₹2,00,00050₹4,0003₹66,667
March₹2,00,00059₹3,3903₹66,667
June₹2,00,00071₹2,8172₹1,00,000

Between January and June, every metric visible in the ads dashboard improved. Cost per lead fell by 30%. Lead volume rose by 42%. Any report built from platform data would describe this as a strong six months.

The business actually acquired one fewer customer for the same money. Its real acquisition cost rose by half.

Why this hurts more in India than elsewhere

This problem exists everywhere, but its severity depends on how much of your buying journey happens outside the browser. On that measure, the Indian market is close to a worst case.

A large share of Indian digital advertising is lead generation rather than direct e-commerce — education, healthcare, real estate, financial services, manufacturing, professional services, home improvement. In these categories nobody clicks an ad and completes a purchase in one session. They enquire, and then a human being takes over.

That handover happens on a phone call or a WhatsApp thread. Both are invisible to every advertising platform. So the gap between "what the platform sees" and "what actually happened" is not a few percentage points at the end of a funnel — it is most of the funnel.

There is a second aggravating factor. The businesses most exposed to this are typically spending between ₹50,000 and a few lakh rupees a month. Enterprise attribution platforms exist and solve versions of this problem, and they are priced for enterprises. A tool that costs more than the leak it plugs is not a solution. So the businesses that need this fixed most are precisely the ones for whom nothing affordable has existed.

The fix is conceptually simple

Tell the ad platform what actually happened.

Both Google Ads and Meta provide a mechanism for exactly this. Google calls it offline conversion import; Meta handles it through the Conversions API. In both cases, the platform gives you a way to send back real outcomes that occurred after the click, and to attribute them to the specific click that produced them.

The chain works like this. A user clicks your ad, and Google attaches a unique click identifier — the GCLID — to the landing page URL. If you capture and store that identifier alongside the lead, you now have a permanent link between that person and the exact click, campaign and keyword that produced them. Later, when your sales team marks that lead as won, you upload the outcome back to Google against the stored GCLID.

Google now knows that this specific click produced ₹4,00,000 of revenue, while 47 other clicks produced nothing. And it will go looking for more clicks like the first one.

What changes when you do this

  • The bidding target changes. Instead of maximising form submissions, Smart Bidding maximises the outcome you actually reported.
  • Bad traffic becomes visible. Keywords that generate high lead volume and zero customers stop looking like winners.
  • Value-based bidding becomes possible. If you upload revenue rather than a binary won flag, the platform can prefer customers worth ₹4,00,000 over customers worth ₹40,000.
  • Reporting becomes honest. Cost per customer becomes a number you can read rather than one you reconstruct in a spreadsheet each quarter.

Why so few businesses do it

If the mechanism has existed for years and the benefit is this direct, the obvious question is why it is not standard practice. Four reasons, in roughly the order they bite.

You have to capture the GCLID at the moment of the click. If you did not store it when the lead arrived, it is gone. You cannot reconstruct it later from any report. Most lead forms and most CRMs do not capture it by default, so the crucial piece of data is discarded before anyone knows it matters.

The sales record and the ad record live in different systems. Outcomes live in a CRM, a spreadsheet, or a WhatsApp thread. Click data lives in the ads platform. Joining them requires a deliberate pipeline that somebody has to build and maintain.

The upload has to be routine. A one-off historical import teaches the algorithm nothing durable. This needs to run continuously, which means it cannot depend on somebody remembering to export a CSV every Friday.

Nothing forces the issue. This is the real reason. No alert fires. No dashboard turns red. Cost per lead — the metric most teams actually watch — often improves while this is happening. A problem that never announces itself does not get prioritised, however expensive it is.

Diagnose it in ten minutes

Take last quarter's total ad spend and divide it by the number of customers you actually closed from those leads — not leads, customers. Compare that number to what your ads dashboard reports as cost per conversion. The distance between the two is the size of the problem, in rupees. Most businesses doing this for the first time are surprised, and not pleasantly.

What good looks like

A business that has closed this loop has four things in place, and they are worth stating as a checklist regardless of what tooling you use to get there.

  1. Every lead is captured with its click identifier attached — GCLID for Google, the equivalent parameters for Meta — stored permanently with the lead record, not just for the length of a session.
  2. Sales outcomes are recorded consistently. Qualified, quoted, won, lost, and ideally the deal value. This is the part that requires human discipline; no software can invent it.
  3. Outcomes are uploaded back to the platforms automatically, on a regular cadence, within the platform's attribution window.
  4. Reporting is built on real customers, so the questions being asked are "which campaign produced revenue" rather than "which campaign produced form submissions."

None of this is exotic. It is the difference between telling an optimisation system the truth and telling it a convenient approximation of the truth. Machine learning systems are extremely good at maximising exactly what you measure, which is precisely why measuring the wrong thing is so costly.

The uncomfortable conclusion

If you are running lead-generation ads without offline conversion tracking, you are not simply missing some reporting. You are actively training a very capable system to find you the wrong people, and paying it to get better at that job every month.

The platforms are not hiding this. Google documents offline conversion import thoroughly. Meta documents the Conversions API thoroughly. The mechanism is available to anyone willing to build the pipeline.

The gap is not knowledge. It is that connecting a sales outcome back to a specific ad click requires infrastructure that most businesses of this size do not have and cannot easily justify building. That gap is the reason Claudphic Ads exists, and it is one half of the reason Claudphic exists at all — the other half being the same corruption of signal, pointed at buyers instead of sellers.

Either way, the principle is identical. When the signal people rely on is measuring the wrong thing, everything built on top of it gets quietly, expensively wrong.

Share this piece
Keep reading

More from the Journal.

Everything published here comes out of running the two products. Nothing is written to hit a keyword.