๐Ÿ“ŠAnalytics & Tracking

GA4 Custom Event Tracking: Measuring What Actually Matters on Your Website

Published 26 March 2026
9 min read
15 views

Why Default Tracking Isn't Enough

Out of the box, GA4 tracks basic interactions automatically: page views, scrolls, outbound clicks, site search, video engagement, and file downloads. That's useful โ€” but it's the bare minimum.

It doesn't tell you:

  • How many people clicked your "Get a Quote" button
  • Which pricing plan visitors select most often
  • How far people get through your multi-step form before abandoning
  • Whether that new testimonial section is actually being read
  • How many visitors interact with your chatbot
  • Which blog posts drive contact form submissions

These are the metrics that actually inform business decisions. And they all require custom event tracking.


How GA4 Events Work

GA4 is built entirely on an event-based data model. Everything is an event โ€” even a pageview is just an event called page_view.

Event Types

Automatically collected events: GA4 tracks these without any setup.

  • page_view โ€” page loaded
  • first_visit โ€” new user
  • session_start โ€” new session
  • user_engagement โ€” active on page for 10+ seconds

Enhanced measurement events: Toggled on in GA4 settings (most are on by default).

  • scroll โ€” scrolled 90% of page
  • click (outbound) โ€” clicked a link to another domain
  • view_search_results โ€” used site search
  • video_start, video_progress, video_complete โ€” YouTube embeds
  • file_download โ€” downloaded a file

Recommended events: Google suggests these for specific industries. You implement them yourself.

  • generate_lead โ€” form submission
  • sign_up โ€” account creation
  • purchase โ€” completed transaction
  • add_to_cart โ€” e-commerce
  • begin_checkout โ€” e-commerce

Custom events: Events you define for your specific business needs.

  • quote_button_click
  • pricing_plan_selected
  • chatbot_opened
  • testimonial_section_viewed
  • Anything else you need to measure

Event Parameters

Events carry parameters โ€” additional context about the event.

Example:

Event: generate_lead
Parameters:
  form_name: "contact_form"
  page_location: "/services/seo"
  form_type: "enquiry"
  value: 100

Parameters turn a generic event into specific, actionable data.


What to Track (Start Here)

You don't need to track everything. Start with the events that directly relate to revenue.

For Service Businesses

| Event | When It Fires | Why It Matters | |-------|--------------|----------------| | generate_lead | Contact form submitted | Core conversion | | phone_click | Phone number clicked | Mobile lead | | email_click | Email address clicked | Lead intent | | cta_click | Any CTA button clicked | Engagement with offers | | pricing_viewed | Pricing page/section viewed | Purchase intent | | testimonial_interaction | Clicked/expanded testimonial | Trust signal engagement | | calendar_booking | Meeting booked via embedded calendar | Direct conversion |

For E-commerce

| Event | When It Fires | Why It Matters | |-------|--------------|----------------| | view_item | Product page viewed | Shopping intent | | add_to_cart | Item added to cart | Purchase intent | | begin_checkout | Checkout started | High intent | | purchase | Transaction completed | Revenue | | add_to_wishlist | Item wishlisted | Interest signal | | search | Product search used | Demand signal |

For Content/Blog

| Event | When It Fires | Why It Matters | |-------|--------------|----------------| | article_read | Scrolled 75%+ of article | Genuine readership | | newsletter_signup | Email list subscription | Audience growth | | content_share | Share button clicked | Content value signal | | internal_link_click | Clicked link to another page | Content journey | | cta_in_content | Clicked CTA within article | Content-driven conversion |


Implementation: Two Methods

Method 1: Google Tag Manager (Recommended)

Google Tag Manager (GTM) is a free tool that sits between your website and GA4. It lets you add, modify, and manage tracking without editing your website code.

Why GTM is better than hard-coding:

  • No developer needed for most tracking changes
  • Changes deploy instantly without website updates
  • Easy to test before going live
  • Organised tracking in one place
  • Version control and rollback

Setup overview:

  1. Create a GTM account at tagmanager.google.com
  2. Install the GTM snippet on your website (one-time developer task)
  3. Create a GA4 Configuration tag (connects GTM to your GA4 property)
  4. Create triggers (when should the event fire?)
  5. Create tags (what data gets sent to GA4?)
  6. Test in Preview mode (verify before publishing)
  7. Publish

Example: Tracking a CTA button click

Trigger:

  • Type: Click โ€” All Elements
  • Fires on: Click Text contains "Get a Quote" (or Click ID/Class matches your button)

Tag:

  • Type: Google Analytics: GA4 Event
  • Event Name: cta_click
  • Parameters:
    • button_text: {{Click Text}}
    • page_location: {{Page URL}}

Method 2: gtag.js (Direct Code)

For developers comfortable adding code directly to the website.

gtag('event', 'cta_click', {
  button_text: 'Get a Quote',
  page_location: window.location.href
});

Attach this to the button's click event in your JavaScript.

When to use direct code:

  • Simple, one-off tracking
  • Dynamic applications (React, Next.js, Vue) where GTM is harder to implement
  • When you need tracking tied to application state, not just DOM events

Setting Up Key Events (Conversions)

In GA4, "conversions" have been renamed to "key events." Any event can be marked as a key event.

How to mark an event as a key event:

  1. Go to GA4 โ†’ Admin โ†’ Events
  2. Find your event in the list
  3. Toggle "Mark as key event"

