Blog

← All articles

GA4 Event Tracking Setup in GTM Without Code — Complete Guide

TL;DR: To set up GA4 custom events in GTM without code: create a trigger matching the user action (click, form, scroll), add a GA4 Event tag with a snake_case event name and parameters, register custom dimensions in GA4, and test with Tag Assistant + DebugView. Always check GA4's recommended events list before creating custom ones.

Google Analytics 4 is event-based. Every interaction — page view, button click, scroll, purchase — is an event. GA4 collects some events automatically, but the most valuable insights come from custom events you define yourself. The good news: you don't need to write a single line of code. Google Tag Manager handles everything.

This guide covers the full process: understanding GA4's event model, creating custom events in GTM, naming conventions, adding parameters, and verifying that data flows into your GA4 reports.

How do GA4 events work?

GA4 has four types of events:

The key rule: always check if a recommended event name fits before creating a custom one. Recommended events unlock built-in GA4 reporting features. Custom events require manual report setup.

How should I plan my GA4 event?

Before touching GTM, decide:

  1. What user action are you tracking? A button click, form submission, page scroll, video play?
  2. What's the event name? Use snake_case, keep it under 40 characters. Examples: click_signup_cta, submit_contact_form, view_pricing_page.
  3. What parameters do you need? GA4 allows up to 25 custom parameters per event. Common ones: button_text, button_location, form_id, page_section.

Naming Conventions That Scale

With a 500-event-name limit per GA4 property, consistency matters. Use a pattern:

{action}_{object}_{detail}
click_hero_signup
click_nav_pricing
submit_contact_form
view_pricing_section
download_whitepaper_pdf

This pattern makes it easy to filter events in GA4 Explore reports — you can filter all click_* events or all events on a specific page section.

How do I create a trigger for GA4 events in GTM?

The trigger tells GTM when to fire the tag. The trigger type depends on the user action:

User ActionGTM Trigger TypeKey Condition
Button clickClick - All ElementsClick Element matches CSS selector
Link clickClick - Just LinksClick URL contains value
Form submitForm SubmissionForm ID or Form Classes
AJAX formClick - All ElementsClick Element matches submit button
Element appearsElement VisibilityCSS selector of the element
Page scrollScroll DepthVertical scroll percentage

For click tracking, the most critical piece is the CSS selector. A bad selector breaks your tracking the moment the site updates. Prioritize data-* attributes, role, name, and aria-label over class names or IDs.

GTM Event Helper auto-generates the CSS selector when you click an element. It filters out unstable identifiers (CSS-in-JS hashes, random IDs) and shows a stability badge for each option.

How do I create a GA4 Event tag in GTM?

In GTM, go to Tags → New:

  1. Tag Type: Google Analytics: GA4 Event
  2. Measurement ID: Your GA4 Measurement ID (format: G-XXXXXXXXXX). If you already have a GA4 Configuration tag, select it instead.
  3. Event Name: Your planned event name (e.g., click_hero_signup)
  4. Event Parameters: Add rows for each parameter:
    • Parameter Name: button_text → Value: {{Click Text}}
    • Parameter Name: button_url → Value: {{Click URL}}
    • Parameter Name: page_section → Value: hero (static)
  5. Triggering: Select the trigger you created in Step 2

Using GTM Variables as Parameter Values

GTM's built-in variables give you dynamic data without code:

Make sure these are enabled in GTM under Variables → Configure → Built-In Variables.

How do I register custom parameters in GA4?

This is the step most people forget. GA4 won't show custom parameters in reports until you register them:

  1. In GA4, go to Admin → Custom definitions → Custom dimensions
  2. Click "Create custom dimension"
  3. Set the Dimension name (what appears in reports) and the Event parameter (must match exactly what you set in GTM)
  4. Set the Scope to "Event"

GA4 allows up to 50 custom dimensions and 50 custom metrics per property. Plan accordingly.

How do I test GA4 events with Tag Assistant?

  1. In GTM, click Preview to launch Tag Assistant
  2. Navigate to the page and perform the action (click, submit, scroll)
  3. In the Tag Assistant timeline, find your event
  4. Verify the tag fired and check the event parameters

Verify in GA4 DebugView

Tag Assistant confirms GTM fired the tag. GA4 DebugView confirms the data arrived:

  1. In GA4, go to Admin → DebugView
  2. Enable debug mode: install the GA Debugger extension or add ?debug_mode=true to your URL
  3. Perform the action on your site
  4. Watch the event appear in DebugView's real-time stream
  5. Click the event to inspect parameters and values

If the event appears in Tag Assistant but not in DebugView, check your Measurement ID and ensure no ad blockers are interfering.

How do I publish and verify GA4 events?

Once testing passes:

  1. Publish the GTM workspace version with a descriptive name: "Add GA4 events: hero CTA, pricing click"
  2. Wait 24-48 hours for data to appear in GA4 standard reports
  3. Check Realtime report for immediate confirmation
  4. Build an Explore report if you need custom parameter breakdowns

What are common GA4 event tracking mistakes?

How do I build GA4 Explore reports for custom events?

