TRACKING SPECIALIST — BARIS ASA · LONDON
Synctag
Start the check → TRACKING SPECIALIST — BARIS ASA · LONDON
U-001
U-001 · UNMEASURED / NO BASELINE · FILED 2026 · REVISED 3 NOV 2026 · FREQ ▮▮▮▮▯

Unmeasured, no baseline

Also filed as “how do I know if my GA4 tracking is accurate”“how to check if my ecommerce tracking is right”“what is a tracking baseline”“our tracking has never been checked”“match GA4 purchases with store orders”“is my conversion tracking working”

To tell whether your tracking is right, check it against something that isn't a tag: your store's orders. Match one full week of orders with GA4 purchases by order number, and place one test order while watching which tags fire. The dated record of that check, with a list of what sends data and the Google Ads and Meta figures for the same week, is a tracking baseline. A store with no such record on file is U-001.

Symptom and cause

Symptom
Nobody can say what is and isn't tracked. Decisions run on gut because there's nothing to check them against.
Cause
Tracking was installed and never checked against the store's orders. Tags were added over years by different people, and nobody holds the full list.
Where it's caught
This is the starting state, not a single bug. A tracking baseline, usually the first output of a tracking audit, turns U-001 into a known list of specific faults.

Why tracking goes unchecked, and what a tracking baseline records

Most tracking is installed, then never checked. A theme comes with a GA4 snippet. A Shopify app adds Google and Meta. An agency adds a Google Ads tag for a campaign. Each one shows numbers on its own dashboard, and a dashboard with numbers looks like proof. A tag that fires twice, sends the wrong value or loses the source still draws a tidy chart.

U-001 is a starting state. The tracking may be fine; nobody can say. Every decision built on it (budgets, bids, which channel gets cut) inherits the doubt, and when GA4 and the store disagree there is no earlier reading to say whether the gap is new.

A tracking baseline is that earlier reading: a dated record of how far your tracking is from the store. It is not a performance baseline, such as conversion rate before a test. It answers a prior question: can these numbers be trusted at all? It has four parts.

1. Inventory: every tag, pixel and app that sends data, and where it lives (Google Tag Manager, theme code, an app, a server container).

2. Test order: what one real order produces, and whether GA4, Google Ads and Meta each received it.

3. Order match: GA4 purchases set against store orders for the same week, order by order.

4. Platform readings: what Google Ads and Meta report for that week, kept so later changes show. They are not meant to equal the store. Each counts by its own rules; Google Ads, in its standard columns, reports a conversion on the date of the ad click.

When it counts: all four exist, in writing, dated after the last change to checkout, theme, consent banner or purchase tags. Missing any one is U-001. Whatever the baseline turns up then gets its own code: a purchase counted twice is F-101, a purchase with no value is F-301.

Baseline sheet, first pass · typical ecommerce store · illustrative, not a client file
Baseline questionOn fileStatus
Tags sending data at checkoutno listunknown
GA4 vs store orders, last full weeknever comparedunknown
Google Ads purchase actionActive, never test-orderedpartial
Meta Purchase eventno test event on fileunknown
Last change to trackingnot recordedunknown

