GA4 event names aren't just labels. They determine how data gets grouped in reports, whether events appear in predictive audiences, how parameters get associated with dimensions, and whether your data is readable six months from now when someone else inherits the property.

Most naming problems are invisible until you try to build a report and find three versions of the same event, or you hand the property to a client and they can't tell what half the events mean.

The rules that matter

1
Always use snake_case — no exceptions

GA4 event names are case-sensitive. form_submit, Form_Submit, and formSubmit are three different events that will never be grouped together in reports. Google's own recommended events all use snake_case, and GA4's internal auto-collected events use snake_case. Follow the same convention for everything you create.

2
Use verb_noun format for custom events

The clearest event names describe what happened: an action (verb) on a thing (noun). This makes reports immediately readable and makes it obvious what the event represents without needing documentation.

3
Never use Google's reserved event names for custom events

GA4 has reserved event names that have specific meanings. Using them for something different corrupts your data and can interfere with GA4's machine learning features. Never create custom events named: click, scroll, view_item, purchase, begin_checkout, or any other GA4 recommended event name unless your event actually represents that action.

4
Keep names under 40 characters, parameters under 100

GA4 technically allows event names up to 40 characters and parameter values up to 100 characters. Staying within these limits avoids truncation. More importantly, shorter names are easier to read in reports, easier to type without errors, and less likely to be mistyped differently by different people.

5
Be consistent across platforms

If you have a web property and a mobile app both sending to the same GA4 property, use identical event names for the same actions. purchase should mean the same thing on iOS, Android, and web. Inconsistency makes cross-platform analysis impossible.

Good vs. bad names

Parameter naming

The same rules apply to parameter names: snake_case, descriptive, consistent. Parameters add context to events — they're what turns cta_click into a report that tells you which CTA was clicked, on which page, in which position.

Parameter Good Bad
Button label button_text buttonText, BTN
Page section page_section section, PageSection
Product category item_category cat, product_cat
Form name form_name form, formID
Don't encode context in the event name. Use parameters for that. Instead of creating separate events like hero_cta_click and footer_cta_click, create one cta_click event with a page_section parameter. This keeps your event list manageable and your reports flexible.

GA4 reserved names to avoid

GA4 reserves certain event and parameter names. Using these for custom tracking will either be silently ignored or cause conflicts with auto-collected data. The most common ones to be aware of:

Reserved event namesWhy they're reserved
ad_click, ad_exposure, ad_impressionGoogle Ads integration
app_remove, app_store_refund, app_updateMobile app lifecycle
click, scroll, session_start, user_engagementAuto-collected events
purchase, refund, add_to_cart, begin_checkoutE-commerce recommended events
first_open, first_visitAuto-collected new user events
Use Google's recommended events where they fit. If you're tracking a product add-to-cart, use the GA4 recommended add_to_cart event with the standard parameters. GA4 has pre-built reports for these events, and they integrate with Google Ads, Merchant Center, and predictive audiences automatically.

How to audit your existing events

If you've inherited a property or your tracking has grown organically, your event names are probably a mess. Here's how to assess the damage:

1. Export your event list. In GA4 go to Configure → Events. Look for obvious problems: camelCase, spaces, hyphens, duplicate concepts with different names.

2. Check for near-duplicates. Events like form_submit and form_submitted and form_complete often exist in the same property tracking the same thing. Each represents lost data that can't be retroactively combined.

3. Identify zombie events. Any event that shows 0 occurrences in the last 30 days is either obsolete or broken. Neither is good.

4. Check parameter consistency. The same concept should always use the same parameter name. If some events use page_location and others use page_url for the same value, your segmentation will be wrong.

Unfortunately, you can't rename events retroactively — GA4 doesn't support it. The only fix for bad event names is to implement the correct name going forward and wait for enough data to accumulate before sunsetting the old one.

Check your property automatically

Our automated audit flags event naming issues, identifies zombie events, checks for duplicate tracking, and verifies that recommended event parameters are present and correct — in under 60 seconds.

Run your GA4 audit — $179 →

Travis Gunn
Founder of GA4 Health Check. Working with Google Analytics since 2013, with over 250 clients audited across almost every industry vertical. 100% Job Success on Upwork for over a decade.