GA4’s event-based model is more flexible than Universal Analytics — and more confusing. Here’s the full setup that works.
Events Are the Core of GA4
Unlike Universal Analytics’ fixed dimensions (pageview, event, transaction), GA4 treats everything as an event. Pageview is an event. Scroll is an event. Purchase is an event. Each event has parameters: name, value, item_id, user properties. This model is more flexible but requires more upfront thinking. Decide your event taxonomy before implementation — renaming events later loses historical data.
Automatically Collected Events
GA4 collects these out of the box: page_view, scroll (90% depth), click (outbound), file_download, video_start/complete, site_search. You don’t need to configure them. But they have limitations — scroll fires only at 90%, video tracking only works with YouTube embeds, site_search requires specific query parameter setup. Understand what you get free before building custom events that duplicate them.
Enhanced Measurement
In GA4 Admin → Data Streams → Web → Enhanced Measurement, toggle on: scrolls, outbound clicks, site search, video engagement, file downloads, form interactions (new). These auto-track without code. Toggle off anything you don’t want — ‘form_submit’ as an auto event can fire on invalid form submissions, polluting your conversion data. Most accounts leave these on; review and adjust.
Custom Events via GTM
For events beyond automatic: use Google Tag Manager. Create a trigger (click on class, form submit, dataLayer push) and a GA4 Event tag. Event name should be snake_case (‘contact_form_submit,’ not ‘Contact Form Submit’). Add parameters: form_name, form_location, user_email (hashed for enhanced conversions). Test in GA4 DebugView before going live. Untested events pollute data and are hard to fix retroactively.
Marking Events as Conversions
In GA4 Admin → Events, mark key events as conversions: purchase, contact_form_submit, phone_click, etc. Only mark events that matter for the business — not every interaction is a conversion. Conversions power Google Ads bidding, audience building, and Attribution reports. Max 30 conversion events per property — be selective. Review quarterly and pause events that became noise.
DebugView: Your Best Friend
DebugView shows events in real-time for a single debug session. Install Google Analytics Debugger Chrome extension OR append ?debug_mode=1 to your URL. Then watch events fire in GA4 Admin → DebugView. Essential for validating new implementations. Every new event should be tested here before going live. Saves hours of ‘why isn’t this tracking?’ later.
BigQuery Export (Free)
GA4 has free BigQuery export — historical event data in raw SQL-queryable form. Turn it on in Admin → BigQuery Links. You lose this data if you don’t enable it; GA4’s standard UI only retains 14 months of details. BigQuery unlocks: custom dashboards, advanced attribution modeling, cohort analysis at scale. Free for <10 GB/month — enough for most SMB-scale accounts.
Need help with analytics?
Get a free audit of your analytics setup. We’ll show you exactly where the opportunities are.
Get Free Audit →