Two Thousand Clicks, Zero Conversions: Why Exactly Zero Is Usually a Tracking Number

By Jackson Kolinski · October 5, 2026 · 9 min read
Two Thousand Clicks, Zero Conversions: Why Exactly Zero Is Usually a Tracking Number

The shape of this one is consistent. A brand that converts respectably somewhere else, usually Meta, turns on a Google campaign. Spend goes out, clicks come in by the thousand, and the conversion column reads zero. The thread that follows is always about placements, or about auto-generated assets, or about traffic quality. Those are reasonable things to investigate. They are not what produces exactly zero.

Zero is a different claim from bad

This is the whole argument, so it is worth being precise about it.

Bad traffic produces a low conversion rate. Mismatched intent produces a low conversion rate. Display and video placements that nobody asked for produce a low conversion rate. All of those are real problems and all of them produce small numbers rather than no number.

Suppose your products convert at three per cent on a channel you already run. Across two thousand clicks, that rate predicts about sixty sales. For the real figure to be zero, the true conversion rate on this traffic would have to be not merely worse, but essentially nil.

Run the arithmetic even on a pessimistic assumption. If this traffic converted at one tenth of your known rate, a dismal 0.3 per cent, the chance of recording zero across two thousand clicks is still roughly one in four hundred. At the full three per cent it is so small it is not worth writing down. Zero is not the bottom of the distribution of bad outcomes. It sits outside it.

When a number lands outside the range that any amount of bad performance can produce, the explanation is usually that the number is not measuring what you think.

What actually produces a true zero

There is a short list, and it is mostly configuration rather than catastrophe.

  • The conversion action never fires. The tag is missing on the confirmation page, fires before the page completes, or is blocked. Nothing is recorded, so nothing is reported.
  • The conversion action exists but is unverified or inactive. Google will tell you this in the conversions table if you look, and nowhere else. Campaign reporting does not interrupt you about it.
  • The action is set to Secondary rather than Primary. This is the quietest one and it deserves its own section below.
  • The conversion belongs to a different account. Common with agency handovers and multi-account structures: the tag is firing happily into an account that is not the one running the campaign.
  • The conversion window closed before the sale. Rare at this volume, but real for long consideration cycles.
  • The tag fires on a page nobody reaches. A thank-you page that was replaced by an inline confirmation during a redesign, with the tag left on the orphaned URL.

Notice that every one of these is invisible from the campaign view. The campaign reports zero conversions in all six cases and in the genuine case, identically.

The Primary and Secondary trap

This one catches experienced people, so it is worth spelling out.

Google Ads distinguishes between conversion actions that are included in the main "Conversions" column and ones that are only reported in "All conversions". An action marked Secondary still records perfectly. It appears in the account. It simply does not appear in the column most people read, and, more importantly, it does not feed automated bidding.

So the failure mode is: the tag works, the sales are recorded, the Conversions column says zero, and Smart Bidding is optimising towards nothing at all. The campaign is not merely mis-reported, it is structurally unable to learn. A new campaign built by someone who set up the conversion action in a hurry can land in this state on day one and stay there.

The check takes ten seconds: open the conversion action and look at whether it is set as a primary action for the account or campaign, then look at "All conversions" alongside "Conversions". If All conversions shows numbers and Conversions shows zero, you have found it, and you have not lost the data, only the bidding signal.

The test order that settles it

Every diagnostic conversation about this goes in circles until somebody does the one thing that produces an answer: put a real order through the site and watch what happens.

  1. Buy something yourself, on a normal device, through a normal browser, ideally having arrived from an ad click so the click identifier is present.
  2. Confirm the order exists in your own backend. That establishes the purchase was real regardless of what any platform says.
  3. Watch for the conversion to appear in the Google Ads conversions table. Allow for reporting delay rather than refreshing for ten minutes and declaring it broken.
  4. If it never arrives, the tag is not firing or not reaching this account, and you are now troubleshooting a tag rather than a campaign.
  5. If it arrives but the campaign column stays at zero, it is the Primary and Secondary problem, or a counting setting.

