Why naming conventions matter more in GA4

In Universal Analytics, most tracking happened through pageviews and a handful of standard event categories. GA4 is event-based throughout — every interaction is an event with a name and parameters. The flexibility is useful. The problem is that without a consistent naming convention, you end up with form_submit, formSubmit, Form Submitted, and contact_form_submission all referring to the same thing, in different properties, set up by different people over time.

The core rules

  • Lowercase only. GA4 event names are case-sensitive. page_view and Page_View are different events.
  • Use underscores, not spaces or hyphens. button_click not button-click or button click.
  • Use the object_action pattern. The thing first, then what happened to it. form_submit, video_play, file_download.
  • Be specific in parameters, not in the event name. Use one event name like form_submit with a parameter like form_name: 'contact' rather than creating contact_form_submit, newsletter_form_submit, etc.
  • Keep names under 40 characters. GA4 enforces this limit.

Standard event reference

Navigation

EventWhen to fireKey parameters
page_viewEvery page load (automatic in GA4)page_location, page_title
scroll90% scroll depth (automatic)percent_scrolled
outbound_clickClick to external domain (automatic)link_url, link_domain

Forms

EventWhen to fireKey parameters
form_startFirst interaction with a form fieldform_name, form_id
form_submitSuccessful form submissionform_name, form_id
form_errorValidation error shownform_name, error_message

Content & Media

EventWhen to fireKey parameters
video_startVideo begins playingvideo_title, video_url
video_progress25%, 50%, 75% thresholdsvideo_title, video_percent
video_completeVideo reaches 100%video_title
file_downloadLink to a downloadable file clicked (automatic)file_name, file_extension

Engagement

EventWhen to fireKey parameters
searchSite search performedsearch_term
select_contentTab, accordion, filter selectedcontent_type, content_id
shareShare button clickedmethod, content_type

Parameters to standardise across your implementation

These are the parameters worth defining once and using consistently everywhere:

  • content_category — the section or category of the page
  • content_type — what kind of content (article, product, video, form)
  • element_text — the visible text of the element interacted with
  • element_location — where on the page (header, hero, footer, sidebar)
  • form_name — a short identifier for the specific form

Keeping it maintainable

Write your event naming conventions down in a shared document before implementation starts. Include examples for each event type your site uses. When new tracking is added later — by a different person, six months later — the reference prevents drift. A two-page naming guide is worth more than a perfect initial implementation that nobody maintains.