On this page
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
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 / cpcsessions - 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
Link the two and check auto-tagging
Link GA4 to Google Ads and keep auto-tagging on, so visits from ads arrive as
google / cpcwith their campaign.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.
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.
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.
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 / cpcfirst. - 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=googleandutm_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.