This costs you the price of one product and about twenty minutes, and it eliminates roughly everything. It is remarkable how often a fortnight of forum speculation precedes it.

Counting settings, briefly

While you are in the conversion action, check the counting option. Google lets you count every conversion or only one per click, and the correct setting depends on whether repeat purchases from one click should each count. This will not turn a healthy number into zero, but it does explain a surprising number of "our numbers are half what they should be" cases, and you are already in the right screen.

Why Performance Max makes this worse

None of the above is specific to Performance Max, but PMax does sharpen it for two reasons.

First, it is almost always the campaign type someone launches when they are new to Google, which means the conversion setup is frequently new too. The two most likely things to be broken are both being introduced in the same week.

Second, PMax leans heavily on the conversion signal to decide where to spend. A campaign that is receiving no conversion signal has nothing to steer by, so it distributes spend across whatever is cheapest, which is usually display and video inventory. People then observe the placement distribution and conclude that bad placements caused the zero.

The causation very often runs the other way. The missing conversion signal produced the placement distribution. Fighting the placements without fixing the signal treats the symptom, which is why those threads never resolve.

If it turns out to be real

Sometimes it is. A test order goes through, the conversion lands, the column moves, and the campaign genuinely is not converting. That is a legitimate outcome and the work from there is different: intent mismatch, a landing experience that works for social traffic but not search, pricing against competitors who appear alongside you.

The reason to do the tracking check first is not that tracking is always the answer. It is that the tracking check is cheap, fast, and definitive, and every other investigation is expensive, slow and inconclusive while the measurement is in doubt. You cannot evaluate traffic quality using a number that might not be counting.

Check the tag exists before you check anything clever

One step sits underneath all of the above and is routinely skipped because it feels too obvious: confirm the Google tag is actually present and firing on the domain the ads point at.

The ways this goes wrong are mundane. The site was migrated and the tag went with the old theme. The tag is on the main domain but checkout happens on a subdomain that nobody added. There are two tags from two different agencies and the live one belongs to an account you do not have access to. A consent tool is configured to block it by default in the region most of your traffic comes from.

Each of those produces a campaign that spends normally and converts zero, and none of them is visible from the campaign view. Confirming the Google tag is installed is a five-minute check and it belongs before the conversion action investigation, not after it, because if the tag is missing then everything downstream is explained already.

What recovery looks like once you fix it

When the conversion signal starts arriving, the campaign does not immediately perform the way it should have from the start. Automated bidding has been operating on nothing, so the first days after the fix are a learning period rather than a result.

Expect the cost per conversion to look bad before it looks good, and expect spend distribution to shift as the system discovers which placements and audiences actually convert. This is the same dynamic as any restart, and the mistake is to read the first unstable week as evidence the fix did not work, then change something else and lose the ability to attribute any of it.

Give it enough volume to settle before judging it, and if your weekly conversion count is low, be realistic that the settling period is measured in weeks rather than days. Changing the conversion setup again midway through resets the clock.

It is also worth going back and marking the date the tracking was broken, so that any historical comparison anyone runs later does not treat that period as a real performance benchmark. Plenty of accounts carry a permanent dent in their year-on-year numbers that was never a business event at all.

The general rule worth keeping

Treat exact zeros, perfectly round numbers, and metrics that are flat for days as claims about your instrumentation rather than claims about your business. Real performance is noisy. It wobbles. When a number stops wobbling entirely, something has usually stopped arriving, and the same logic applies when the opposite happens and conversions fall away while spend carries on.

The platform will keep reporting that zero with total confidence for as long as you let it, and it will keep spending at the rate you set while it does.

Sources

Stop finding out about broken tracking from your client.

Taglert monitors your pixels and conversion tracking 24/7 and alerts you the moment something breaks. 7-day free trial, no credit card.

Start your free trial

Related reading