Skip to content
Optizads

Google Ads and GA4 in one report: why they disagree and how to read them

A client sees 96 leads in Google Ads and 81 in Analytics and asks which one is true. Both are, for different questions. Here is how to lay the two side by side without adding them up.

By the Optizads team8 min read

On this page
  1. Why put them in one report
  2. Why the numbers never match
  3. Key events and conversions
  4. Clicks are not sessions
  5. A worked reconciliation
  6. Build the report: one source per question
  7. Pitfalls
  8. How Optizads puts them together

The short answer

Put Google Ads figures for cost, clicks and conversions next to GA4 figures for what visitors did on the site, and never add the two together. They differ for known reasons. Google Ads books a conversion on the day of the click and GA4 on the day it happened, and they credit channels differently. A click is not a session, and consent and time zones change the counts. Pick one source per question, label every figure with it, and explain the gap once.

Why put them in one report

Google Ads knows what the ads cost and which conversions it credits to them. It does not see what people did once they landed. GA4 sees the visit, the pages, the time spent and every other channel, and it does not know what a click cost.

The questions a client asks mix both. Are the visits from ads any good? Did the leads come from ads or from someone who found us on their own? One report that answers them saves a call, as long as each figure says where it comes from.

Why the numbers never match

The two tools count different things in different ways. None of the differences is a bug, and most can be named.

  • Day a conversion is booked

    Google Ads
    The day of the ad click
    GA4
    The day the event happened
  • Who gets credit

    Google Ads
    Only Google ads, by the conversion action's attribution model
    GA4
    Every channel, by the property's reporting attribution model
  • What is counted

    Google Ads
    Conversion actions; the Conversions column counts primary ones only
    GA4
    Key events, once per event by default, or once per session
  • Traffic

    Google Ads
    Clicks, with invalid clicks taken out
    GA4
    Sessions, only when the page loads and the tag fires
  • Days

    Google Ads
    The account's time zone, fixed when it was created
    GA4
    The property's time zone, which can be changed
  • Consent

    Google Ads
    Models conversions lost to consent, with consent mode
    GA4
    Can model behaviour with consent mode, once thresholds are met

Two settings widen the gap further. Google Ads counts a conversion within each action's conversion window, 30 days after a click by default. GA4 has its own lookback window: 30 days for acquisition key events and 90 days for the rest, by default. Align them, or the same lead lands in one tool and not the other.

The date rule matters most in recent weeks. A lead that comes in on 10 May after a click on 5 May sits on 5 May in Google Ads and on 10 May in GA4. So last week in Google Ads keeps growing for days, while GA4 has already closed it.

Key events and conversions

Since March 2024, GA4 calls its conversions key events. Google Ads kept the word conversions. A key event is anything you marked as important in GA4: a form, a call click, a purchase.

A key event imported into Google Ads becomes a conversion action there. From then on it follows Google Ads' rules: the click date, the Google Ads conversion window and the action's attribution settings. The same form fill can therefore read 81 in GA4 and 96 in Google Ads, and both tools are behaving as designed.

GA4 properties also differ on which channels can take credit for conversions shared with Google Ads. Since June 2023, a property linked for the first time starts on Google paid channels only, while older links may still allow paid and organic channels. Check the setting under Admin, Attribution settings before comparing two accounts.

Counted twice

If a sale is tracked by the Google Ads tag and also imported from GA4, and both actions are primary, Google Ads counts it twice. Keep one primary action per real outcome and set the other to secondary.

Clicks are not sessions

Fernhill Garden Rooms, a made-up builder of garden offices, had 4,200 clicks in September. GA4 recorded 3,560 sessions with source and medium google / cpc, 85% of the clicks.

Each of these sits in the gap:

  • People who leave before the page loads. The click is paid, the tag never fires, no session exists.
  • Visitors who refuse cookies, depending on how consent mode is set up.
  • Two clicks in one visit. Google Ads counts both. GA4 does not start a new session when the source changes mid-visit.

Lost tracking adds to it: a redirect that drops the gclid, or auto-tagging switched off. Those send ad visits to other channels in GA4.

There is no right ratio to aim for. What matters is that it holds steady. If the share of clicks that become sessions drops from 85% to 60% in a week, look for a broken tag, a new consent banner or a redirect before blaming the ads. Google's troubleshooter for clicks and sessions lists the other usual causes.

A worked reconciliation

Fernhill's September: Google Ads shows 96 quote requests on €7,140, a cost per conversion of €74.38. GA4 shows 81 generate_lead key events on google / cpc sessions. The gap is 15.

  • Click date against event date

    Leads
    +3
    How it was estimated
    Leads early in October from September clicks, minus the same at the start of September
  • Credit given to ads, not to the last channel

    Leads
    +9
    How it was estimated
    People who clicked an ad, then came back through organic search and filled the form
  • Conversions modelled for consent

    Leads
    +3
    How it was estimated
    Google Ads' modelled share for the month
  • Total

    Leads
    +15
    How it was estimated
    81 in GA4, 96 in Google Ads
Made-up figures. The split is rarely this exact. Estimate the date part by reading a month again once it has been closed for a few weeks.