How to catch it

  1. Ask three questions of whoever looks after tracking. Which tags send data on the order confirmation page? When were GA4 purchases last compared with store orders, and what was the result? Which Google Ads conversion action and which Meta event do the campaigns optimise for? An answer of "not sure", or one that lives only in someone's head, is U-001.
  2. Place one test order with Tag Assistant open (Google's browser tool that shows which tags fire). Count the purchase events and note which tag sent each (on Shopify, see the next step). Note which identifier arrives as transaction_id: order number, order ID or checkout token. That is the column to export from the store for the match. More than one GA4 purchase for the order, or a purchase with no transaction_id (the order number your site sends to GA4), value or currency, is your first specific finding.
  3. On Shopify, a purchase sent by a custom pixel or an app pixel runs in Shopify's sandbox and may not show in Tag Assistant or GTM Preview. Confirm it instead in the browser's Network tab (a request containing en=purchase) or in Meta's Test Events. GA4 DebugView only shows it if debug_mode is set to true in the pixel's GA4 config while you test; remove it afterwards. Absent from Tag Assistant alone is not a finding.
  4. Watch GA4 DebugView (Admin → Data display → DebugView, a live view of incoming events) during the test order. Accept analytics cookies first: DebugView does not show events from visitors who declined. In Google Ads, open Goals → Summary and hover over any Status that is not Active. In Meta Events Manager, Test Events shows whether the purchase arrived from the browser, the server or both.
  5. This step needs someone with GA4 access and a store order export. Pick a full week that ended at least two days ago (GA4 processing can take 24 to 48 hours). In GA4, build a free-form exploration with Transaction ID as the dimension and Ecommerce purchases as the metric. Match it with the store's order numbers.

What putting it right involves

  1. Plan for a day or two of work by one person with read access to GTM, GA4, Google Ads, Meta Events Manager and the store's order export. If nobody in-house has all five, a [tracking audit](/services/tracking-audit) produces the baseline as its first output.
  2. Freeze a starting point. Export the live GTM container (the latest version with a date in the Published column), and write down today's date and who owns tracking.
  3. Build the inventory. One row per tag, pixel or app that sends data: where it lives, what it sends, on which pages. Check theme code and installed apps as well as GTM; a second purchase sender often sits outside the container.
  4. Run the test order and record what each platform received: events fired, transaction_id, value, currency.
  5. Run the order match and sort every order into one of four columns. Matched. In the store, missing from GA4. In GA4, not in the store: this is where a double count usually shows, because on a web stream GA4 drops a repeat purchase with the same transaction_id, so a second copy only survives with a different ID (an order number on one tag, a checkout token on another). Test and cancelled orders, set aside.
  6. Read the result as a ratio: GA4 purchases ÷ store orders. Below 100%, steady week to week, with the missing orders explained by declined analytics cookies (F-201), blocked scripts and test orders, is expected. Above 100%, an exact multiple, or a step on a date you can name is a fault, and gets a code.
  7. Write down the Google Ads and Meta purchase figures for the same week, with the conversion action, counting setting and attribution setting each used. File the four parts on one dated page. Repeat the order match monthly, and the whole baseline after any change to checkout, theme, consent banner or purchase tags.
How I'd fix this

Sources on file

Questions on this file

How do I know if my GA4 tracking is accurate?

Check it against your store's orders. Take a full week that ended at least two days ago, export the orders, and match them with GA4 purchases on transaction ID, using whichever store identifier your tags send as transaction_id. Then place one test order with Tag Assistant open (on Shopify, the browser's Network tab, since app and custom pixels run in a sandbox) and count the purchase events. One purchase per order, and missing orders you can explain, mean it is broadly right.

What is a tracking baseline?

A dated record of how far your tracking is from the store: a list of every tag and app that sends data, one test order and what each platform received, one week of orders matched with GA4, and the Google Ads and Meta figures for that week. It is not a performance baseline like conversion rate before a test. It tells you whether the numbers can be trusted.

How big a gap between GA4 purchases and store orders is normal?

Work it out as a ratio, GA4 purchases ÷ store orders, week by week. Below 100% and steady, with the missing orders traced to declined cookies, blocked scripts and test orders, is expected. Above 100%, an exact multiple, or a jump on a date you can name is a fault. For revenue: GA4 revenue higher than Shopify.

Is a baseline the same as a tracking audit?

No. The baseline is the record; an audit is one way to produce it, and it goes further: Enhanced Conversions, consent, lost sources, dirty data and report definitions, each finding filed against a code. What an audit checks: tracking audit.

Can I build a baseline without access to Google Tag Manager?

Most of it. The order match needs GA4 read access and a store order export. The test order needs only a browser with Tag Assistant. The inventory is where you need GTM access, or a developer who can export the container and list the apps that send data.