GA4 & Analytics

The 6 GA4 events every site actually needs

02 Mar 2026 · 4 min read

GA4 & Analytics

GA4's event model gives you a lot of rope. You can track almost anything, which means most implementations I audit are tracking everything — and therefore nothing useful. Pages scrolled, outbound clicks, video starts, file downloads all enabled by default, generating millions of events that nobody looks at and costing money in BigQuery exports.

Strip it back. Here are the six events I configure on every site, and why they're the ones that actually inform decisions.

1. form_submit (with form_id)

Every conversion goal starts with a form. Fire this on successful submission (not on click) and pass the form ID as a parameter so you can distinguish contact forms from newsletter signups from quote requests.

2. purchase

If you're running e-commerce, this is non-negotiable. Make sure transaction_id is unique per order — duplicates in GA4 inflate revenue figures and are painful to clean up retroactively.

3. page_view with canonical_url

The default page_view is fine, but add a canonical_url parameter if your site has query string pollution. UTM parameters in URLs create hundreds of "unique" page paths in your reports.

4. scroll_depth (75%)

Not the default 90% — that threshold is too high for most content. 75% tells you whether someone actually read the page, not just whether they accidentally scrolled to the bottom.

5. click (outbound, filtered)

6. session_start with traffic_source

Enhance the built-in session_start with a custom traffic_source parameter derived from UTM values. This gives you clean channel attribution inside GA4 without depending solely on the default channel grouping, which changes without warning.

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.

← All articles