The report then keeps both. Google Ads' 96 is the number the bidding learns from, so the cost per conversion uses it. GA4's 81 shows how many leads came in a visit that started on an ad, which is closer to what the sales team saw.

Ratios across the two tools are fair when each part is labelled. Fernhill's cost per engaged visit from ads is €7,140 ÷ 2,350 engaged sessions = €3.04. Its cost per GA4 lead from ads is €7,140 ÷ 81 = €88.15.

Build the report: one source per question

  • What did we spend, on how many clicks?

    Source
    Google Ads
    Why
    It is the bill
  • How many leads or sales did ads bring?

    Source
    Google Ads conversions
    Why
    The figures the bidding learns from
  • Were the visits from ads any good?

    Source
    GA4, google / cpc sessions
    Why
    Google Ads cannot see the visit
  • What did the whole site do?

    Source
    GA4, all channels
    Why
    Google Ads only sees its own clicks
  • What revenue really came in?

    Source
    Your shop back office or CRM
    Why
    Both tools estimate, the till does not
  1. Link the two and check auto-tagging

    Link GA4 to Google Ads and keep auto-tagging on, so visits from ads arrive as google / cpc with their campaign.

  2. Align time zone and currency

    Set the GA4 property to the Google Ads account's time zone and currency: the Google Ads time zone cannot change once the account exists. Otherwise every day boundary moves.

  3. Name one conversion of record

    Choose the figure the report calls leads or sales, and say which tool it comes from. Show the other as context, never added to it.

  4. Report closed periods

    Report last month or last week, never the last few days. Recent days still change in Google Ads and are often incomplete in GA4.

  5. Explain the gap once

    Add a short note on why the two differ, with this month's gap. Clients stop asking when the gap is stable and named.

Pitfalls

  • Adding Google Ads conversions and GA4 key events. It counts the same people twice.
  • Comparing Google Ads with GA4's all-channel figures. Filter GA4 to google / cpc first.
  • Averaging daily rates. An engagement rate for a month is engaged sessions over sessions for the month, not the mean of 30 daily rates.

Users need the same care. A person who visits on three days is one user for the month and three in a sum of daily users. So read user counts for the whole period at once.

  • `google / cpc` from more than one source. A second Google Ads account, or manual tags with utm_source=google and utm_medium=cpc, land in the same row. Check the campaign names.
  • Thresholds and processing time. GA4 can hide small rows when Google signals is on, and takes up to a day or two to process data.

Before any of this, the tracking has to be right. The conversion tracking checks list what usually breaks.

How Optizads puts them together

In Optizads, Google Analytics 4 is connected per ad account, read only, and you choose one property. It then offers 73 GA4 metrics beside the 80 from Google Ads. Four are about ad traffic and count only visits whose source and medium are exactly google / cpc: Visits from ads, Engaged visits from ads, Key events from ads and Revenue from ads. The other 69 cover the whole site.

Site figures are read from GA4 as GA4 totals them for the exact days asked, so a person seen on two days counts once. Every ratio is worked out from the period's sums, never as an average of daily ratios. Periods follow the Google Ads account's calendar and time zone and count finished days only, and the last 35 days are read again every night.

In the report builder, the Key figures and Performance chart cards take GA4 metrics next to Google Ads ones. A Calculated metric divides one by another, such as Spend ÷ Key events from ads, with up to 20 per account. If GA4 is not connected, the card says so rather than showing a zero. A Note card holds your own words on why the two differ, since Optizads writes no prose into a report.

The monthly report template is a good start: customize its Key figures to add Visits from ads and Key events from ads. Each report covers one Google Ads account. The data and metrics page explains how figures are read, and the metrics catalogue lists all of them, with pages such as sessions from Google Ads.

Questions, answered.

Anything else? Ask Oppy in the product, or write to the team.

Why does GA4 show fewer conversions than Google Ads?

Google Ads credits a conversion to the day of the click and only to Google ads, can model conversions lost to consent, and counts within its own conversion window. GA4 books the event on its own day and shares credit with other channels. A gap of a steady size is normal.

Why are GA4 sessions lower than Google Ads clicks?

Some people leave before the page loads, some refuse cookies, and two clicks in one visit make one session. A redirect that drops the gclid sends ad visits to other channels. Watch for sudden changes in the ratio, not its level.

Should I import GA4 key events into Google Ads or use the Google Ads tag?

Either works for bidding, but use one per outcome. If both track the same sale and both are primary, Google Ads counts it twice. An imported key event follows Google Ads rules once imported, so it still differs from GA4.

Which number should a client report use?

Use Google Ads conversions for cost per conversion and anything the bidding learns from. Use GA4 for what visitors did on the site. Label each figure with its source and explain the gap once in a note.

Can I add Google Ads conversions and GA4 key events together?

No. They describe the same people from two angles, so a sum counts many of them twice. Show them side by side instead.

Do time zones matter when comparing Google Ads and GA4?

Yes. Each tool cuts days at midnight in its own time zone. The Google Ads time zone cannot be changed after the account is created, so set the GA4 property to match it.

Put Oppy to work on your account.

Create your account and connect Google Ads. Your first audit arrives in minutes, your first tasks soon after. 14 days free, no card.

  • Every change logged in History
  • Any account size