01
GA4 setup step by step
Begin with a measurement plan connecting commercial goals to events. Configure data streams and consistent naming, then mark only meaningful actions as key events. Set retention to 14 months, filter internal traffic, configure cross-domain measurement and connect Google Ads and Search Console.
Test ecommerce across the complete journey, including product data, currency, discounts and refunds. Access should follow clear responsibilities, while change notes make future diagnosis possible.
Review every Enhanced Measurement option in the web stream rather than enabling the bundle blindly. In DebugView, complete a test purchase and inspect event names, parameters and sequence. Configure all owned domains under cross-domain settings, or payment and booking domains may start new sessions. Verify the Google Ads link uses the intended account and that key events appear only after a successful business outcome.
- 01Approve measurement plan
- 02Define streams and domains
- 03Test events and key events
- 04Set retention to 14 months
- 05Filter internal traffic
- 06Connect advertising and search products
02
The most common GA4 errors
Common failures include no measurement plan, duplicate events, missing ecommerce parameters, two-month retention, absent consent controls, unfiltered internal traffic and unexplained '(not set)' sources.
Each issue needs root-cause diagnosis across scripts, GTM, campaign tagging, identity and linked products rather than a cosmetic report adjustment.
Duplicate events usually appear with the same timestamp or transaction_id. Trace them in DebugView and GTM Preview to find overlapping gtag, plugin or container implementations. Missing item_id, value or currency becomes visible in monetisation reports. Correct the dataLayer source rather than masking the report. Diagnose '(not set)' by checking campaign tags, session creation and product links in that order.
- 01No measurement plan
- 02Duplicate events
- 03Missing parameters
- 04Short retention
- 05No consent control
- 06Internal traffic included
- 07Unexplained sources
03
Why does GA4 not match sales?
GA4 is not an accounting system. Consent, blockers, modelling, attribution, time zones and refunds all produce legitimate differences.
Reconcile order or lead identifiers, currency, tax, delivery and status across the same period. The aim is an understood and stable difference, not necessarily identical totals.
Reconcile at transaction level before comparing totals. Export transaction_id, revenue and date from GA4 and match them against order number, net value and status in the commerce system. Store-only orders often indicate denied consent or blocked measurement. GA4-only duplicates often come from a reloaded confirmation page. Value differences commonly trace to delivery, tax, currency or refunds that were never sent as refund events.
04
When does server-side tracking make sense?
Server-side tracking routes selected signals through an endpoint on your first-party domain, offering greater control and potentially fewer third-party browser scripts. It never removes the requirement for valid consent.
Hosting, secure configuration, monitoring and maintenance add complexity. Adopt it when data value and organisational maturity justify that commitment, and link the implementation to a disciplined GTM setup.
A typical setup sends browser events to a tagging endpoint on a first-party subdomain. A server client receives each request, then server tags decide which approved fields reach a destination. Preview both containers and compare event_id, client_id and consent state. Remove unnecessary parameters before forwarding. The benefit is control over transport and payload, not permission to override consent or browser choice.
05
From data to decisions
Use a KPI hierarchy: leadership needs revenue and qualified demand, channel owners need contribution and efficiency, and specialists need diagnostic events.
Looker Studio makes agreed views accessible. BigQuery supports raw history and joins with CRM or finance data. Value appears when regular reviews turn observations into owners and actions.
Design each view around a question. A leadership page may show qualified demand and revenue by channel, while channel owners drill into campaign and landing page. Specialists can then inspect event parameters behind a change. Use consistent date ranges and definitions at every level. BigQuery becomes useful when raw detail, longer analysis or joins with order and CRM status are necessary.
