The GA4 event model in one paragraph
GA4 has no sessions, no bounce rate as a default metric, no goal-completion model. It has events. Every interaction is an event (page_view, click, scroll, video_complete, lead_form_submit, purchase). Every event carries parameters (event_name, page_location, value, currency, item_id, etc.). Events that matter for the business get marked as key_events (the GA4 successor to conversions). The job is choosing which events to count, parameterising them correctly, and pushing them to BigQuery for the analysis layer.
The eight events worth wiring on every account
| Event | Why it matters | Parameters to capture |
|---|---|---|
| page_view | Baseline traffic measurement | page_location, page_referrer, page_title |
| scroll_depth_25/50/75/100 | Content engagement signal | percent_scrolled, page_location |
| video_progress | Engagement quality on video pages | video_title, video_percent, video_provider |
| file_download | Asset-driven funnel signal | file_name, file_extension, link_url |
| lead_form_submit | Pipeline entry point | form_id, form_name, page_location, lead_quality_score (if known) |
| cta_click | Conversion-path signal | cta_label, cta_destination, page_location |
| outbound_link_click | Referral-out signal | link_url, link_domain, link_text |
| begin_checkout / purchase | E-commerce or transaction value | transaction_id, value, currency, items |
Mark lead_form_submit and purchase as key_events. Everything else is supporting signal.
Custom dimensions: where business context lives
GA4 ships with around 25 built-in dimensions (device, country, source, medium, etc.). For board-grade reporting you need custom dimensions that carry business context the platform does not know about:
- User_id (user-scoped): hashed ID that lets you join GA4 events to your CRM data in BigQuery
- Logged_in_state (event-scoped): anonymous vs identified user, which changes how you read conversion paths
- Form_id (event-scoped): which form variant submitted, so you can attribute lift to specific lead-form designs
- Lead_quality_score (user-scoped): pushed from CRM via Measurement Protocol so you can read on-site behaviour by downstream lead quality
- Page_template (event-scoped): which template the page used (industry page, service page, blog post), which lets you compare content-type performance
Exploration reports: how you actually answer questions
The default GA4 reports are surface-level. Exploration reports are where the analysis lives. The three most useful templates for marketing operations:
- Funnel exploration: define an N-step funnel (impression -> page_view -> scroll_75 -> cta_click -> lead_form_submit), see drop-off by step, segment by source/medium
- Path exploration: see all paths users actually took before a key_event, useful for identifying high-conversion content sequences
- Cohort exploration: group users by acquisition week and track retention or repeat-purchase rate; the only GA4 surface that does cohort analysis natively
BigQuery export: the only path to board-grade analysis
GA4 ships free BigQuery export. Turn it on day one. It is the only way to:
- Join GA4 event data to your CRM data on user_id
- Run cohort analysis across windows GA4's UI does not support
- Build the marketing-mix-modelling input table (impressions, clicks, on-site events, conversions, by week, by source)
- Run incrementality testing across geos with the granularity GA4's UI does not expose
- Maintain a data layer that survives a Google product change (GA4 itself replaced Universal Analytics; the BigQuery raw export is the long-lived asset)
BigQuery's first 1 TB of query is free per month. For most marketing org workloads that floor is not binding. Above that, costs are in the low hundreds of dollars per month, which is trivial compared to the analytical value.