How to Create a Robust GA4 Data Model (and Why This Really Matters)

By Julian Erbsloeh|9 Jun 2025
So, you've followed our popular blog post on creating a measurement plan and have your shiny new measurement strategy in hand. You've translated business objectives into meaningful, measurable data points. You've involved stakeholders from across the business, won their buy-in, and (hopefully) even sparked a little excitement about all the data insights coming their way. Good work!
But now comes the crucial next step: translating your measurement plan into a robust GA4 data model. This is where the magic happens—turning theory into a practical, usable, and scalable event-tracking framework that feeds reliable insights into GA4 (and beyond).
But before we dive into the nuts and bolts, it's worth highlighting something becoming more critical by the day: a clean, well-structured GA4 data model isn't just helpful for reporting—it's essential for making your data AI-ready. Whether you're planning to feed your analytics data into predictive models, LLM-powered dashboards, or any other AI-driven tool, messy or inconsistent naming will massively dilute the value of your output.
Practically, that means sticking to consistent naming conventions—use snake_case, avoid capital letters, spaces, or special characters, and keep your structure logical and lean. For example, if you're pushing GA4 data into BigQuery for engineering or modelling, clean and standardised data is not just nice to have—it's non-negotiable.
Let's explore how to do it right—and why taking the time to do this properly will save you and anyone else having to work with this data headache down the line.
"Whatever naming convention you want to follow, it is important to stick with it. This means checking the GA4 events report before adding new events to your data model to ensure you match what is already there. This is particularly important if you work agency-side or as a consultant/freelancer, as you will be working across many different accounts with many different naming conventions (or none at all)."

