> Source: https://tryordinary.com/solutions/reconciliation/

# Shopify revenue reconciliation

Stop wondering which dashboard to believe.

Shopify says one number. GA4 says another. Meta says a third. None of them match. You're not imagining it — and you shouldn't have to figure out which one is right. Ordinary just shows you Shopify's number, exactly, every day.

[Get started →](https://app.tryordinary.com/sign-up) [See all solutions](/solutions)         The problem

## Most analytics tools sample, round, and quietly drift.

Other Shopify analytics tools approximate. They sample
traffic, interpolate missing days, and accumulate small
rounding errors that drift further and further from
reality every quarter. Merchants notice at quarter-close
when the dashboard doesn't match the accountant's number,
and lose trust in the whole tool. Ordinary's design
principle: if a number can be exact, it should be.

This matters most when downstream math depends on it —
every  [attribution model](/solutions/attribution), every  [customer LTV calculation](/solutions/customer-analytics), every offer-ROI projection rolls up to "what did this
store make?" If the answer's wrong, every conclusion
downstream is wrong with it.

Matched to the cent

## If Shopify says $48,219.32, Ordinary says $48,219.32.

Shopify Sales report · April

Gross sales $48,219.32   Returns −$1,847.19   Net $46,372.13
Ordinary · April

Gross sales $48,219.32   Returns −$1,847.19   Net $46,372.13
Same figure, same currency, same day boundary. Every
revenue-based number you'll see in Ordinary — top-line
totals, customer LTV, attributed revenue, cohort spend —
rolls up to a number that already agrees with Shopify.

Under the hood

## How it stays matching

- ### Every line of every order, captured precisely  Tips. Discounts. Shipping. Tax. The split between what was refunded on items vs. shipping. Every piece of every order and refund gets stored exactly the way Shopify's accounting math expects to see it — so when we add it back up, we get the same answer.

- ### Checked every hour  Once an hour, every hour, Ordinary cross-references our totals against Shopify's Sales report for the last few days. If anything disagrees by even a penny, our team knows within the hour — not at quarter-close when your accountant flags it.

- ### Drift is a bug, never "rounding"  When a mismatch turns up, our team investigates and fixes the underlying cause. We don't quietly patch the number and move on. Other tools call drift "rounding error" or "sampling difference"; we call it a bug, find it, and close it.

Privacy & compliance

## Privacy that holds up wherever your customers shop from.

Privacy laws vary by country, and your analytics tool
needs to vary with them. Ordinary applies the strictest
posture automatically for visitors in Europe, the UK,
Switzerland, and Brazil, and a more permissive one
elsewhere — based on each visitor's location, with no
setup from you.

Customer data we forward to Meta goes to your own ad
account only — never pooled across stores, never resold.
Your data is yours; full stop.

Full details in the
[privacy policy](/privacy),
the [data deletion process](/data-deletion),
and the
[data processing agreement](/data-processing-agreement).

The feedback loop

## Found a mismatch?

Tell us. Email
[sales@tryordinary.com](mailto:sales@tryordinary.com)
with the date range, the Shopify number, the Ordinary
number, and screenshots of both. Merchant-reported
mismatches have flushed out real bugs before our hourly
check caught them — exactly the feedback loop we want.

## Numbers that match. Privacy that holds up.

The hourly check kicks in the moment your first orders sync.

[Get started →](https://app.tryordinary.com/sign-up)
