GA4 tracking setup events and consent mode
Ideas you can ship

Fixing tracking once: GA4 the right way

Jan 15, 20264 min read
ga4 event-tracking gtm
ShareXLinkedInFacebook
Key Takeaways
  • GA4 uses an event-based model — every interaction is an event, and you define which ones are conversions
  • Consent Mode v2 is required for EU traffic and affects how GA4 models data when consent is declined
  • Data retention must be set to 14 months manually — the default is only 2 months
  • Connecting GA4 to BigQuery gives you access to raw, unsampled event data for proper attribution analysis

Events, conversions, and consent done properly so your reports finally match reality.

The mental model shift from Universal Analytics to GA4

Universal Analytics tracked sessions. GA4 tracks events. This is not a minor change in interface design — it is a fundamentally different data model that requires rebuilding your tracking strategy from scratch.

In Universal Analytics, a session was the container. Everything that happened during a visit sat inside a session: pageviews, events, goals. In GA4, every interaction is a standalone event with its own parameters. There is no session as a primary data structure. A pageview is an event called page_view. A form submission is a custom event you define. A conversion is an event you explicitly mark as one.

The practical consequence: if you migrated from UA to GA4 by copying your old event structure across, your GA4 data is almost certainly wrong. The naming conventions, conversion logic, and attribution setup all need to be rebuilt with GA4's model in mind, not retrofitted from the old one.

Designing your event taxonomy

Before you configure a single tag in Google Tag Manager, define your event taxonomy on paper. A good event taxonomy answers three questions for every event you plan to track:

  • What user action does this event represent?
  • What parameters (additional data points) does it need to be useful?
  • Is this event a conversion, a micro-conversion, or an engagement signal?

For a B2B service site, a minimal but complete event taxonomy might look like:

  • contact_form_submitprimary conversion. Parameters: form_location, page_path
  • booking_click — primary conversion. Parameters: button_text, page_path
  • scroll_depth — engagement signal. Parameters: percent_scrolled (25, 50, 75, 90)
  • outbound_click — engagement signal. Parameters: link_url, link_text
  • file_download — micro-conversion if applicable. Parameters: file_name

This taxonomy should be documented and agreed before implementation. Changing event names after the fact creates breaks in your historical data that cannot be repaired. See the full GA4 conversion tracking guide for step-by-step implementation using Google Tag Manager.

Free audit

Want this implemented for your funnel?

Get a free 90-day growth plan with tracking, channel priorities, and next-week actions.

Marking conversions correctly

In GA4, no events are automatically conversions except purchase for e-commerce implementations. Every other conversion event must be manually marked. This is where most implementations fail: teams assume that because an event is firing, it is being counted as a conversion in Google Ads. It is not, unless you have explicitly marked it.

To mark an event as a conversion in GA4: Admin, Events, find your event, toggle "Mark as conversion". The event must have fired at least once before it appears in this list. Allow 24 to 48 hours for the conversion data to flow into linked Google Ads accounts.

Critical: only mark events as conversions that represent genuine business value. If you mark every scroll depth and button click as a conversion, Google Ads' smart bidding will optimise toward cheap engagement actions rather than leads or sales. Your analytics setup quality directly determines your ad platform performance.

Consent Mode v2 became mandatory for EU traffic in March 2024 under the Digital Markets Act. If you are running Google Ads in any EU market and have not implemented Consent Mode v2, your ad attribution is incomplete and your smart bidding is working with degraded signals.

How it works: when a user declines consent on your cookie banner, GA4 and Google Ads fire cookieless pings. These pings contain no personal data but allow Google's modelling to estimate conversions that would otherwise be completely invisible. The modelled conversions flow into your Ads account and improve smart bidding accuracy without compromising user consent choices.

Implementation requires two things: a consent management platform (CMP) that supports Consent Mode v2 (such as Cookiebot, OneTrust, or Consentmanager), and the consent signals wired into Google Tag Manager using the Consent Initialisation trigger. Without both, the mode does not function correctly.

Critical GA4 settings that must be changed manually

GA4 ships with several defaults that will silently degrade your data quality if left unchanged:

  • Data retention: change from 2 months to 14 months. Admin, Data Settings, Data Retention. The default 2-month retention means any custom report or exploration older than 2 months will return no data. 14 months is the maximum and should be set on day one.
  • Google Signals: enable for cross-device reporting. Admin, Data Settings, Data Collection. Enables cross-device attribution for signed-in Google users. Required for accurate multi-device conversion paths.
  • Unwanted referrals: exclude your payment processor. Admin, Data Streams, Configure Tag Settings, List Unwanted Referrals. If you use Stripe, PayPal, or any external checkout, add these domains as unwanted referrals to prevent sessions being incorrectly attributed to payment provider traffic.
  • Internal traffic filter: exclude your own visits. Admin, Data Filters. Create a filter to exclude traffic from your office or development IP addresses. Internal traffic inflates engagement metrics and pollutes conversion data.

Connecting GA4 to BigQuery

GA4's interface applies sampling to reports when traffic exceeds certain thresholds. For a high-traffic site, this means the numbers in your GA4 dashboard are estimates, not exact figures. BigQuery gives you direct access to raw, unsampled event-level data.

The BigQuery link exports every event GA4 receives, with all parameters, into a structured dataset you can query with SQL. This enables:

  • Accurate attribution analysis across full user journeys without sampling
  • Custom cohort analysis that GA4's interface cannot produce
  • Joining GA4 data with CRM data for LTV and revenue analysis
  • Building custom dashboards in Looker Studio that pull directly from unsampled data

The BigQuery link is free to set up. BigQuery charges for storage and queries, but for most sites the cost is negligible (under $5/month). There is no reason not to enable it. Admin, Product Links, BigQuery Links, Link. The tracking and attribution setup is only as good as the data underneath it.

Newsletter

Get weekly growth ideas in your inbox

Practical SEO, PPC, analytics, and CRO notes with zero spam.

Frequently Asked Questions

What is the difference between GA4 and Universal Analytics?
Universal Analytics was session-based: it counted visits and grouped events within sessions. GA4 is event-based: every interaction is an individual event with parameters. There are no sessions as a primary unit. This makes GA4 more flexible but requires a completely different approach to event taxonomy and conversion setup.
What is Consent Mode v2?
Consent Mode v2 is Google's framework for handling user consent in compliance with GDPR and the EU Digital Markets Act. When a user declines cookies, GA4 fires cookieless pings and uses modelling to fill attribution gaps. Without Consent Mode v2 configured correctly, GA4 simply stops firing when consent is declined, creating data gaps that affect your ad platform optimisation.
How do I set up conversions in GA4?
In GA4, conversions are not automatically tracked. You must first ensure the event you want to track as a conversion is firing (via Google Tag Manager or the GA4 tag), then mark it as a conversion in the GA4 Admin under Events. Only events that are explicitly marked as conversions will flow into Google Ads for smart bidding.
Why connect GA4 to BigQuery?
GA4's interface uses sampled data above certain traffic thresholds, and the standard reports have limited flexibility. BigQuery gives you raw, unsampled event-level data that you can query directly. This is essential for accurate attribution analysis, cohort reporting, and any custom analysis that the GA4 interface cannot produce.
Wameq
Wameq

Digital marketing consultant — SEO, PPC, analytics & CRO.