Compare Shopify orders with GA4 purchases
Load an orders CSV from one Shopify store and a transaction export from its GA4 property. The tool compares identifiers and highlights records to review. File contents are processed in this page’s memory and are not uploaded. Any CSV you download remains on your device.
- Shopify: go to Orders → Export, select the intended orders or date range, choose CSV and select Export orders, not Export transaction histories. When you export orders by date, Shopify emails the CSV.
- GA4: in Explore, create a free-form exploration and remove what the template adds (City, Device category, Active users). With + in Variables, import Transaction ID, Ecommerce purchases and Purchase revenue. Put Transaction ID in Rows and the two metrics in Values, with no columns, and raise Show rows until every transaction is shown (the tool checks the rows against the export’s totals row). Use the intended date range and the data for the store being compared, without overlapping segments. Select Export data → CSV and check the data-quality indicator before interpreting the results.
- Load both files below, then choose the orders to compare, the GA4 reporting currency and the amount basis.
What this comparison can and can’t tell you
- It compares the orders in your export with the transaction IDs in the GA4 report. It does not read your store, your GA4 property or your tags.
- Matching is by ID only (order name, number, order ID or GraphQL ID). Unclear matches are left unresolved; nothing is matched by amount or time.
- Use the same reporting period and confirm the time zones, reporting currencies and eligible orders. The tool does not automatically reconcile time zones or currencies. Amounts with an unconfirmed basis or refund treatment must remain unverified.
- Shopify’s Total and GA4’s Purchase revenue are not interchangeable. Purchase revenue subtracts refunds recorded in GA4. Compare amounts only after confirming the treatment of discounts, shipping, taxes and refunds, including their dates. Check the Shopify CSV’s Currency column, which is the store’s base currency at the time of the order, and the GA4 property’s reporting currency. Matching numeric amounts do not establish that the currencies or conversion bases match.
- Depending on the report and its settings, GA4 can apply data thresholds, sampling or aggregation into an “(other)” row, and data can change for 24–48 hours. Purchases GA4 already deduplicated don’t appear, so a clean result doesn’t prove nothing was sent twice.
- The patterns point to where to look; they don’t prove the cause.
Next: check what the browser sends
Tracklint records the GA4 and Meta Pixel requests it captures in Chrome DevTools and displays their decoded parameters. For a captured GA4 purchase, this includes transaction_id, value and currency when present. It does not read Shopify orders or GA4 reports, verify processing by Google or Meta, or observe server-to-server purchases. The inspector is free.
Get Tracklint (free) Try the demo shop
Related: GA4 purchases don’t match Shopify orders and GA4 duplicate purchase events.