Skip to main content
GA4 MigrationGA4 migration & setup

Get your GA4 Migration tracking to 95%+ accuracy guaranteed in writing.

Default GA4 is broken out of the box: no e-commerce schema, wrong attribution, double-counted conversions, no BigQuery, reports buried 4 clicks deep. Most teams check GA4 once a quarter, distrust it, and revert to Meta Ads Manager. We rebuild GA4 properly — clean events, custom dimensions, audiences, BigQuery, and a Looker dashboard your team will actually look at every day.

Free30 minutesNo obligation

GA4 Migration · what breaks

Why your GA4 is unusable — GA4 Migration

  1. 01

    Default config is broken

    (not set), bots, double-counting.

  2. 02

    Reports buried 4 clicks deep

    No one uses GA4 day-to-day.

  3. 03

    BigQuery never set up

    Free data goldmine ignored.

  4. 04

    Wrong attribution model

    Last-click default hides MOFU.

GA4 Migration · the fix

Outcomes — GA4 Migration

  • Clean e-commerce schema

    All standard events fire correctly.

  • BigQuery export live

    Free tier for most stores.

  • Looker Studio dashboard

    Branded, daily, single-click access.

  • Audiences & key events

    Wired to Google Ads.

GA4 Migration · architecture

How a GA4 property should be assembled — GA4 Migration

GA4 collects almost anything you send it, which is why so many properties are full of data nobody can use. The structure below is what makes reports answer questions.

  1. 1

    One event taxonomy, written down before anything is tagged

    Recommended event names where they exist, because those unlock built-in reports and ecommerce dimensions. Custom events only where nothing standard fits, named consistently.

  2. 2

    Ecommerce events with real item arrays

    view_item, add_to_cart, begin_checkout and purchase carrying item_id, item_name, price, quantity and currency. Without the items array, half the ecommerce reports stay empty.

  3. 3

    Custom dimensions registered for the parameters you will actually filter on

    An unregistered parameter is collected and then invisible in reports. This catches nearly everyone at least once.

  4. 4

    Internal and test traffic filtered at the property

    Staff sessions, staging, and test orders excluded before they reach reports, not filtered out by hand afterward.

  5. 5

    Google Ads and BigQuery linked

    The Ads link enables conversion import and audience sharing. The BigQuery export is free and is the only way to get at unsampled event-level data — turn it on early, because it is not retroactive.

  6. 6

    Consent Mode signals wired to the same source as everything else

    GA4's behavioral modeling requires consent signals to be present and correct. One consent source feeding every tag, not a separate implementation per tool.

GA4 Migration · events

The GA4 event set we build for an ecommerce property — GA4 Migration

Recommended names throughout. Every ecommerce event carries the items array; leaving it out is the most common reason the ecommerce reports look broken.

view_item_listCategory or search results renderitems[], item_list_name—
view_itemProduct detail page loadsitems[], value, currency—
add_to_cartItem added to cartitems[], value, currency—
begin_checkoutCheckout entered with a non-empty cartitems[], value, currency, coupon—
add_payment_infoPayment method accepteditems[], value, currency, payment_type—
purchaseOrder confirmed by the backendtransaction_id, items[], value, tax, shipping, currencyKey event
refundRefund is issuedtransaction_id, value, currency—
generate_leadQualified lead, not every form submitvalue, currency, lead_sourceKey event
login / sign_upAuthentication completesmethod—

GA4 Migration · diagnose

Where GA4 properties usually go wrong — GA4 Migration

  1. 01

    Check for duplicate purchase events

    GA4 deduplicates on transaction_id within a limited window. Without it, a refreshed thank-you page counts twice.

  2. 02

    Confirm the items array is present and complete

    Open a real purchase in DebugView and expand the payload. Missing or malformed items is the top cause of empty ecommerce reports.

  3. 03

    Check which parameters are registered as custom dimensions

    Collected but unregistered parameters are invisible. This is not an error anywhere in the interface.

  4. 04

    Look for unfiltered internal traffic

    Staff and staging sessions in the data distort every rate in the property.

  5. 05

    Verify referral exclusions cover payment providers

    A checkout that redirects through a payment domain and back will otherwise attribute the sale to the payment provider.

  6. 06

    Reconcile purchases against the backend

    One fully closed week, matched on transaction_id. GA4 will read slightly low; a large gap is a fault.

GA4 Migration · prove

What a finished GA4 property looks like — GA4 Migration

Source of truth

Backend order records

  • purchase count within a small percentage of backend orders for a fully closed week, matched on transaction_id.
  • No transaction_id appearing more than once.
  • Ecommerce reports populated end to end, from item list through to purchase.
  • Every parameter used in a report registered as a custom dimension.
  • Internal traffic filtered and the filter confirmed active, not just created.
  • BigQuery export enabled and receiving daily tables.
  • A documented event taxonomy handed over, so the next person does not have to reverse-engineer it.

GA4 Migration · free audit

What we check in the free audit

  • Check for duplicate purchase events
  • Confirm the items array is present and complete
  • Check which parameters are registered as custom dimensions
  • Look for unfiltered internal traffic
  • Verify referral exclusions cover payment providers
  • Reconcile purchases against the backend

Checked against

Backend order records

Get my free conversion tracking audit

Free30 minutesNo obligation

GA4 Migration · when not to buy

When you do not need this — GA4 Migration

  • Your GA4 already reconciles against your backend and the ecommerce reports are populated. Verify it, then leave it alone.
  • You make every decision inside the ad platforms and nobody opens GA4. A property nobody reads is not worth rebuilding — decide first whether you will use it.
  • You only need conversion tracking for ads. GA4 is not required for Google Ads conversions; those can run entirely on their own tags.
  • You are on a different analytics stack that already answers your questions. Running two properly is more work than running one well.

GA4 Migration · what we deliver

Deliverables — GA4 Migration

  • GA4 property rebuild

    Property + data streams

  • GTM container update

    Clean event spec

  • BigQuery export

    Daily, with sample queries

  • Looker Studio dashboard

    Branded template

  • Notion runbook

    How to maintain & extend

Written guarantee

95%+ tracking accuracy

Measured against Backend 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

GA4 — Starter

$400one-time setup

Clean GA4 setup with standard e-commerce events and core reports. No BigQuery, no Looker.

  • GA4 property rebuild
  • Standard e-com events
  • Conversions wired to Google Ads
  • QA + handover doc
  • 30-day support
Start with starter

GA4 — Recommended

Recommended

$800one-time setup

Production GA4 with clean schema, BigQuery export, and a branded Looker Studio dashboard your team will actually open.

  • Clean event spec
  • Custom dimensions + audiences
  • BigQuery export with sample queries
  • Branded Looker Studio dashboard
  • Notion runbook
  • 30-day support
Get the recommended package

GA4 — Enterprise

$1,800one-time + optional retainer

Enterprise GA4 with multi-property, multi-stream, advanced custom dimensions, server-side measurement protocol, and quarterly reporting reviews.

  • Multi-property / multi-stream
  • Server-side Measurement Protocol
  • Cross-domain identity stitching
  • BigQuery + Looker + Hex notebook
  • Quarterly reporting review
  • 90-day support
Get enterprise scope

FAQ

GA4 Migration questions, answered

Universal Analytics has been deprecated since July 2024. We rebuild fresh on GA4.

Free · 30 min

Free GA4 audit

Free30 minutesNo obligation