GA4 Custom Events and Conversions: A Practical Implementation Guide
GA4's entire data model is built around events — there's no separate "pageview" object like the old Universal Analytics had; a pageview is just an event called page_view. Understanding this shift is the key to implementing custom tracking correctly instead of fighting the platform.
Automatically Collected vs. Recommended vs. Custom Events
GA4 splits events into three categories. Automatically collected events (page_view, scroll, click, session_start) fire with zero configuration once the base tag is installed. Recommended events (purchase, sign_up, search) use Google's standard naming and parameters, which you implement yourself but which unlock pre-built reports. Custom events are anything unique to your business — a "calculator_completed" event on a mortgage site, or a "video_75_percent" event on a course platform — that you name and define entirely yourself.
Implementing Events Through Google Tag Manager
For most non-developers, GTM is the practical path. Create a Trigger (the condition that fires the event — a click on a specific button class, a form submission, a URL match on a thank-you page) and a Tag (a GA4 Event tag that sends the event with whatever parameters you define) and link them together. Always test in GTM's Preview mode before publishing, checking that the event fires exactly once per real action — not on page load, not twice per click.
Choosing Good Event Parameters
An event without parameters is barely more useful than a raw count. A "generate_lead" event should carry parameters like lead_source, form_name, and estimated_value where available. Keep parameter names consistent across your site — don't send "form_type" on one page and "formType" on another, as GA4 treats them as entirely separate dimensions. Register any parameter you plan to report on as a Custom Definition (Admin > Custom Definitions) within 24 hours of it first firing, since older data won't retroactively populate the dimension.
Marking Conversions Correctly
Not every event should be a conversion. Reserve the "mark as conversion" toggle for events that represent genuine business value — a completed purchase, not an add-to-cart; a submitted lead form, not a form view. Over-marking conversions (treating a newsletter signup and a $10,000 enterprise deal as equally weighted "conversions") makes campaign ROI reporting meaningless, since GA4's default reports treat all conversions as equal counts unless you separately track value.
Attaching Value to Non-Ecommerce Conversions
Ecommerce sites get revenue tracking automatically through the purchase event's value parameter. Lead-gen and SaaS sites should manually assign an estimated dollar value to each conversion type (a demo request might be worth $150, a free trial $40) using the value and currency parameters on the event. This lets Google Ads and GA4's own reports optimize and report on real business impact rather than raw conversion counts.
Testing Before You Trust the Data
- Use GA4 DebugView with the GA4 Debugger Chrome extension to watch events fire in real time as you test.
- Check the Realtime report immediately after publishing a new tag to confirm it's live.
- Wait 24-48 hours before judging standard reports — DebugView is instant, but standard processing has a lag.
Documenting Your Event Taxonomy
As the number of custom events grows, undocumented naming becomes a real liability — a new team member has no way to know that "lead_submit" and "generate_lead" are meant to be the same thing, tracked inconsistently across two site sections. Maintain a simple shared spreadsheet listing every event name, its trigger condition, its parameters, and which pages implement it. This single document saves hours of GTM archaeology every time someone needs to add a new event or debug an existing one. For a deeper look at this, see our guide, Designing Custom 404 Pages and Preventing Crawl Waste from Soft 404s.
Get the event and conversion model right once, and GA4's Explorations, attribution, and Ads integration all become dramatically more useful with zero extra work. For a deeper look at this, see our guide, How Mobile-First Indexing Works and Why It Changes What Google Sees.