Skip to main content
GA4 setup & auditGA4

A GA4 property whose numbers you can actually use

GA4 collects almost anything you send it, which is why so many properties are full of data nobody can answer a question with. We build a documented event taxonomy, complete ecommerce payloads with real items arrays, register the dimensions you'll actually filter on, filter internal traffic properly, turn on the BigQuery export before you need it, and reconcile purchases against your store so the property has a known relationship to reality.

Free30 minutesNo obligation

GA4 setup & audit · what breaks

Why most GA4 properties don't get used — GA4 setup & audit

  1. 01

    Ecommerce reports empty despite purchases recording

    Almost always a malformed items array, which GA4 discards silently.

  2. 02

    Parameters collected but invisible in reports

    Unregistered custom dimensions. Nothing in the interface warns you.

  3. 03

    Internal and staging traffic in the data

    Distorting every rate in the property.

  4. 04

    No agreed relationship to your store's numbers

    So nobody trusts it enough to make a decision from it.

GA4 setup & audit · the fix

What you get out of it — GA4 setup & audit

  • Ecommerce reports that populate end to end

    From item list impressions through to purchase.

  • A property that reconciles

    Within the small gap consent modelling explains.

  • Dimensions you can actually filter on

    Registered, so the data you collect is data you can use.

  • Event-level data preserved

    BigQuery export on from the start, because it isn't retroactive.

GA4 setup & audit · architecture

Why the numbers were wrong before you got here — GA4 setup & audit

Worth understanding before buying anything, because it decides which tier you need — and for some readers the answer is that you don't need us yet.

  1. 1

    The browser is the weakest link, and it is getting weaker on purpose

    Every browser-side tag has to survive the page loading, the visitor staying, the script running and the request leaving. All four are now contested. The order in your database is certain; the browser event reporting it is not.

  2. 2

    Safari caps the cookie your attribution depends on

    Intelligent Tracking Prevention limits JavaScript-set cookies to seven days whatever expiry you set, so a customer who takes longer than a week to decide returns as a stranger. A cookie your own server writes in an HTTP response is not capped — the single largest practical difference between browser-side and first-party server-side.

  3. 3

    Ad blockers remove the tag with no error

    A blocked pixel does not warn anyone. The customer buys, the order lands, and no platform hears about it. First-party events from your own subdomain are not a third-party request and are not filtered the same way.

  4. 4

    Consent is enforced by hope, not by architecture

    Client-side consent means trusting each vendor script to honour a flag. A server container decides at the container: a denied destination receives nothing. That is a materially stronger position, and it also stops the over-blocking that discards data no law required losing.

  5. 5

    Checkout can end where your tag isn't

    Wallets and hosted payment pages can be abandoned after the money moves. Sending the purchase from the order record means it arrives whether or not anyone came back.

GA4 setup & audit · diagnose

How we scope the ga4 build — GA4 setup & audit

Before quoting. Each step narrows what the work actually is, so the price reflects your account rather than an average.

  1. 01

    Check for duplicate purchase events

    GA4 deduplicates on transaction_id within a limited window; without it a refresh counts twice.

  2. 02

    Expand the items array on a live purchase

    Missing or malformed items is the top cause of empty ecommerce reports.

  3. 03

    Check which parameters are registered

    Collected but unregistered is invisible, and nothing flags it.

  4. 04

    Look for unfiltered internal traffic

    It distorts every rate.

  5. 05

    Verify referral exclusions

    Payment providers otherwise take credit for the sale.

  6. 06

    Reconcile purchases against the backend

    One closed week, matched on transaction_id.

GA4 setup & audit · prove

How the work gets proven — GA4 setup & audit

A dashboard turning green proves a dashboard turned green. These are what we hand over instead.

Source of truth

Your store order records

  • purchase count within a small percentage of backend orders for a closed week, matched on transaction_id.
  • No transaction_id appearing more than once.
  • Ecommerce reports populated from item list through to purchase.
  • Every parameter used in a report registered as a custom dimension.
  • Internal traffic filter confirmed active, not merely created.
  • BigQuery export receiving daily tables.
  • Reconciled over a fully closed window, matched on ID rather than on totals — totals hide equal and opposite errors.
  • Payload evidence captured from real transactions, saved to your own records.
  • The same reconciliation repeated 30 days later, because a setup that works once and drifts is the harder failure.