Julian Erbsloeh, Head of Data & Insight
What Is a GA4 Data Model?
Think of your GA4 data model as the foundation for your measurement strategy. It's a clearly defined, documented structure for:
- Event names
- Event parameters
- When events fire (triggers)
- It determines how your data can be segmented and reported
It's not just about getting data into GA4—it's about getting the correct data in a format that makes it easy to interpret and act on. A good data model balances clarity for marketers with scalability for analysts and data engineers.
Best Practice for GA4 Event Names
Google Analytics 4 (already) collects some events automatically and provides a helpful list of recommended event names. Sticking to these wherever possible is best practice—it ensures your implementation is clean, consistent, and future-proof.
When you need to define custom events, follow these tips:
- Be descriptive, not cryptic: Use intuitive names like
form_submit_contact_us
instead of abbreviations likefs_ctus
. - Group wisely: Use fewer unique event names and instead group events using event parameters. An example would be a ‘banner_interaction’ event with an ‘interaction_type’ parameter to distinguish between click, scroll, and share.
- Mix’n’Match: Don’t send custom values into auto-collected events or parameters unless you intend to override them.
- Use naming conventions: Pick a naming structure for custom events and parameters and stick to it (e.g. [action]_[element] - more details below).
Remember, non-technical users may use your GA4 interface—give them event names that make sense at a glance.
Example naming conventions for GA4 events:
[action]_[element]
: Leading with the action will make it easier to find ‘actions’ in your data.
- click_cta
- click_link
- click_email
- click_phone
[element]_[action]
: This format groups events by element, and some native GA4 events already follow this format.
- form_submit
- carousel_click
- email_click
- nav_interaction
Whatever naming convention you want to follow, it is important to stick with it. This means checking the GA4 events report before adding new events to your data model to ensure you match what is already there. This is particularly important if you work agency-side or as a consultant/freelancer, as you will be working across many different accounts with many different naming conventions (or none at all).
We are sticklers for naming conventions. Here is a great post we published on best practice naming conventions in Google Tag Manager! I highly recommend you have a read of this, too, if you are in the process of re-organising your setup.
Need insight and data support?
Best Practice for Event Structure
A well-thought-out event structure should serve both your marketing and data teams. That's not always easy. Here's a practical example:
Let's say you want to track form submissions. One clean, engineering-friendly approach is to have a single event called form_submit
, with a form_name
parameter to distinguish which form was submitted. This is great for BigQuery, but less so for a marketing team navigating GA4 reports.
Examples of efficiently grouping events
event_name | parameters |
form_submit | form_name |
nav_interaction | interaction_type nav_section click_url |
carousel_interaction | interaction_type click_url |
video_interaction | interaction_type video_name |
pdp_interaction | item_name item_sku |
plp_interaction | category_name interaction_type |
You get the gist.
However, what is engineering-friendly is rarely user-friendly and requiring secondary dimensions for all of these interactions can quickly exhaust the limited capabilities of the GA4 Reports section and even the Explore reports. Need a more user-friendly approach? Use GA4's admin features to modify or create events to break out events in the interface. So you track a single form_submit
event in your tag setup, but in the GA4 UI, you create new events like form_submit_contact_us
based on parameter values. That keeps your tag implementation lean and gives stakeholders easy-to-read reports.
The following screenshot shows how you would create a form_submit_newsletter
event from an existing form_submit
event that contains a form_name
parameter. You can do this for the forms you consider conversions, which will allow you to use them as conversions for Google Ads campaigns, too.
Admin > Data Display > Events > Create Event settings
💡Top Tip!
Less is more when it comes to tags. Keep your GTM container efficient by using parameters and UI-based event splits rather than hardcoding dozens of tags for individual interactions.
Best Practice for GA4 Custom Parameters
Parameters give your events context—but only if they’re used wisely.
- Name them clearly: Use
snake_case
, no capitals, and avoid spaces or special characters.- Spaces will be particularly troublesome in the future regarding data engineering, and you want to ensure your data is AI-ready!
- Dynamic vs static: Use GTM variables for dynamic values (like
page_path
orbutton_text
), but static values have their place too. - Standard inclusions: We often send parameters like tag_name, gtm_version, and other debugging info by default.
Don’t forget: If you want to use a custom parameter in GA4 reports, register it as a custom dimension or metric. Don't forget that all custom parameters are available in BigQuery by default—even if you haven't registered them. This feature is handy since the free GA4 tier limits you to 50 custom dimensions in the UI.
Documentation Is Everything
If there's one thing that separates a good GA4 setup from a great one, it's documentation. We're big believers in the Solution Design Reference (SDR)—a single, central document that outlines:
- All tracked events
- Which parameters each event sends
- How those events are triggered
- Any naming conventions or rules used
- Without it, large or complex GA4 setups can quickly descend into chaos.
Your SDR also becomes invaluable during implementation and QA. We use it as a live working document, adding status columns like "suggested," "testing," "live on staging," and "live." This function enables multiple collaborators to track progress, troubleshoot, and provide input.
Once your implementation is live, the SDR becomes your audit checklist. Ideally, you should review each event quarterly to ensure it's still firing and carrying the correct parameters. This can be time-consuming, so we've automated the process for many of our clients, including sending alerts to Slack if something breaks.
Final Thoughts
Creating a robust GA4 data model is not the most glamorous part of your analytics project, but it is the most important. It turns your measurement plan into a scalable, reliable, and insightful analytics implementation.
Consider how you'll use that data now and in the future, especially if you plan to integrate more data engineering, data science, or AI into your daily workflows. Clean data is the best fuel for algorithms of any type, and it is in your hands to define the quality of that data.
Get it right, and your stakeholders will have the data they need—served clearly, cleanly, and confidently.
Need help building your GA4 setup correctly? Get in touch with our analytics experts to chat about how we can support your implementation.
Get Fresh Thinking and Stay Ahead of Digital Marketing Trends
Subscribe to our Fresh Thinking Newsletter and get...
✅ Exclusive invites to our helpful knowledge-share events✅ Curated news roundup of pertinent and topical industry news
✅ Early access to our industry resources and insights.
Register for Fresh Thinking and keep up to date with our helpful digital marketing news insights.