...
...
...
...
How to Fix Broken Conversion Tracking: A Diagnostic Framework
We help businesses scale with data-driven strategies and world-class design.
Get Started rocket_launchLet's Elevate Your Brand
Share your details, and our experts will map out a custom strategy.
Request Received!
We've successfully logged your details. Our CRM team will reach out to you shortly.
Broken conversion tracking almost always fails in one of five places: the tag never fires, it fires with the wrong data, the signal is blocked or lost on the way, the user is lost between pages or domains, or the same action is counted twice. The fastest way to fix it is to test in a fixed order instead of changing settings at random. This guide gives that order, what to look at in each step, and how to confirm the fix.
Start by naming what is actually broken
Most reports of 'broken tracking' are one of four different problems. Each points at a different layer, so name yours before touching anything.
| What you see | Most likely layer |
|---|---|
| Zero conversions since a certain date | A site, tag or consent change removed or blocked the tag |
| Conversions in GA4 but none in Google Ads | Ads linking, key event import, or missing click ID (gclid) |
| Ads shows far more conversions than the CRM or inbox | Double counting, or counting a weak action such as a button tap |
| Numbers differ slightly between platforms | Normal: different attribution, time zones and reporting delay |
Small differences between Google Ads and GA4 are expected because they attribute conversions differently. Investigate large gaps, sudden drops to zero, and totals that do not match real enquiries.
Step 1: Check the conversion action in Google Ads
Open the conversion actions list in Google Ads and read the status of the action you care about. Statuses such as 'No recent conversions', 'Unverified' or 'Inactive' tell you whether Google has seen the tag recently. Also check three settings that quietly distort data:
- Primary or secondary. Only primary actions are used for bidding. A secondary action can show conversions and still not influence Smart Bidding.
- Count. 'One' suits leads (one form, one lead). 'Every' suits purchases. Counting every form submission as every conversion inflates lead numbers.
- Conversion window and attribution model. The default click-through window is 30 days. A shorter window means fewer conversions credited to older clicks.
Step 2: Prove the tag fires
Do not trust the platform report to tell you whether the tag fired. Test the page directly.
- Open Google Tag Manager Preview (Tag Assistant), load your site, and complete the real conversion, such as submitting the form. Confirm the conversion tag shows as fired on the right event, and fired only once.
- For GA4, use DebugView and confirm the event arrives with the expected name and parameters.
- In the browser's developer tools, open the Network tab and look for the request to Google's collection endpoint when the conversion happens. No request means the tag did not fire; a blocked request points to an ad blocker or consent setting.
If the tag fires in Preview but not for real visitors, suspect consent settings, a caching or minification plugin that rewrites scripts, or a different container version published to the live site than the one you tested.
Step 3: Check the Conversion Linker and auto-tagging
Google Ads conversions rely on a click ID (gclid) appended to the landing page URL when auto-tagging is on. The Conversion Linker tag in Google Tag Manager stores that click ID in a first-party cookie so a conversion on a later page can be matched to the ad click.
- Confirm auto-tagging is switched on in the Google Ads account settings.
- Confirm the Conversion Linker tag fires on all pages.
- Check redirects. A redirect from http to https, from non-www to www, or through a link shortener can drop the gclid before the page loads. Test by opening a landing page URL with a dummy gclid parameter and checking that it survives to the final URL.
Step 4: Check GA4 key events and the Google Ads link
GA4 now calls conversions 'key events'. If Google Ads imports a GA4 key event, three things must be true: the GA4 property and Google Ads account are linked, the event is marked as a key event, and the event actually fires on the real conversion step.
Avoid counting the same action twice. If you track a form submission with a native Google Ads conversion tag and also import the matching GA4 key event, set only one of them as the primary action. A common sign of double counting is Google Ads reporting roughly double the leads you can find in your inbox or CRM.
Step 5: Follow the user across domains and payment pages
If the checkout, booking engine or form lives on another domain, the visitor can arrive as a new session or as a referral from the payment provider, and the original source is lost.
- In GA4, list all the domains in the cross-domain configuration so the session ID is carried across.
- Add payment gateways and booking tools to the unwanted referrals list so they do not take credit for the sale.
- Make sure the Conversion Linker tag also runs on the second domain.
Step 6: Check consent handling
A cookie banner can switch off the tags that record conversions. Google Consent Mode uses four signals: ad_storage, analytics_storage, ad_user_data and ad_personalization. If your banner sets these to denied by default and never updates them to granted after the visitor accepts, tags will keep running in a restricted mode and reported conversions will fall.
Test the banner in both states: reject everything, then accept everything, and watch what the tags do in Tag Assistant. Where a consent platform is connected correctly, Google can model some of the conversions it cannot observe, but modelled data does not replace a working setup. Consent requirements depend on where your visitors are and on laws such as India's Digital Personal Data Protection Act, 2023, so confirm the wording and legal basis with your legal adviser.
Step 7: Fix the trigger, not just the tag
Many broken setups have a healthy tag attached to a weak trigger.
- Thank-you page triggers. A page-view trigger on a thank-you URL counts reloads and bookmarks. Prefer a form-success event pushed to the dataLayer, or make sure the thank-you page cannot be revisited to inflate counts.
- Form submit triggers. A generic 'form submit' trigger can fire when validation fails, so a visitor who never completed the form is counted. Fire on the success state instead.
- Single-page apps and pop-up forms. The URL may not change, so a page-view trigger never fires. Use a custom event.
- Calls and chat. A click on a phone number records a tap, not a connected call. For calls that matter, use call tracking that records duration, and treat taps as a weaker signal.
Step 8: Add enhanced conversions or offline import where it helps
Enhanced conversions send hashed first-party data, such as an email address from a form, to improve matching when cookies are missing. For lead generation, importing offline conversions lets Google Ads see which leads became real customers. Both need the right fields captured at submission (for example the gclid stored with the lead in your CRM) and a way to upload them regularly. They improve measurement of real outcomes but do not fix a tag that is not firing, so complete steps 1 to 7 first.
Allow for reporting delay before you decide
Conversions can appear in Google Ads hours or days after the click, depending on the conversion window and import schedule. Check a fix after a full day of traffic rather than after a few minutes, and compare like for like date ranges, because recent days are usually incomplete.
Quick reference: common failures
| Failure | Typical symptom | What to check |
|---|---|---|
| Tag removed in a theme or plugin update | Drop to zero on a specific date | Live site source, published container version |
| Wrong trigger | Too many or too few conversions | Tag Assistant on a real submission |
| Missing Conversion Linker or auto-tagging off | GA4 shows conversions, Ads does not | Linker tag on all pages, account setting, gclid after redirects |
| Consent default never updated | Conversions fall after a banner change | Consent states before and after accepting |
| Double counting | Ads shows about twice the real leads | One primary action per real-world event |
| Cross-domain break | Sales credited to the payment provider | GA4 domain list, unwanted referrals |
Why this matters before you touch bids
Smart Bidding strategies, including portfolio bidding, optimise toward the conversion data they receive. If that data is missing or wrong, the algorithm optimises toward the wrong outcome. Fix measurement first, then judge campaign performance. For the fundamentals of what to measure, read our guide to conversion tracking for businesses. If you would like help auditing a live account, see our Google Ads services.
Verification checklist
- Complete a real test conversion and see the tag fire once in Tag Assistant.
- See the event in GA4 DebugView with the expected parameters.
- Confirm the Google Ads conversion status moves to recording after traffic accumulates.
- Match a sample of recorded conversions against real enquiries or orders.
- Test with consent rejected and accepted.
- Record the container version and the date of the fix, so later changes can be compared against it.
Frequently asked questions
Why do Google Ads and GA4 show different conversion numbers?
They use different attribution rules, conversion windows and counting methods, and they report on slightly different timelines. Small gaps are normal. A large or sudden gap is worth investigating.
How long until fixed tracking shows up in reports?
New conversions usually appear within hours, but some arrive later depending on the conversion window and any imports. Allow at least a full day of traffic before judging a fix.
Does a conversion count if the visitor rejected cookies?
It depends on your consent setup. With Consent Mode correctly implemented, Google may model some conversions it cannot observe directly. Without it, those conversions are usually lost.
Should I count phone-number clicks as conversions?
Only as a secondary signal. A tap is not a connected call. For lead quality, track calls that last a meaningful length of time.
Can broken tracking affect my bidding?
Yes. Automated bidding learns from the conversions it sees. Wrong or missing data leads it to optimise for the wrong behaviour.