GA4 setup & audit · free audit

What we check in the free audit

  • Check for duplicate purchase events
  • Expand the items array on a live purchase
  • Check which parameters are registered
  • Look for unfiltered internal traffic
  • Verify referral exclusions
  • Reconcile purchases against the backend

Checked against

Your store order records

Get my free conversion tracking audit

Free30 minutesNo obligation

GA4 setup & audit · when not to buy

When you shouldn't buy this — GA4 setup & audit

We would rather say it now than three weeks into an engagement.

  • Your GA4 already reconciles and the ecommerce reports are populated. Verify it, then leave it alone.
  • You make every decision inside the ad platforms and nobody opens GA4. Decide whether you'll use it before rebuilding it.
  • You only need conversion tracking for ads. GA4 is not required for Google Ads conversions.
  • You're on a different analytics stack that already answers your questions. Running two properly is more work than running one well.

GA4 setup & audit · what we deliver

What's included in the ga4 build — GA4 setup & audit

  • Documented event taxonomy

    Recommended names where they exist, so built-in reports work; custom only where nothing standard fits.

  • Complete ecommerce payloads

    items arrays with id, name, price, quantity and currency, in the shape GA4 requires.

  • Custom dimensions registered

    For every parameter you intend to filter or segment on.

  • Internal traffic filtered

    Staff, staging and test orders excluded before they reach reports.

  • Google Ads and BigQuery links

    Conversion import and free event-level export, enabled early.

  • Consent Mode wired to one source

    The same consent decision feeding every tag, not a separate implementation per tool.

Written guarantee

95%+ tracking accuracy

Measured against Your store order records. Miss it and we keep working at no cost.

Get my free conversion tracking audit

Pricing

Pick the package that fits your ad spend

Browser-side starter

$400One-time fee · lifetime ownership

The correct browser-side build, done properly and verified on a live transaction. Honest about its ceiling: it will not survive Safari's cookie cap, an ad blocker, or a checkout that ends somewhere your tag isn't. If you spend $1K+/month on paid media, start one tier up.

  • Correct events, correct parameters, correct values
  • Verified on a live transaction, not in preview
  • Reconciled against your own order records
  • Written handover you keep
Start with the basics

1st-party server-side

Recommended

$800One-time fee · most popular

The tier that changes the outcome rather than patching it. Your money events stop depending on the browser: they are sent from your order records through a first-party server container on your own subdomain, so iOS, ad blockers, consent banners and interrupted payment redirects can no longer take them away. Built in 2–4 days. You own the stack outright, with no monthly SaaS.

  • First-party server container on your own subdomain
  • Money events sent from your order records, not the browser
  • Meta, Google, TikTok, Microsoft and LinkedIn all fed server-side
  • Deduplicated on a shared event ID, verified at every destination
  • First-party cookies beyond Safari's 7-day cap on JavaScript-set cookies
  • 95%+ conversion accuracy and 8+ Meta EMQ, guaranteed in writing
Get the server-side build

Full 1st-party stack

$1,800One-time fee · lifetime ownership

Every paid-media channel server-side, plus the offline loop that connects closed revenue back to the click. For advertisers whose spend makes an attribution leak more expensive than the build.

  • Everything in 1st-party server-side
  • Pinterest, Snapchat, Reddit and LinkedIn CAPI
  • CRM and offline conversion loop, so closed revenue reaches bidding
  • Refunds and cancellations reversed at every destination
  • Klaviyo identity stitching, BigQuery and Looker Studio
  • Monitoring, so the next break surfaces in days rather than a quarter
Get the full stack

FAQ

GA4 setup & audit questions, answered

No. Expect GA4 slightly under, from consent denial and blockers. A small stable gap is correct; a large or growing one is a fault.

Free · 30 min

Get a GA4 property worth opening

Free30 minutesNo obligation