What I matched
Shopify orders O1 to O20 and GA4 rows G1 to G16, October 12 to October 18, 2026. Join key: GA4 transaction ID = Shopify order number without the #, as you said. Expected value per order = subtotal minus discounts, the Google and YouTube app rule since April 24, 2025 (your GA4 tag comes from that app). Shipping and tax are not part of the expected value.
Match table
| Order | Number | Sales channel | Expected value | GA4 row | GA4 revenue | Gap (GA4 minus expected) | Result |
|---|---|---|---|---|---|---|---|
| O1 | #1201 | Online Store | 64.00 | G2 | 64.00 | +0.00 | matched |
| O2 | #1202 | Online Store | 106.20 | G3 | 106.20 | +0.00 | matched |
| O3 | #1203 | Online Store | 42.00 | G4 | 42.00 | +0.00 | matched |
| O4 | #1204 | Online Store | 77.40 | G5 | 77.40 | +0.00 | matched |
| O5 | #1205 | Online Store | 54.00 | none | no purchase event | ||
| O6 | #1206 | Online Store | 132.00 | G6 | 132.00 | +0.00 | matched |
| O7 | #1207 | Point of Sale | 38.00 | none | no purchase event | ||
| O8 | #1208 | Online Store | 68.40 | G7 | 68.40 | +0.00 | matched |
| O9 | #1209 | Online Store | 48.00 | G8 | 48.00 | +0.00 | matched |
| O10 | #1210 | Online Store | 95.00 | G9 | 190.00 | +95.00 | duplicate (event count 2) |
| O11 | #1211 | Online Store | 57.60 | G10 | 57.60 | +0.00 | matched |
| O12 | #1212 | Online Store | 58.00 | G11 | 64.95 | +6.95 | value gap |
| O13 | #1213 | Online Store | 110.00 | G12 | 110.00 | +0.00 | matched |
| O14 | #1214 | Point of Sale | 72.00 | none | no purchase event | ||
| O15 | #1215 | Online Store | 44.00 | G13 | 44.00 | +0.00 | matched |
| O16 | #1216 | Online Store | 115.20 | none | no purchase event | ||
| O17 | #1217 | Online Store | 66.00 | G14 | 66.00 | +0.00 | matched |
| O18 | #1218 | Draft Orders | 216.00 | none | no purchase event | ||
| O19 | #1219 | Online Store | 52.00 | G15 | 52.00 | +0.00 | matched |
| O20 | #1220 | Online Store | 88.20 | G16 | 88.20 | +0.00 | matched |
GA4 rows with no matching order in the Shopify export:
| GA4 row | Transaction ID | Date | Revenue |
|---|---|---|---|
| G1 | 1199 | Oct 12 | 46.00 |
Notes on the flagged rows: - #1210: event count 2 and revenue 190.00 against 95.00 expected. One order logged twice. - #1212: gap +6.95, the same as that order's shipping. The revenue looks like it includes shipping, which the app rule does not. My own reading; confirm it. - #1205 and #1216: Online Store orders with no purchase event. - #1207, #1214 (Point of Sale) and #1218 (Draft Orders): no event. Whether these channels send a purchase event is not in my saved sources, so this is a question, not an error. - 1199: an event dated Oct 12 for an order outside the export. It may be an order placed before the range or a test order; I cannot tell from here.
Totals
Match share = matched Online Store orders / Online Store orders.
| Item | Count |
|---|---|
| Shopify orders | 20 |
| Online Store orders | 17 |
| Matched to a GA4 row | 15 |
| Online Store orders with no event | 2 |
| Other channel orders with no event | 3 |
| GA4 rows with no order | 1 |
| Duplicate events | 1 |
| Value gaps over 0.01 (not counting the duplicate) | 1 |
| Match share | 88.2% |
These are 20 orders over 7 days, a small sample. The pattern can point to setup questions; it is not proof of how often each problem happens.
Setup questions
- Your theme.liquid still has a gtag.js snippet from 2023 next to the Google and YouTube app. Could that old snippet send its own purchase event? It might explain the double event on #1210 and the shipping in #1212, but I cannot confirm that from the exports.
- Is the store's private mode off? GA4 cannot track events while it is on. Your input does not say.
- For #1205 and #1216, did those buyers finish on the standard checkout, or on another path (for example a payment app redirect)?
Proposed checks (held)
| # | Check | Status |
|---|---|---|
| 1 | Place one test order and count the purchase events GA4 records for it | HELD |
| 2 | If the old gtag.js snippet sends purchase events, remove it from theme.liquid | HELD |
| 3 | Ask Shopify support whether Point of Sale and Draft Orders send purchase events through the app | HELD |
| 4 | Look up order 1199 in Shopify to see where it came from | HELD |
Questions for you
- Do you want GA4 to include Point of Sale and draft orders at all, or only the Online Store?
- Can you export Oct 11 orders too, so I can check transaction 1199?
Needs your decision
- Any change to theme code, the app, or GA4: HELD until you approve.