Why Meta, LinkedIn and Google Ads report more conversions than GA4

Each ad network counts people who only saw an ad, credits itself for weeks after a click, and counts whatever its settings call a conversion. Here is how to take the gap apart, and which number to use for what.

Kosmas Botsis, Founder of Glancely · 20 October 2026 · 5 min read

In short

  • Meta and LinkedIn count conversions after someone only saw an ad; GA4 credits only the ways people arrived.
  • Each network credits itself within its window, even when the person came back through search or email.
  • Google Ads counts every Primary action: steps, calls, offline imports and duplicates all add to it.
  • Compare networks on GA4's count, optimise inside each on its own, and never average the two.
  • Check the settings before blaming the tracking.

Meta says your ads brought 85 enquiries last month. LinkedIn says 40, Google Ads 140. Open GA4, look at the visits each network sent, and it gives them far fewer. Someone asks which number is true.

Usually none of them is broken. Each network counts by its own rules, and each rule is kinder to that network than GA4 is: it counts people who only saw an ad, takes credit for weeks after a click, and counts whatever its settings call a conversion. Here is how to take the difference apart, and which number to use for what.

An example

An invented business that sells to other businesses, one month. Each network's own count of enquiries, beside the enquiries GA4 recorded on the visits that network's ads brought.

NetworkOwn countGA4GapViews onlySteps, callsLeft
Google Ads1409644–386
Meta85523321–12
LinkedIn40182215–7
All three26516699363825

Google Ads' 140 is three conversion actions: 102 form enquiries, 24 visits to the contact page and 14 phone calls. Of the difference of 99, 74 is not a disagreement about the same enquiries at all: people who never clicked, a page view counted as a conversion, and calls that never touched the website. Only 25 are left to explain.

1. They count people who only saw an ad

Meta and LinkedIn count a conversion after someone saw an ad without clicking it. In Meta's developer documentation, its default windows are 7 days after a click and 1 day after a view. LinkedIn counts actions taken "after clicking on or seeing your ad", and recommends "a 90-day click, 90-day view window, which is the default in Campaign Manager".

GA4 credits the ways people arrive. Its acquisition reports credit "the last channel that the customer clicked through" from, or an engaged view of a YouTube ad. A Meta or LinkedIn ad seen and not clicked never reaches your site, so GA4 never hears of it. The enquiry is still in GA4, credited to however the person did arrive: a Google search, an email, a typed address.

Google Ads keeps these apart: view-through conversions "are not included in the Conversions column". The exception is video: a conversion after someone watched at least 10 seconds of a skippable YouTube ad is an engaged-view conversion, and those are included.

2. They take credit however the person came back

Each network counts a conversion within its window after its own ad, whatever came between. Google Ads' click window is 30 days by default. Someone clicks a Meta ad on Monday, comes back through a Google search on Thursday and sends the form: Meta counts it. GA4's Traffic acquisition report gives it to Organic Search, because there it uses "the paid and organic channels last click attribution model". Had the person clicked ads on two networks, both would claim the enquiry; GA4 counts it once. Dates differ too: see why Google Ads and GA4 never agree.

3. Google Ads counts what its settings say

The Conversions column includes every action set as Primary; Secondary ones appear only under All conversions. Four things add to it:

  • Steps set as Primary. A contact-page visit, Add to cart or Begin checkout, counted beside the real conversion.
  • One conversion counted twice. An action imported from GA4 and one from the Google Ads tag, both Primary, for the same enquiry. Google itself makes actions based on GA4 key events Secondary "to prevent counting the same event twice for bidding".
  • Calls and offline imports. Calls from ads are made from the ad itself; offline imports add sales closed in person or by phone. Both are real, and GA4 does not see them unless they are sent to it too.
  • Every instead of One. Google describes One as the fit for leads, where usually only one lead per click adds value, and Every for sales. A form set to Every counts someone who sends it twice, twice.

When someone declines analytics cookies, GA4 does not record them as it does everyone else. It can estimate them with behavioural modelling, but only with consent mode's advanced setup, at least 1,000 events a day from people who declined and 1,000 daily users who accepted, and the Blended reporting identity.

The networks may estimate too. In Google Ads, "Modeled conversions will appear in the Conversions column". LinkedIn says that where conversions cannot be tied to individual people, "group level attribution or estimation can be used".

How to compare fairly

  1. Check the settings first. In Google Ads, Goals > Conversions > Summary: which actions are Primary, whether each counts One or Every, and its click window. Moving a step or a duplicate to Secondary also changes what bidding aims at, so do it deliberately.
  2. Separate views from clicks. Meta's reports can compare attribution settings; LinkedIn reports post-click and view-through conversions apart.
  3. One yardstick across networks, each network's own number inside it. A network that counts views looks cheaper per enquiry than one that does not. To compare networks, use GA4's count on each one's visits, which counts each enquiry once. Inside a network, use its own number: it is what its bidding learns from.
  4. Never average the two. 118, halfway between Google Ads' 140 and GA4's 96, describes nothing that happened.
  5. Watch the gap. A steady gap is normal; a sudden change usually means a tag or setting changed.

How Glancely handles it

We built the conversion gap on Glancely's Paid media page to answer this. For Google Ads, Microsoft Ads, Meta and LinkedIn, it puts each network's own count beside Google Analytics' and takes the difference apart: views from Meta's and LinkedIn's own reports; steps, calls, offline imports and duplicates from the Google Ads account's settings. What no figure explains stays on the page with its likely causes; nothing is averaged away. It is new, so we have no figures yet on what it finds across accounts; try it on sample data in the live demo.

Kosmas Botsis

Kosmas Botsis · Founder of Glancely

Kosmas Botsis is the founder and lead data engineer of KB Analytics, an analytics engineering practice in Athens working with clients across Europe and the US: more than 250 projects for over 194 clients, and in Toptal's top 3% of talent. Glancely is what came out of that work.