Conversion Tracking Setup
Short answer
Define each conversion event precisely, implement it in GA4 and in each ad platform, add server-side tracking with deduplication so browser-blocked events are not lost or double-counted, standardise UTM parameters across every channel, and reconcile the totals against your actual store or CRM data before trusting any of it. Verification with real transactions is a required step, not an optional one.
Published 2026-09-05 · Updated 2026-09-05
Why platform numbers never match
Meta credits a purchase to an ad view or click inside its attribution window, and reports it on the date of the ad interaction. Google Ads does something similar with its own window. GA4's standard reports use last-click by default. Your store records the order when it happens.
These are four different questions being answered, so four different answers are correct. The goal is not to make them match. It is to understand the gap, pick one source of truth for revenue, and treat platform figures as optimisation signals rather than accounts.
Define the events before implementing anything
Most broken tracking starts with a definitional problem, not a technical one. What exactly counts as a lead? Does a repeat form submission from the same person count twice? Is a purchase recorded before or after payment confirmation? Do cancelled and returned orders get removed?
Write these down and agree them before writing any tags. Ambiguity here produces numbers that nobody can reconcile later, and no amount of implementation quality fixes it.
GA4
Set up the standard ecommerce events properly (view_item, add_to_cart, begin_checkout, purchase) with correct parameters including value and currency. Mark the ones that matter as key events.
Then do the housekeeping most properties skip: filter internal and developer traffic, check the default channel grouping is classifying your sources correctly, set data retention to the maximum available, and link Google Ads and Search Console.
Meta Conversions API and deduplication
Browser-side pixel events are lost to ad blockers, tracking prevention and privacy settings. The Conversions API sends events from your server instead, which recovers a substantial share of them.
The essential detail is deduplication. Send both browser and server events with a matching event ID so Meta counts each conversion once. Get this wrong and you inflate reported conversions, which corrupts both your reporting and the algorithm's optimisation. Check event match quality in Events Manager after implementation. It is the fastest indicator of whether the setup is actually working.
Google Ads conversions
Create distinct conversion actions rather than one catch-all. Set count correctly. Every conversion for purchases, one per click for leads, otherwise a single lead who submits twice inflates your numbers.
Enable enhanced conversions, which sends hashed first-party data to improve matching. For businesses where the sale closes offline, offline conversion import is the single most valuable step available: it lets Google optimise toward closed deals rather than form fills.
UTM discipline
Agree one convention and apply it everywhere: lowercase throughout, hyphens rather than spaces, a fixed vocabulary for source and medium. Without it, reporting fragments into Facebook, facebook, FB and fb as four separate sources.
Keep the convention in a shared document with a link builder, and audit it quarterly. This is unglamorous and it is the difference between channel reporting that can be trusted and reporting that has to be manually cleaned every month.
Reconcile before you trust anything
Pick a month. Compare GA4 purchases and revenue against actual store orders. Compare Meta-reported purchases against the same. Quantify each gap and understand what explains it.
A ten to twenty percent variance between GA4 and the store is normal. A fifty percent gap means something is broken. Doing this once at the start turns tracking from an article of faith into a known quantity.
Related questions
Do we need server-side tracking?
For any account spending meaningfully on Meta, yes. Browser event loss materially degrades the algorithm's ability to optimise, and the effect shows up directly in event match quality. For very small accounts, browser-side tracking with good UTM discipline is often adequate to start.
How much difference does the Conversions API make?
It varies by audience and device mix, but recovering events that browsers block typically improves both reported attribution and, more importantly, delivery performance, because Meta is optimising on more complete data. The event match quality score in Events Manager quantifies it for your specific account.
Should we use GA4 or platform reporting to judge campaigns?
Neither alone. Use platform reporting to make in-platform optimisation decisions, since that is the data the algorithm sees. Use GA4 and your store data to judge overall channel contribution. Use MER against actual revenue for the top-level view.
How do we track sales that close over the phone?
Capture the lead with source attribution into the CRM, mark the outcome when it closes, then push closed conversions back to Meta and Google via offline conversion import. Without that loop, the platforms optimise toward whoever fills forms most cheaply.