- Meta can credit view-through conversions and never shares credit; GA4 only credits visits it can identify and splits credit across channels.
- Untagged Meta ads may land in Organic Social, Referral or Unassigned in GA4: use utm_source, utm_medium and utm_campaign, in lowercase, on every ad.
- Instant form leads and click-to-WhatsApp chats never reach your website, so GA4 cannot and should not count them.
- Compare trends and ratios, judge budget on CRM-qualified leads, and never add platform conversion totals together.
The monthly report lands and the numbers refuse to agree. Ads Manager says the Meta campaigns produced a healthy number of leads. GA4 shows a fraction of that under Paid Social, a bump in Organic Social and Direct that nobody planned, and the CRM has its own, smaller figure again. It is tempting to decide one tool is broken. More often, Meta and GA4 answer different questions with different evidence, and the gap between them is partly a counting difference and partly a tracking error. The job is to separate the two.
This guide explains what each platform actually counts, which parts of the gap you should fix and which you should simply understand, how to tag Meta ads so GA4 can recognise the traffic, and which numbers should never be added together.
Two tools, two questions
Meta Ads reports conversions it can connect to someone being shown or clicking an ad on Facebook or Instagram. GA4 reports key events that happened on your website and shares the credit among the traffic sources it observed. The questions sound alike but are not: Meta asks “did our ad play a part?”, GA4 asks “which visit, from which channel, gets credit for this key event?”
| Question | Meta Ads Manager | GA4 |
|---|---|---|
| What counts as a conversion | Pixel or server events Meta can link to an ad view or click, plus on-Meta actions such as instant form leads | Events on your website or app that you have marked as key events |
| Credit can come from | Clicks and, depending on the setting, views of an ad (view-through) | Clicks and visits from all channels it can identify; direct visits are excluded from credit unless the whole path is direct |
| Look-back period | The ad set’s attribution setting, for example 7 days after a click | 90 days by default for most key events (30 or 60 optional) |
| Who else gets credit | Nobody. Meta does not share credit with Google, email or organic search | Every channel in the path, according to the reporting attribution model |
| What it cannot see | Conversions with no link to an ad, offline sales not sent back | Anything that never reaches the website, visits it cannot measure, and ad views without a click |
Read that table once and most of the disagreement explains itself. Two honest systems with different rules will give different totals.
Six reasons the numbers differ
1. Meta can count people who never clicked
Meta’s attribution windows cover both clicks and views. Its Marketing API documentation lists click windows of 1, 7 and 28 days and view windows of 1, 7 and 28 days, and the ad set’s attribution specification can include click-through, view-through and engaged video view events. A person who scrolled past your ad, then searched your name on Google two hours later and filled in the form, can appear as a Meta conversion. GA4 credits that same lead to Organic Search or Paid Search, because that is the visit it saw. Both are reporting what their rules say.
2. The windows are different lengths
GA4’s attribution settings use a 90-day look-back by default for most key events and 30 days for acquisition events. A Meta setting of, say, 7 days after a click will drop a lead that arrives on day 20; GA4 may still credit the Meta visit from day 1, if the path qualifies under its model.
3. The same lead can land on different dates
Reports are also dated differently. Meta’s developer documentation says that from 10 June 2025, to reduce discrepancies with Ads Manager, its reporting API uses a mixed reporting time: on-Meta actions such as link clicks are reported at impression time and off-Meta actions such as website purchases at conversion time. Exports or connectors built on older settings may still date conversions differently, so check how yours are configured. GA4 records the key event on the day it happens. A weekly comparison across a month boundary will never line up exactly.
4. GA4 shares credit across channels; Meta does not
GA4 offers three models: data-driven, paid and organic last click, and Google paid channels last click. Under any of them, a lead that touched a Meta ad, a Google ad and an email gets split or assigned within that path. Meta, Google Ads and your email tool will each claim the full lead in their own reports. That is why platform totals added together usually exceed the leads you actually received.
5. GA4 can only credit visits it can identify
Several things stop GA4 from seeing or recognising a Meta visit:
- Consent. When a visitor declines analytics cookies under consent mode, events are not associated with a persistent user identifier. Behavioural modelling can fill some of the gap, but only for properties that meet Google’s thresholds, including at least 1,000 daily consenting users on 7 of the previous 28 days. For what this means for Gulf and Egyptian sites, see our guide to cookie consent and consent mode.
- Blocked or failed tags. Browser privacy settings and ad blockers are a common reason the GA4 tag or the Meta Pixel does not load, and they will not necessarily affect both in the same way.
- In-app browsers and device switching. Links in Facebook and Instagram can open inside the app’s own browser, and many buyers research on a phone and enquire later on a laptop. Unless the two visits can be connected, they can look like separate users to GA4, and the later visit may be credited to Direct or search.
- Missing UTMs. GA4 classifies Paid Social only when the source matches a known social site and the medium matches a paid pattern such as cpc, ppc, retargeting or anything starting with “paid”. Untagged Meta clicks have no paid medium, so under the same channel definitions they may land in Organic Social, Referral or Unassigned instead. Your Meta results may then be in GA4, just under a different label.
6. Some Meta leads never touch your website
Two common formats skip the site entirely. Instant form leads are submitted on Meta using a form that, in Meta’s words, uses information people already shared with Facebook; the lead is then retrieved through Meta’s tools, webhooks or the API, not through your website. GA4 will never record those leads unless you build something to send them there, and it should not be expected to. Click-to-WhatsApp ads open a chat, not a page. In both cases the website analytics is the wrong place to look.
Error or difference? Sorting the gap
Not every gap is legitimate. Before you accept a difference as “different counting”, rule out the faults that inflate or erase numbers. A quick way to sort them:
| What you see | Likely a counting difference | Likely an error to fix |
|---|---|---|
| Meta higher than GA4 Paid Social | View-through credit, cross-channel paths, instant forms, consent losses | Meta ads have no UTMs; Pixel lead event fires on page load or twice per form |
| GA4 Organic Social or Unassigned jumps when ads run | Some genuine organic reach from the campaign | Untagged or inconsistently tagged ads (for example “Facebook” vs “facebook”) |
| Meta and GA4 both higher than the CRM | Spam, duplicates, people who submit twice | Key event set on a button click instead of a confirmed submission |
| Meta conversions far above leads received | Long attribution windows on a short sales path | Pixel and server events both sent without deduplication |
The last row matters if you send events from both the Pixel and a server connection. Meta only treats them as one event when the event ID and event name match, and only if they arrive within 48 hours of each other. If they do not, every lead can be counted twice. On the GA4 side, our guide to tracking leads as GA4 key events covers how to stop one form submission becoming two.
How to tag Meta ads so GA4 can see them
Tagging is the cheapest fix with the biggest effect on the GA4 side. Google’s own guidance is that you should always use utm_source, utm_medium and utm_campaign, and that values are case sensitive: “facebook” and “Facebook” become two different sources. A workable convention:
| Parameter | What to put in it | Example |
|---|---|---|
| utm_source | The platform the click came from | facebook or instagram |
| utm_medium | A paid value GA4 recognises | paid_social (with a social source, this matches GA4’s Paid Social rule) |
| utm_campaign | The campaign name, written the same way every time | riyadh_maintenance_leads_q4 |
| utm_content | The ad or creative, so you can compare versions | video_a or carousel_b |
| utm_id | The campaign ID, if you plan to import cost data | Meta campaign ID |
Practical rules:
- Add the parameters in the ad’s URL parameters field rather than pasting tagged links into the destination URL, so the landing page stays clean and one change updates every ad.
- If you pass campaign, ad set or ad names into the parameters, name them consistently in lowercase without spaces, because those names become the values GA4 reports.
- Write the convention down in one shared sheet and use it for every campaign, including boosted posts and ads launched in a hurry.
- Click a live ad on a phone, open GA4’s real-time view and confirm the session arrives as Paid Social with the right campaign before scaling spend.
What to compare, and what never to add together
With tagging and event quality fixed, the numbers still will not match, and they are not supposed to. What you can do is compare like with like.
Comparisons that are useful:
- Trend, not total. Meta-reported website leads against GA4 key events with session source facebook or instagram and a paid medium, week by week. The ratio between them should be fairly stable. A sudden change points to a tracking break, not a performance shift.
- Click-only Meta against GA4. If you need a closer comparison, look at Meta’s click-through results on their own. They exclude view-through credit, so they are nearer to what GA4 can observe, though windows and dates still differ.
- Every platform against the CRM. Qualified leads by source in your CRM are the number that decides budget. Platform figures explain the path; the CRM tells you what was worth having.
- Instant form leads against what sales received. These should match Meta’s own lead count closely, because the same records flow into your CRM. If they do not, the gap is in the hand-off, not in analytics.
Numbers that should never be added together:
- Meta conversions plus GA4 key events plus Google Ads conversions. The same lead can sit in all three.
- Instant form leads plus website form leads from GA4, unless you are certain they are separate records.
- WhatsApp clicks plus form submissions as “leads”. A WhatsApp or phone click is an intent signal: the person opened the chat or the dialler, not necessarily sent a message or spoke to anyone. Count conversations that sales qualified, and treat clicks as an early indicator. Our guide to click-to-WhatsApp ads for B2B covers how to qualify those chats.
If the leadership team wants one view of marketing performance, take credit decisions out of the platforms altogether. Our article on measuring marketing when attribution can’t tell the whole story sets out the layers that sit above any single tool.
A monthly reconciliation routine
For example, a B2B distributor running Meta lead campaigns alongside Google Search could keep the discussion short with five checks each month:
- Tag check. List GA4 sessions from Facebook and Instagram that are not Paid Social. Anything large means an untagged ad.
- Event check. Compare Meta lead events and GA4 key events against actual form submissions received by email or CRM for the same week.
- Setting check. Note the attribution setting on each active ad set and the GA4 reporting model and look-back window, so the report states which rules produced each number.
- Ratio check. Track the Meta-to-GA4 ratio over time and investigate when it moves sharply.
- Outcome check. Report qualified leads and opportunities by source from the CRM, with platform figures alongside as context, never as a total.
Most of this is set-up work done once and checked monthly. RX has implemented analytics and tracking setups for multiple client websites, and our analytics and tracking service covers a tracking audit, a GA4 and Google Tag Manager setup with Google Ads conversion tracking, and ongoing monthly management, with every account kept in the client’s name. Where the campaigns themselves need restructuring around qualified leads, that sits with our performance marketing team. Whoever does the work, the aim is the same: a report that says which rules produced each number, so nobody mistakes a counting difference for a failing campaign.
Frequently asked questions
Why does Meta Ads show more conversions than GA4?
Meta can count conversions from people who only viewed an ad, uses its own attribution window and does not share credit with other channels. GA4 credits only visits it can identify, splits credit across every channel in the path, and loses visits to declined consent, blocked tags, device switching and missing UTMs. Instant form leads never reach GA4 at all.
Which number is correct, Meta or GA4?
Both can be correct under their own rules. Use each to understand its own channel and trends, and use qualified leads in your CRM to decide budget. A gap is only a problem when it is caused by an error such as untagged ads, a lead event firing twice or a key event set on a button click instead of a confirmed submission.
What UTM parameters should I use on Meta ads?
Google recommends always using utm_source, utm_medium and utm_campaign. For Meta, use a source such as facebook or instagram and a paid medium such as paid_social, which together match GA4's Paid Social channel rule; add utm_content for the creative, and keep every value lowercase because GA4 treats values as case sensitive.
Why don't my Facebook lead form leads appear in GA4?
Instant form leads are submitted on Meta, not on your website, and are retrieved through Meta's tools, webhooks or API. GA4 only records what happens on your site, so those leads should be compared with what your CRM or sales team received, not with GA4.
Should WhatsApp clicks count as leads?
No. A WhatsApp click shows intent: the person opened the chat, not necessarily sent a message or spoke to sales. Track the clicks as an early indicator and count only conversations your team has qualified as leads.
- Meta for Developers (Marketing API), Insights API parameters.
- Meta for Developers (Marketing API), Insights API (attribution windows; discrepancy with Ads Manager).
- Meta for Developers (Marketing API), Ad Set reference (attribution_spec).
- Meta for Developers (Marketing API), Ad Creative reference (url_tags).
- Meta for Developers (Marketing API), Lead Ads.
- Meta for Developers (Marketing API), Retrieving leads.
- Meta for Developers, Handling duplicate Pixel and Conversions API events.
- Google Analytics Help, Get started with attribution.
- Google Analytics Help, Select attribution settings.
- Google Analytics Help, Default channel group.
- Google Analytics Help, URL builders: Collect campaign data with custom URLs.
- Google Analytics Help, Scopes of traffic-source dimensions.
- Google Analytics Help, Behavioral modeling for consent mode.



