Someone in your company has already spent a full day trying to make GA4, Shopify, and Meta agree on last month's sales. The day produced a spreadsheet, three theories, and no agreement, because the project was impossible as framed: these systems measure different things, by different rules, with different losses, and they will never converge. The why is its own article; this one is the how. Reconciliation done right is not making numbers match. It is knowing the gaps, so the numbers become usable anyway. Here is the routine, and it takes an hour a month once it is set up.
Step 0: declare the truth, once
Write one sentence, get it agreed, pin it somewhere visible: "Shopify's paid-order count and revenue are the financial truth; all other tools are instruments measured against it." (Substitute your backend if it, not Shopify, is where orders are real.) This sounds trivial. It is the whole foundation: every recurring argument about "whose number is right" is a company that skipped this sentence. Instruments disagree with the truth by measurable amounts; without a declared truth, they just disagree with each other, forever, in meetings.
Step 1: build the one-table baseline
For last full month, one row per source, same date range, matching time zones as closely as each tool allows (Shopify and GA4 can align; Meta reports in ad-account time, note the offset):
- Shopify: orders, revenue. The truth row.
- GA4: purchase events, purchase revenue.
- Meta: attributed conversions and conversion value, with the attribution setting noted on the row (this matters; a seven-day-click number and a one-day-view number are different species).
Then compute two ratios. GA4 divided by Shopify: your capture rate, typically somewhat under one, the share of real orders your analytics observes after blockers and consent take their cut. Meta divided by Shopify: the platform's claim ratio, which at real ad spend often lands somewhere embarrassing, for reasons that are policy, not bugs.
Step 2: interrogate anything weird, once
First-time baselines usually surface one genuine defect worth fixing before trusting the routine: GA4 capture suspiciously low (test the consent wiring and tag firing), duplicate purchase events inflating GA4 above Shopify (a classic; two tags firing), Meta counting test purchases, or time zone mismatches manufacturing phantom daily swings. Fix the defects; keep the structural gaps. Knowing which is which is the skill, and the rule of thumb is: defects move numbers erratically, structure moves them consistently.
Step 3: make it monthly, and watch deltas, not levels
Same table, every month, ratios charted over time. From here on, the levels stop mattering and the movements become the entire signal:
- Capture rate stable: your measurement is calibrated; read GA4 trends with confidence, mentally scaling by the known gap.
- Capture rate drops suddenly: something broke on a date: a release, a banner change, a tag removed. You now have a dated defect instead of a vague unease, which is the difference between an afternoon fix and a quarter of wrongness.
- Meta ratio jumps up: attribution settings changed, modeling shifted, or a campaign type (hello retargeting) started harvesting existing demand. Investigate before rewarding the number with budget.
- Ratios diverge from each other: the most informative pattern; whichever moved alone names the suspect system.
Step 4: route each tool to its job
With gaps known and watched, the standing argument dissolves into assignments: Shopify reports money (finance, forecasting, the board deck). GA4 reports behavior and channels (trends, funnels, comparisons, read through its stable capture rate). Meta reports Meta (in-platform optimization, judged on movement, never summed with anything). Print that paragraph if the arguments persist; recurring number fights are almost always a role confusion, not a data problem.
What this buys you
An hour a month, one spreadsheet, no new tools, and the three-way argument retires. In exchange you get the two things most companies never have: early alarms when measurement breaks (the delta system catches in weeks what usually festers for quarters) and numbers everyone reads the same way because the gaps are documented instead of suspected. If your baseline table turns up defects bigger than an afternoon (capture in freefall, duplicates nobody can find, consent chaos), that is a verification audit with a clear scope, and it is the last time the problem gets to be vague. The point of reconciliation was never agreement. It was trust with receipts.