What to mark as key events:

  • Form submissions (generate_lead)
  • Phone clicks (phone_click)
  • Purchases (purchase)
  • Booking completions (calendar_booking)

What NOT to mark as key events:

  • Page views
  • Scrolls
  • Button clicks that aren't conversions
  • Anything that happens too frequently to be meaningful

Key events appear in your reports with special prominence and are used for audience building and Google Ads optimisation.


Custom Dimensions and Metrics

When you need to report on event parameters, you need to register them as custom dimensions or metrics in GA4.

Custom dimensions are for text values (form name, button text, content type).

Custom metrics are for numerical values (score, value, count).

How to register:

  1. GA4 โ†’ Admin โ†’ Custom definitions
  2. Create custom dimension
  3. Name it, set scope (Event), and map it to the event parameter

Limits:

  • 50 custom dimensions (event-scoped)
  • 25 custom dimensions (user-scoped)
  • 50 custom metrics

Plan your parameters carefully. You don't want to hit these limits with throwaway data.


Testing Your Events

Never publish tracking without testing. Broken events mean bad data, which means bad decisions.

GTM Preview Mode

  1. Click "Preview" in GTM
  2. Enter your website URL
  3. Your site opens in a new tab with a debug panel
  4. Perform the action you're tracking
  5. Check if the tag fired and what data it sent

GA4 DebugView

  1. GA4 โ†’ Admin โ†’ DebugView
  2. Shows events arriving in real-time
  3. Click any event to see its parameters
  4. Verify event name, parameter names, and values are correct

GA4 Realtime Report

  1. GA4 โ†’ Reports โ†’ Realtime
  2. Shows events from the last 30 minutes
  3. Quick verification that events are flowing

Checklist Before Publishing

  • [ ] Event fires when expected (and doesn't fire when it shouldn't)
  • [ ] Event name follows GA4 naming conventions (snake_case, no spaces)
  • [ ] Parameters contain correct values
  • [ ] No duplicate events firing
  • [ ] Works on desktop AND mobile
  • [ ] Works across major browsers
  • [ ] Doesn't slow down page performance

Common Mistakes

  1. Tracking everything โ€” more events doesn't mean more insight. Track what you'll actually use for decisions.
  2. Inconsistent naming โ€” CTA_Click, cta_click, ctaClick, and CTA click are four different events in GA4. Standardise your naming convention (snake_case recommended).
  3. Not registering custom dimensions โ€” your event parameters won't appear in reports until you register them.
  4. Forgetting to test on mobile โ€” mobile interactions (taps) behave differently than desktop clicks.
  5. No documentation โ€” keep a tracking plan spreadsheet documenting every event, its parameters, where it fires, and why.
  6. Counting non-conversions as key events โ€” if everything is a key event, nothing is.
  7. Not connecting to Google Ads โ€” if you're running ads, your GA4 key events should be imported into Google Ads for smart bidding.
  8. Ignoring event limits โ€” GA4 allows 500 distinct event names per property. Plan accordingly.

The Tracking Plan

Before implementing anything, create a tracking plan spreadsheet:

| Event Name | Description | Trigger | Parameters | Key Event? | Custom Dimension? | |------------|-------------|---------|------------|------------|-------------------| | generate_lead | Contact form submitted | Form submission | form_name, page_location | Yes | form_name | | cta_click | CTA button clicked | Button click | button_text, page_location | No | button_text | | phone_click | Phone number tapped | Link click (tel:) | page_location | Yes | โ€” | | pricing_viewed | Pricing section in viewport | Scroll trigger | plan_type | No | plan_type |

This document becomes your single source of truth for what's tracked, why, and how. Share it with your team and update it whenever tracking changes.


Getting Started

  1. Install Google Tag Manager (if not already installed)
  2. Identify your top 5 business-critical actions
  3. Create a tracking plan for those 5 events
  4. Build the tags and triggers in GTM
  5. Test thoroughly in Preview mode and DebugView
  6. Publish
  7. Mark conversions as key events in GA4
  8. Register custom dimensions for any parameters you want to report on
  9. Wait 24-48 hours for data to populate in standard reports
  10. Build a custom report or exploration to monitor your events

The difference between a business that uses analytics effectively and one that doesn't isn't the tool โ€” it's whether they're tracking the right things. Default analytics tells you about your traffic. Custom event tracking tells you about your business.

RELATED TOPICS

GA4 eventscustom event trackingGoogle Analytics 4Google Tag Managerevent parametersconversion trackingwebsite analyticskey events

Related Articles

Funnel Analysis: Finding and Fixing Where You're Losing Customers

You're driving traffic. People are visiting your site. But somewhere between the first click and the final conversion, most of them disappear. Funnel analysis shows you exactly where โ€” and more importantly, why.

11 min read

Customer Lifetime Value: The Metric That Should Be Driving Every Marketing Decision

You spent $200 acquiring a customer who made a $150 purchase. Looks like a loss. But that customer bought again 4 more times over 3 years, spending $2,400 total. Suddenly that $200 acquisition cost looks like a bargain. CLV changes how you think about every dollar you spend.

10 min read

Server-Side Tracking: Why Your Analytics Data Is Incomplete and How to Fix It

Ad blockers strip your tracking. Safari deletes your cookies after 7 days. Privacy regulations restrict what you can collect. If you're relying solely on client-side tracking in 2026, you're missing 20-40% of your data. Server-side tracking reclaims it.

9 min read

Need Help Implementing This?

Our team at Tiberius specializes in analytics & tracking and can help you achieve your goals.