GA4 event naming cheat sheet
last verified · against GA4 as of 2026-07
Copy-paste naming rules for GA4 events and parameters: casing, reserved prefixes, character limits, and a migration-safe convention for custom definitions.
Sample entry (track P-B). Replaced by the verified cheat sheet from the Phase 1 content sprint (P-D).
Hard limits
| Limit | Value | Notes |
|---|---|---|
| Event name length | 40 characters | Truncated silently beyond this |
| Parameters per event | 25 | Standard property |
| Parameter name length | 40 characters | Snake_case survives BigQuery |
| Parameter value length | 100 characters | Longer values are dropped |
| Distinct custom events | 500 per app | Web is effectively unlimited |
Naming rules
| Rule | Do | Don’t |
|---|---|---|
| Casing | snake_case |
camelCase, kebab-case |
| Start character | Letter | Digit or underscore |
| Reserved prefixes | — | _, firebase_, ga_, google_ |
| Verb position | object_action |
action_object mixes |
| Tense | Past (form_submit) |
Mixed tenses per event |
Migration-safe convention
Name events so a later platform swap is a mapping table, not a rewrite:
<object>_<action> → file_download, video_start<object>_<action>_<detail> → checkout_step_view- Keep the business meaning in parameters, not in event-name variants.
- One
page_typeparameter beats twentyview_*events. - Document every custom definition next to the event that feeds it — GA4 custom dimensions are registered per parameter, and the 50-dimension quota goes faster than you think.
Verification notes
Checked against a live GA4 property and the current public documentation on the date in the header. Anything marked with a limit is enforced by GA4 at collection time, not by the interface.
Changelog
- — Initial version (sample entry, track P-B).