Alle Artikel
Tracking & Analytics·4 min read·EN

GA4 Event Naming: Why Your Tracking Breaks Silently Instead of Warning You

GA4 drops reserved event names without an error. Which names are affected, which limits apply, and how to find the damage before it is months old.

Armin Stadler
Armin Stadler

The unpleasant thing about GA4 tracking errors isn't that they happen. It's that they don't announce themselves. An event with a reserved name is accepted, acknowledged — and discarded. Everything looks green in Tag Assistant. Only weeks later does someone notice a report staying empty.

We find this in roughly every second tracking audit. The cause is almost always the same: a name that sounds plausible but that Google already owns.

The names GA4 claims for itself

On web, these event names (among others) are reserved and cannot be used for your own events:

page_view, click, scroll, form_start, form_submit, file_download, video_start, video_progress, view_complete, session_start, first_visit, first_open, user_engagement, error, ad_impression, app_remove, in_app_purchase, view_search_results

The painful ones are right at the front. form_submit and click are exactly the names you pick when you start without reading the docs — and both belong to Enhanced Measurement. Tracking your contact form as form_submit doesn't override the standard event; it gets you nothing at all.

On top of that come reserved prefixes. They apply to event names, parameters and user properties alike:

_ (underscore), firebase_, ga_, google_, gtag.

A parameter called ga_source or _internal_id is silently ignored. That's the variant that stays undetected longest, because the event itself arrives — just without the dimension a report is later built on.

The limits that catch you otherwise

What Limit
Event name 40 characters
Parameter name 40 characters
Parameter value (string) 100 characters
Parameters per event 25

There are documented exceptions for values: page_location may be 1,000 characters, page_title 300. This matters because many home-grown checks produce false positives here — a long URL with UTM parameters blows past 100 characters easily but is perfectly fine.

The 25-parameter limit mostly hits e-commerce setups that send every field available. Anything beyond it is dropped — and which one is not guaranteed.

snake_case isn't cosmetic

GA4 is case-sensitive. SignUp, signup and sign_up are three different events. That doesn't break anything immediately, it just fragments — in a way that shows up in no report as an error, only as three small numbers instead of one large one.

The second reason for snake_case: Google's recommended events are all written that way. Use purchase, sign_up, generate_lead or view_item and you get prebuilt reports and matching conversion templates for free. Track Kaufabschluss instead and you rebuild all of it yourself.

Common questions

Why doesn't GA4 simply warn me?

Because processing is asynchronous. The hit is accepted, validation happens afterwards server-side. To the browser a discarded event looks identical to an accepted one — there is no return channel.

Can I use reserved names somehow anyway?

No. Neither via a prefix trick nor through server-side tagging. The only route is a different name, for example contact_form_sent instead of form_submit.

What's the difference between reserved and recommended events?

Reserved ones you must not use, recommended ones you should use. Recommended events like purchase or generate_lead are ordinary events with predefined meaning — they simply work better because GA4 knows them.

How do I find existing errors in a running setup?

Pull your tracking plan out of GTM and check the names against the rules before hunting through reports. That is exactly why we built the GA4 Event Naming Validator: paste events line by line and the tool checks limits, prefixes, reserved names and snake_case. It runs locally in the browser — your event structure never leaves the tab.

What you can do today

  1. Export the event names from your GTM container — a plain list is enough.
  2. Check them against the reserved names and the five prefixes above.
  3. Pay particular attention to form_submit, click, scroll and error — those are the four we find most often.
  4. For every hit: pick a new name, change it in GTM, and recreate the affected conversion in GA4.
  5. Expect that historical data for that event will not appear retroactively. What was discarded is gone.

Point 5 is why this check pays off before the next report gets built. If you're unsure how deep the damage goes, an intro call is the fastest way to scope it — more on the approach under Tracking & Analytics.

ga4trackingevent-naminganalyticsdata-quality

Ready to put AI to work in your business?

We help you find the right levers — pragmatic, measurable, and with real business impact.