GA4 event taxonomy: a practical guide to naming conventions
Everything in Google Analytics 4 is an event. Page views, transactions, button clicks, video plays, scroll depth, and form submissions all enter GA4 as an event with associated parameters. This event-based data model is far more flexible than Universal Analytics, but it requires careful management. If you operate without a strict event taxonomy, your GA4 property will quickly descend into an unusable mess of conflicting names (button_click vs click_button vs btnClick), orphan parameters, and broken reports. The solution is to design a clean event taxonomy from the start to keep your data organized and your reporting accurate.
The golden rule: Standardize on snake_case, keep names under 40 characters, use standard Google recommended events wherever possible, and reuse parameter names across multiple events.
The four tiers of GA4 events
You need to understand the hierarchy of events in GA4 before creating your custom events:
- Automatically collected events: Collected by default when the GA4 tag is loaded (e.g.
first_visit,session_start,user_engagement). - Enhanced measurement events: Toggled on in your GA4 Web Stream settings (e.g.
page_view,scroll,click,view_search_results,file_download). - Recommended events: Standardized event names designed by Google for specific business verticals (e.g.
generate_lead,purchase,sign_up,view_item). Always prefer recommended event names because they enable built-in GA4 reporting tables and machine learning features. - Custom events: Events you invent yourself when no recommended event fits the action (e.g.
filter_applied,calculator_completed).
The 7 golden rules of event and parameter naming
- 1. Strict snake_case everywhere: Always use lowercase letters and underscores (e.g.
generate_lead,form_name). GA4 is case-sensitive, soGenerate_Leadandgenerate_leadare treated as two distinct events. - 2. Object + action convention: Name events starting with the object followed by the action taken, or use Google's standard verb + noun convention (e.g.
form_submit,file_download,cta_click). Make sure you apply your choice consistently across your entire organization. - 3. Adhere to hard character limits: Event names must not exceed 40 characters. Parameter names must not exceed 24 characters (or 40 characters for user properties).
- 4. Never use reserved prefixes: Avoid starting custom event names with
ga_,firebase_, orgoogle_, as these prefixes are reserved for internal Google systems. - 5. Reuse parameter names globally: Do not create
contact_form_name,newsletter_form_name, andquote_form_name. Use a single reusable parameter likeform_name. This saves your 50 custom dimension quota in GA4 Standard. - 6. Keep event volume under control: Standard GA4 properties have a limit of 500 uniquely named events per property. Aim for fewer events with richer parameters rather than hundreds of distinct event names.
- 7. Never pass PII: Never capture emails, phone numbers, full names, or physical addresses in custom event parameters.
Event taxonomy blueprint: lead gen and e-commerce
| User Action | GA4 Event Name | Standard & Custom Parameters | Event Type |
|---|---|---|---|
| Form Started | form_start |
form_id, form_name, form_destination |
Recommended |
| Form Submitted | generate_lead |
form_name, lead_type, value, currency |
Recommended / Key Event |
| Resource PDF Download | file_download |
file_name, file_extension, link_url |
Enhanced Measurement |
| CTA Button Click | cta_click |
cta_text, cta_location, cta_target_url |
Custom Event |
| Product Viewed | view_item |
currency, value, items[] |
Recommended E-Commerce |
| Added to Cart | add_to_cart |
currency, value, items[] |
Recommended E-Commerce |
| Completed Purchase | purchase |
transaction_id, value, currency, items[] |
Recommended / Key Event |
Example: clean GTM dataLayer implementation
You can see how this looks in practice with the following dataLayer push, which demonstrates a clean structure for a lead generation form submit:
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
event: 'generate_lead',
form_name: 'contact_consultation_form',
form_id: 'contact_form_main',
lead_type: 'enterprise_tracking_audit',
lead_value: 0,
currency: 'GBP'
});
If you are building a tracking strategy for a complex website or SaaS platform, North Digital designs scalable measurement plans and GA4 taxonomies for European agencies and enterprises. Get in touch to review your taxonomy.