Standard GA4 reports show aggregated event counts, but Explore reports let you slice custom events by any dimension. This is where your event parameters become valuable.

To build a custom event report in GA4 Explore:

  1. Go to Explore → create a Free-form exploration
  2. Add dimensions: Event name, plus your custom dimensions (button_text, page_section, form_id)
  3. Add metrics: Event count, Total users, Active users
  4. Drag dimensions into Rows, metrics into Values
  5. Apply a filter: Event name exactly matches your custom event (e.g., click_hero_signup)

Example: CTA click report. Add Event name, button_text, and Page path as dimensions. Add Event count and Active users as metrics. Filter to click_* events. Now you can see which CTAs get clicked, on which pages, and by how many unique users.

For funnel analysis, create an event-based segment: users who triggered click_hero_signup followed by submit_contact_form. Segments persist across the exploration, so you can compare conversion paths between segments side by side.

What is the difference between recommended and custom events in GA4?

GA4 treats recommended and custom events differently in reports. Recommended events use names that GA4 recognizes internally — when you fire purchase or add_to_cart with the correct parameters, GA4 automatically populates monetization reports, predictive audiences, and funnel visualizations. Custom events require you to build every report manually.

Here are the key recommended events by business type:

Business TypeKey Recommended Events
Ecommerceview_item, add_to_cart, begin_checkout, purchase, refund
Lead Generationgenerate_lead, sign_up, login
SaaSsign_up, login, tutorial_begin, tutorial_complete
Content / Mediashare, search, select_content, view_item_list

The rule is simple: if a recommended event name fits your use case, use it — even if you need to add custom parameters alongside the required ones. Only create a custom event when no recommended name applies. For example, tracking a "Request Demo" button should use generate_lead (recommended) rather than click_request_demo (custom), because generate_lead automatically appears in GA4's lifecycle reports and can feed predictive audiences like "likely 7-day purchasers."

How do I use GA4 events for Google Ads conversions?

GA4 events become powerful when you connect them to Google Ads. Any GA4 event can be marked as a conversion and imported into your Google Ads account to power Smart Bidding strategies.

The setup has three steps:

  1. Mark as a key event in GA4. Go to Admin → Events, find your event, and toggle the "Mark as key event" switch. GA4 starts counting conversions immediately.
  2. Link GA4 to Google Ads. In GA4, go to Admin → Google Ads Links and connect your Google Ads account. Both accounts need the same Google account with appropriate permissions.
  3. Import in Google Ads. Go to Google Ads → Goals → Conversions → Import → Google Analytics 4 properties. Select the key events you want to optimize for.

Attribution window matters. GA4 uses a data-driven attribution model with a default 30-day lookback for acquisitions and 90 days for other conversions. Google Ads has its own attribution windows per conversion action (default 30 days for clicks, 1 day for view-through). Align these windows to avoid discrepancies between GA4 and Google Ads reporting.

Why this matters for Smart Bidding: algorithms like Target CPA and Target ROAS optimize toward your imported conversions. If your GA4 events are misconfigured or underreporting, Smart Bidding will optimize toward incomplete data — leading to poor ad spend allocation. Always verify conversion counts match between GA4 and Google Ads within a reasonable margin (5-10% difference is normal due to attribution model differences).

How many custom events and parameters can I create in GA4?

GA4 has hard limits that you need to plan around. Hitting a limit means you cannot create new events or parameters without removing existing ones — and historical data for removed items is not recoverable in standard reports.

ResourceLimit (Standard)Limit (GA4 360)
Distinct event names5002,000
Parameters per event2525
Custom dimensions (event-scoped)50125
Custom dimensions (user-scoped)25100
Custom metrics50125
Event name length40 characters40 characters
Parameter name length40 characters40 characters
Parameter value length100 characters100 characters

Strategy to stay within limits: use parameters instead of unique event names to capture variation. Instead of creating click_hero_cta, click_nav_cta, and click_footer_cta as separate events, create one click_cta event with a button_location parameter. This uses 1 event name instead of 3 and keeps your event namespace clean.

GTM Event Helper's AI Agent suggests optimal event names and parameters following this exact principle — it recommends parameter-based differentiation to help you stay well within GA4's limits.

If you're approaching the 50 custom dimension limit, audit your existing dimensions in Admin → Custom definitions. Remove any that haven't received data in the last 90 days. You can also use BigQuery export to retain full event data without relying on custom dimensions for every parameter.

Is there a faster way to set up GA4 events?

The manual workflow requires switching between your website, GTM, and GA4. GTM Event Helper combines it into one flow:

  1. Click the element on your page
  2. The extension generates a stable CSS selector automatically
  3. Choose your event name and GA4 as the tag type
  4. Click "Create in GTM" — trigger and tag are created via the API

No tab switching. No manual selector work. No forgetting to enable built-in variables. The AI Agent tab can even analyze your page and suggest the right event name and parameters.

Set up GA4 events in seconds, not minutes.

Install GTM Event Helper

External Resources

Related Articles

← All articles · Home · Privacy Policy · Contact