Why Google Ads and GA4 Numbers Don't Match

Google Ads counts clicks and GA4 counts sessions, with different dates, windows and filters. Find your gap in 20 minutes.

Author
SourceTrack Team
Read Time
05 Mins read
Published Date
Why Google Ads and GA4 Numbers Don't Match

Google Ads counts clicks on your ads. GA4 counts sessions that start on your site after its tag loads. Those are different events, so they will never be equal. The gap is usually a mix of counting rules, dates, attribution windows, consent and filtering, and you can size each part in about 20 minutes.

Which definitions differ between Google Ads and GA4?

Most “mismatches” are two correct numbers answering two different questions. This table lists the differences you can check against Google’s own documentation.

TopicGoogle AdsGA4Source
What is countedA click on the adA session, which is a period of interaction with your site that by default ends after 30 minutes of inactivityGA4 sessions
Repeat clicksMultiple clicks by the same user on the same ad count as multiple clicksA session ends after 30 minutes of inactivity by default, so several clicks can fall in one session or noneAuto-tagging, GA4 sessions
Session countsCounted per GCLID row in the click view reportEstimated from unique session IDs, so small differences from BigQuery are expectedGA4 sessions
Conversion dateThe date and time of the clickThe date the conversion happenedImport conversions
Conversion counting“Every” or “One” per clickCan count every event instanceImport conversions
Invalid clicksConversions tied to invalid clicks are filteredCan still record themImport conversions
Cookie lifeAds cookies expire 90 days after the clickAnalytics cookies last up to 2 yearsImport conversions
Date boundarySet on your Google Ads account: check it against your GA4 property’s settingYour GA4 property’s reporting time zone, which dates a visit by that zone, not the visitor’sGA4 time zone
BotsFilters conversions tied to invalid clicksKnown bots and spiders are excluded, and you cannot turn that off or see how much was removedGA4 bot exclusion
Visitors who decline cookiesNot covered by the pages cited hereConsent mode can model part of the gap, but only above the thresholds on the linked pageBehavioral modeling
Attribution windowSet per conversion actionClick-through windows can be set from 1 to 90 days, per conversionGA4 attribution settings

How do I tell which cause is hurting me?

Run these in order. Each step ends with a decision.

  1. Pick one date range and one campaign. Use a full past week so late conversions have landed. Write down Ads clicks, GA4 sessions from google / cpc for the same campaign, and both conversion counts.
  2. Check the time zones. Open the Google Ads account time zone and the GA4 property’s reporting time zone. If they differ, shift your range to whole days in both and re-pull. If the two are in different zones, daily numbers will not line up, even if weekly totals nearly do.
  3. Check auto-tagging. In Google Ads account settings, confirm auto-tagging is on. Google says auto-tagging adds a GCLID parameter to the landing URL and that redirects can drop it. Click one of your own ads, then look at the final URL in the address bar. If gclid is missing, fix the redirect first. Nothing below matters until this works.
  4. Compare the counting method. In Google Ads, open the conversion action and read whether it counts Every or One. In GA4, check whether the key event counts every occurrence. If Ads says One and GA4 counts every event, GA4 will run higher by design.
  5. Compare windows. Read the click-through window on the Ads conversion action and the GA4 attribution setting. If GA4’s window is longer, late conversions appear only in GA4.
  6. Check your consent banner. If visitors can decline analytics cookies, GA4 will miss some of them unless consent mode modelling applies. Google says modelling needs at least 1,000 events per day with analytics_storage='denied' for at least 7 days, so a small site may never qualify.
  7. Compare the 7-day gap to the previous week. If the percentage is steady, you have a counting difference. If it moved by several points, something changed in step 2, 3 or 6.

What does a conversion gap look like with real mechanics?

Here is an illustrative example. These numbers are made up, but every rule comes from Google’s documentation.

  • A person clicks your ad on July 19 and submits your lead form that day. Two days later they submit it again in a new session.
  • Google Ads dates both to July 19, the click date, and counts one conversion if the action is set to One.
  • GA4 records two key events, dated July 19 and July 21.
  • Your Ads report for July 19 to 21 shows 1 conversion. GA4 shows 2.

Now add a second person who clicks on day 1 and converts on day 95. Google Ads cookies expire 90 days after the click, so Google Ads misses it. GA4’s cookie can still be alive, so GA4 may still show it.

Neither tool is wrong. They answer different questions.

What will never match?

Be honest with your boss or client about these.

  • Clicks and sessions. A click is logged when it happens. A session needs your page to load and your tag to run. Google does not publish a figure for that loss, so measure your own: sessions divided by clicks, per campaign.
  • Bots. GA4 excludes known bots and does not tell you how many. You cannot reconcile what you cannot see.
  • Modelled data. Where consent mode modelling applies, GA4 shows estimates for users who declined cookies. Google says modelling does not apply to event counts such as page_view.
  • Estimates. GA4 session counts are estimated, so they will differ slightly from BigQuery exports.

Set a rule for yourself: investigate when the gap moves, not when it exists.

How do I get a second count that does not depend on either platform?

Record the visit on your own domain and compare. SourceTrack’s tracker stores each visit’s UTMs and click ids on your own domain, keeps first and last touch, and records the leads and revenue that follow. That gives you a first-party count to reconcile against, so you can see whether Google Ads or GA4 is closer to the leads you actually received. It does not remove the gap, and it has its own rules, such as respecting Do Not Track and Global Privacy Control.

Two free tools help here. The tracking gap calculator compares platform-reported conversions with the ones you recorded, and the UTM validator checks that your ad links are tagged the way you expect. If you want a recorded count running all the time, see pricing.

Further reading

Frequently asked questions

How big a gap between Google Ads and GA4 is normal?

There is no official number. Google does not publish an acceptable gap, so judge yours by its trend. A gap that stays steady week to week is a counting difference. A gap that jumps points to something that broke, such as auto-tagging, a redirect or your consent banner.

Should I trust Google Ads or GA4 for conversions?

Use Google Ads numbers to judge ad performance inside Google Ads. Use GA4 to compare channels on your site. Neither one knows which conversions became real leads or revenue, so check both against your own records.

Why does GA4 show more conversions than Google Ads?

The usual causes are the counting method, where GA4 can count a form filled twice and Google Ads set to One counts it once, and the window, because GA4 can credit a conversion after the Google Ads window has closed.

Will linking the two accounts make them match?

No. Linking moves data between the products. The two products still count by their own rules, so a gap remains.

Related Blogs

How to Track ChatGPT and AI Referrals That GA4 Cannot Tie to Revenue

Classify visits from ChatGPT, Claude, Gemini and Perplexity, tie them to leads and revenue, and know what no tool can see.

SourceTrack Team

Attribution & Growth Engineering

28 Jul, 2026

Click IDs Explained: gclid, fbclid, msclkid and More

What gclid, fbclid, msclkid, ttclid and li_fat_id are, who adds them, what drops them, and how to check you still have one at conversion time.

SourceTrack Team

Attribution & Growth Engineering

20 Oct, 2026

Closed-Loop Attribution Explained

Closed-loop attribution links an ad click to a lead, a CRM stage and revenue, then sends that back to the ad platform. See where it breaks and how to test it.

SourceTrack Team

Attribution & Growth Engineering

20 Oct, 2026