Your GA4 report shows 41 leads for October. Google Ads shows 47 conversions. Someone asks which one is right, and the honest answer is that both might be.
GA4 and Google Ads measure different things by default. They count on different dates, credit different channels and can use different counting rules. A gap between them is common even when tracking works perfectly. See Google’s guide to reporting discrepancies.
Before you change a tag, work through the checks below in order. Most gaps are explained in the first two steps. If you get to step three with a gap you can't explain, you have a tracking question worth investigating.
Step 1. Make a comparable pair
You can only compare two numbers that are trying to measure the same thing. Start by writing down exactly what each one is.
Find the GA4 key event
In GA4, go to Admin, then Data display, then Key events. Note the event name, for example generate_lead, and its counting method. GA4 can count a key event once per event or once per session.
Find the Google Ads conversion action
In Google Ads, go to Goals, then Conversions, then Summary. Find the action you're comparing and note four things.
- Source. Is it imported from GA4, or does it come from a Google Ads tag on the site? If both exist for the same form and both are primary, the same lead may be counted twice.
- Counting. "Every" counts all conversions after a click. "One" counts one conversion per click.
- Primary or secondary. Check which goals the campaign uses. Secondary actions normally appear in All conversions. A custom goal can include a secondary action in bidding and reporting.
- Conversion window. How long after a click a conversion can still be credited.
Record the settings before you compare counts
Fill in this worksheet before looking at the numbers.
| Setting | GA4 | Google Ads |
|---|---|---|
| Action name | generate_lead | Quote form submit (GA4) |
| Counting method | Once per event | One |
| Date range | Oct 1 to Oct 31 | Oct 1 to Oct 31 |
| Timezone | Property timezone, America/Chicago | Account timezone, America/New_York |
| Traffic included | Google Ads traffic only (filtered) | Google Ads clicks only |
| Attribution | Report attribution setting | Conversion action attribution model |
| Reporting date | Date of the event | Date of the ad click |
| Count | 41 | 47 |
Illustrative example. Replace with your own values.
Filter to the same traffic
A common mistake is comparing all GA4 leads with Google Ads conversions. Google Ads only reports conversions that follow its own ad interactions. GA4 counts leads from every channel unless you filter it. Filter GA4 to Google Ads traffic before comparing.
Step 2. Separate expected differences from defects
With a comparable pair, check the differences that are built into how the two platforms report.
Reporting date
Google Ads reports a conversion on the date of the ad click that led to it. GA4 reports it on the date the event happened. If someone clicks an ad on October 31 and submits the form on November 2, Google Ads counts it in October and GA4 counts it in November.
To compare on the same basis, add the "Conversions (by conv. time)" or "All conv. (by conv. time)" column in Google Ads. These report by the date of the conversion, which is closer to how GA4 reports.
Recent data
Google Ads can keep crediting conversions to a click for the length of the conversion window. A recent date range will keep changing for days or weeks. Compare a period that has had time to settle, ideally at least two weeks old.
Timezone
If the GA4 property and the Google Ads account use different timezones, a conversion near midnight can land on a different day in each. Over a month this is usually small. Over a single day it can be most of the gap.
Attribution
Google Ads gives credit only to Google Ads interactions. GA4 can credit other channels, depending on its attribution settings. A lead who clicked an ad, then came back through an email and converted, may be credited to Google Ads in one platform and to email in the other.
Counting and columns
If the Google Ads action counts "Every" and a visitor submits twice, Google Ads counts two. If you compare the All conversions column with GA4, you may be including secondary actions that GA4 isn't counting.
Worked example
Back to the October numbers. Illustrative.
| Check | Effect on the gap |
|---|---|
| Starting gap | Google Ads 47, GA4 41, difference 6 |
| Switch Google Ads to Conversions (by conv. time) | Google Ads 45. Two leads clicked in October and converted in November |
| Align date boundaries for the one hour timezone difference | Google Ads 44. One lead fell on a different day |
| Remaining gap | 3 |
Three leads still don't line up. At this point the settings have been ruled out, and it is worth checking the tracking itself.
Trace a test submission
Make one test enquiry you can identify later. Use a clearly fake name such as "Test Lead 2026-10-14 1042" and submit it at a time you write down.
- Open GTM preview mode and GA4 DebugView before you submit.
- Submit the form once.
- In GTM preview, note every tag that fired and which trigger fired it.
- In DebugView, count how many generate_lead events arrived for your session.
- Check your CRM for the test record.
In this example, DebugView shows two generate_lead events, eleven seconds apart. One fired on the button click and one on the thank-you page. That is a double fire. It confirms a duplicate event on this test path. Whether it also increases the Google Ads count depends on ad eligibility and the action’s counting settings. This test alone does not explain the remaining gap.
Step 3. Record what you found
Write down what you checked so the next person doesn't start over.
Comparison worksheet
| Check | GA4 | Google Ads | Explained? | Notes |
|---|---|---|---|---|
| Same action | ||||
| Same counting method | ||||
| Same traffic | ||||
| Same reporting date basis | ||||
| Same timezone | ||||
| Period at least two weeks old | ||||
| Test submission result |
When to escalate
Escalate to whoever owns tracking when any of these are true.
- A test submission fires the event more than once, or not at all.
- The gap is still large after every setting in the worksheet is aligned.
- The CRM count is far from both platforms.
- The conversion is used for bidding and you aren't sure which version is correct.
What a test can and can't tell you
A test submission proves whether one path works the way you expect, on one device, in one consent state. It doesn't prove every visitor's path works. Ad blockers, consent choices and browser privacy settings mean neither platform sees every visitor, and the two may not miss the same ones. Some gap may remain even after everything is fixed. The goal is a gap you can explain.
Get a second pair of eyes
If you've worked through this and still can't explain the difference, a GA4 and Google Tag Manager audit traces every conversion path and documents the fix. If the numbers disagree inside your weekly report, the guide How to automate a weekly marketing report shows how to set a date basis and reconcile totals. Back to all guides.
Tell us which conversion action doesn't match, and we'll review it.
Let's talk