Scenario · Something looks broken
Are the conversions actually firing?
“Google Ads says zero conversions this month.” Usually from whoever is spending the budget.
When an ad platform reports zero conversions, the money is already spent and a campaign may be optimizing against a signal that was never really there. This rules out the most common — and cheapest to check — cause first: a form that silently rejects every submission looks identical to a tracking failure but is a website problem with a website fix. Only once the form and the measurement setup are both confirmed clean does the investigation move to what's happening inside the ad platform itself, which is outside what this can see.
What to ask for
See it work
A real run of Form submittability:
Form submittability · form-submittability — https://toolkit-tests.pages.dev/forms/overlay-submit.html (devices: desktop,iphone-17)
FAIL — https://toolkit-tests.pages.dev/forms/overlay-submit.html
✗ the submit button is covered by a fixed element (div.banner) — clicks land on the overlay, the form cannot be sent
• field textarea [message] is covered by a fixed div.banner — a visitor may not be able to click it
• field button is covered by a fixed div.banner — a visitor may not be able to click it
report: ./out/form-submittability-form-submittability.html
text: ./out/form-submittability-form-submittability.txtThe captured report, exactly as a run hands it to a client —open the full report ↗
This one has money attached, which is why it is worth a procedure rather than a look. A campaign optimising against a broken conversion signal spends the budget on the wrong thing, and the symptom — zero conversions — is identical whether the tag is broken or the form is.
- Establish what should count as a conversion, and on which page. A form submission, a phone click, a booking completion. Then find the page it completes on: the thank-you page, or the state the form leaves the visitor in. This is where the tag has to fire, and it is frequently not where it is installed.
- Rule out the form first. The submittability check exercises the form end to end. A form that rejects submissions produces exactly zero conversions and no error anywhere, and it is a website defect rather than a tracking one. Check this before touching a container.
- Audit what fires on the conversion page. The tag audit on the thank-you or confirmation page — not the form page. A conversion tag installed site-wide but triggered on a page view that never happens, or absent from the one template that matters, is the standard fault.
- Read the container. The container audit shows the conversion tag, its trigger, and whether it is paused. A trigger that stopped matching after a URL or form-ID change is invisible on the page and obvious here. GTM audit and fix’s authenticated workspace mode can confirm what the published version actually contains versus the workspace someone edited and never published.
- [manual] Complete a real conversion yourself and watch it. Submit the form with a recognisable test address, follow the visitor through to the confirmation state, and confirm the tag fires in the platform’s own debug view. This is the only step that proves the whole path, and nothing here can do it for you.
- [manual] Fix and republish. A missing tag, a wrong trigger, or an unpublished container version. Then repeat step 5 — a conversion fix verified by inspection rather than by conversion is not verified.
- Say what the gap cost. Which dates had no measurement. Conversion data does not backfill, and the campaign decisions made during the gap were made on bad numbers.
Zero and nearly-zero are different findings
A hard zero is usually structural — no tag, wrong page, unpublished container. A number that is merely lower than expected is usually consent, deduplication or attribution, and chasing it as a broken tag wastes the day. Step 1 pins down what should fire so the shape of the number means something.
What this does not cover
What happens inside the ad platform. Conversion imports, attribution windows, deduplication and smart-bidding behaviour all live in Google Ads and are invisible from the page — a conversion that fires correctly and still shows as zero in the platform is a linking or import problem this cannot see. It also cannot tell you a conversion is firing too often, which is the more expensive fault.