The essentials
- Four layers: the platform pixel (browser), the conversions API (server), GA4 with UTMs (an independent reading), the CRM (quality and real revenue); none of them is enough on its own.
- Typical losses without a server-side API: 20 to 40% of conversions invisible to the platform (consent, iOS, blockers); the algorithm then optimises on truncated data.
- Normal Meta vs GA4 gap: 20 to 50% more conversions on the Meta side (post-view, modelling, windows); a gap of double, or a perfect match, are both suspicious.
- The right conversion level: the event closest to revenue that stays frequent enough (50 per week per ad set) for optimisation.
A social campaign can only be managed if its conversions are measured, and measured accurately. Yet no single source sees everything: the platform is generous and incomplete, GA4 is cautious and partial, the CRM is exact but late. Conversion tracking in SMA means stacking these layers, reconciling them and knowing which one to read for which decision. This article describes the four layers, the setup, the checks and how to read the gaps. The role of the pixel is covered in detail in the Meta pixel, and the metrics in the SMA KPIs.
The four measurement layers
| Layer | Tool | What it sees | What it misses | Used for |
|---|---|---|---|---|
| 1. Platform pixel (browser) | Meta pixel, LinkedIn Insight Tag, TikTok pixel | Events on your site from consenting users, linked to a profile where possible | Consent refusals, iOS and Safari, blockers, slow pages | Optimisation and reporting inside the platform |
| 2. Server-side API | Meta Conversions API, LinkedIn Conversions API, TikTok Events API | The same events sent from the server with hashed identifiers, deduplicated | Does not get around a consent refusal | Recovering 10 to 30% of events, improving matching |
| 3. GA4 with UTMs | GA4, Consent Mode v2, key events | Sessions and conversions by source, medium and campaign, multi-channel attribution | Post-view, conversions without a click, some non-consented sessions (modelled) | Arbitrating between channels, comparing creatives |
| 4. CRM and back office | CRM, e-commerce platform | Qualified leads, actual sales, returns, revenue, margin | The origin, if the source is not recorded | The economic truth; offline conversions to re-import |
Choosing events and values
- Standard events: Lead, CompleteRegistration, Contact, Schedule, AddToCart, InitiateCheckout, Purchase; custom events are of no use for optimisation.
- Firing on the successful action: the confirmation page or the server response, never on the click of the submit button.
- Value and currency: the purchase amount; for leads, an estimated value (average order value × close rate) that lets you optimise on value and calculate a ROAS; see ROAS in SMA.
- The right level for optimisation: the event closest to revenue that reaches around 50 occurrences per week per ad set; failing that, move up a step (add to cart rather than purchase) until you have built the volume.
- A shared event identifier between pixel and server for deduplication.
- Advanced parameters: hashed email and phone number in your events when the user has provided them and given consent; they improve matching.
Step-by-step setup
| Step | Meta | TikTok | |
|---|---|---|---|
| Browser tag | Pixel via GTM, subject to advertising consent | Insight Tag via GTM, subject to consent | Pixel via GTM, subject to consent |
| Events | Standard events with a value; Events Manager | Conversions by URL or by event; value possible | Standard events with a value |
| Server | Conversions API: native CMS integration, gateway, server-side GTM or custom development | Conversions API: connectors (Zapier, HubSpot, server-side GTM) or custom development | Events API: Shopify and server-side GTM integrations, or custom development |
| Offline | Offline conversion import or API with hashed identifiers | Conversion list import, connected CRM | Upload or API |
| Consent | Consent Mode via GTM; Meta does not model refusals in Europe the way Google does, but it does require consent | Same | Same |
| UTM | Dynamic parameters {{campaign.name}}… | Dynamic parameters | Dynamic parameters |
The consent framework is described in Consent Mode v2 and the link naming convention in sources, mediums and UTMs. On the GA4 side, declare your conversions as key events; see GA4 key events.
Check
- The platform's test tool: run a test conversion and watch it arrive through both browser and server, deduplicated, with its value.
- Match quality score (Meta): above 6 out of 10; below that, add the advanced parameters.
- Volume consistency: platform conversions, GA4 key events and CRM records of the same order of magnitude over 30 days, with the expected gaps (see below).
- No duplicates: one pixel per page, one event per action; Pixel Helper and Tag Assistant.
- After every site change: a redesign, a new form, a new CMS; measurement breaks silently.
Reading the gaps between platform, GA4 and CRM
| Finding | Likely explanation | Action |
|---|---|---|
| Meta shows 20 to 50% more conversions than GA4 | Normal: 1-day post-view, 7-day click window, modelling, GA4 attribution shared between channels | Use Meta to optimise inside Meta, GA4 to arbitrate between channels; compare using the “7-day click” window alone |
| Meta shows double or more | Duplicated pixel, event firing on click, no deduplication between pixel and server | Fix the implementation; check the event identifier |
| Meta shows less than GA4 | Pixel blocked, no server-side API, advertising consent refused more often than measurement consent | Switch on the conversions API; review your banner |
| A perfect match | Suspicious: the two tools are not measuring the same thing | Check that GA4 is not receiving Meta's events, or the other way round |
| The CRM counts fewer qualified leads than Meta counts leads | Normal: 30 to 60% qualification rate on native forms | Optimise on a qualified event; send qualified leads back to Meta (offline conversions) |
| GA4 classifies social traffic as direct | Missing UTMs | Dynamic parameters on every ad |
To arbitrate between channels, GA4's data-driven attribution is the common reference; see data-driven attribution.
Closing the loop with your CRM
The conversion that counts is the customer, not the form. Record the source (UTMs, click identifier) on every lead in your CRM, qualify it, then send qualified leads and sales back to the platform through offline conversions or an API with hashed identifiers. The platform then optimises on quality, and your report can show a cost per qualified lead and a cost per customer. It is the only way to compare Meta, LinkedIn and Google on what they really bring in.
How GreenRed helps
Rather than juggling several tools, GreenRed's GA4 performance tracking brings these metrics together in a single dashboard, compares them over time and tells you which actions come first. You can try it free, with no card, from the Pricing.
Frequently asked questions
Why does Meta show more conversions than GA4?
Because Meta counts conversions within 7 days of a click and 1 day after a simple view, models those lost to consent and claims them all, while GA4 only attributes on click and shares credit between channels. A gap of 20 to 50% is normal; a gap of double points to a duplicated pixel or an event firing on click.
Is the conversions API essential?
Yes in 2026: without it, 20 to 40% of conversions escape the pixel (consent, iOS, blockers) and the algorithm optimises on truncated data. Native CMS integrations (Shopify, WooCommerce, PrestaShop) or the gateway hosted by Meta make it accessible without a developer. It respects consent: it makes what is allowed more reliable, it does not get around a refusal.
Which event should a lead campaign optimise on?
On the event closest to revenue that reaches around 50 occurrences per week per ad set: qualified lead if the volume allows it, otherwise lead, otherwise an intermediate action (pricing page, form opened) until you have built the volume. Then send qualified leads from your CRM back to the platform so it learns quality.
How do you measure offline conversions (calls, in-store sales, signed contracts)?
By recording the source of every contact in your CRM (UTMs, click identifier) then re-importing the conversions into the platform: Meta offline conversions, LinkedIn list imports, the TikTok API, with hashed email or phone number for matching. GA4 can also receive these conversions through the Measurement Protocol.