ga4 custom dimensions

GA4 Custom Dimensions: How to Set Up in 7 Steps

Google Analytics 4 events function very differently from Universal Analytics events. The biggest difference? If you don’t register your event parameters as GA4 custom dimensions, you won’t see that event data in your GA4 reports. Crazy, right? It’s true.

GA4 custom dimensions are the single most confusing part about GA4 events (at least, that’s my personal opinion). That extra step of registering event parameters as custom dimensions is not intuitive. But once you understand it, the rest of GA4 event information begins to make a little more sense.

If you want the video overview of custom dimensions, just play this video below. You can even skip ahead to the 9 minute mark or so if you want to pass on some GA4 event tracking basics and all the frustration I went through first!

Looks like you’re still here. Happy to have you! Let’s go register some event parameters as GA4 custom dimensions.

1.) First, identify the Event that needs additional event parameter data

GA4 has 4 types of events. Some of these event types are tracked by default. That includes automatically collected events and enhanced measurement events. The other types of events are called recommended events and custom events. All of these event types include at least some event parameters. Event parameters are simply additional pieces of data that help provide more information about your events. For example, the specific URL of a link that is clicked would be a useful parameter to include with an event that simply recorded how many times a link was clicked.

The first two types of events (automatically collected events and enhanced measurement events) are collected by default. The only three automatically collected events are session_start, first_visit, and user_engagement. Fortunately, the additional enhanced measurement events give us some more tracking out of the box with GA4.

Enhanced measurement events are things like page views, scrolls (90% scroll depth), outbound link clicks, site search, video engagement, and file downloads. These events are tracked by default but to see the full picture, you may need to register a parameter associated with the event as a custom dimension.

This is true for the site search event that you can see below in the list of available enhanced measurement events. This event is named view_search_results. When this enhanced measurement event is turned on, the most relevant that the GA4 standard reports will show you is how often a search takes place on your site. It won’t tell you what you really want to know, which is what specific term was actually searched. For that, you need a GA4 event parameter called search_term.

You will need to register the search_term parameter as a custom dimension in order to see the specific terms that were searched. If you don’t register that event parameter as a custom dimension, it will effectively remain “invisible” to you in your GA4 reports. Crazy! If you’re interested in that specific case, you may want to review this guide to GA4 site search tracking, including how to build a Data Studio report to see your search data.

enhanced measurement ga4 site search

With the latter two event types (recommended events and custom events), you should assume you need a custom dimension to see any new event parameter you create.

Recommended events and custom events are GA4 events that are created with the help of Google Tag Manager. These are the most common types of events that require custom dimensions. For the rest of this guide, let’s focus on a custom event for internal link clicking that requires some GA4 custom dimensions. You can follow the link in the prior sentence if you want to set up this event for yourself, or just move on down to step #2 to see our event parameters.

2.) Click into the GA4 event tag in Google Tag Manager (GTM)

From, we have clicked into our Internal Link Click tracking GA4 tag. As you can see below, there are two event parameters in the red box that are getting passed along every time our event tag named ‘internal_link_click’ fires.

The first parameter is link_url, which will show the specific link that was clicked. The value of the event parameter is {{Click URL}}, with those double curly brackets representing a variable value that will change as different links are clicked. The second parameter is link_text, which will return a variable value of the specific text of the link that is clicked.

ga4 event parameters

These two event parameters will need to be registered as custom dimensions in GA4 if we want to see their value in our GA4 reporting. Now, let’s head on over to our GA4 property.

3.) Access the “Configure” menu in GA4 and click into “Custom definitions”

From GA4, click into the Configure menu from the left-hand navigation. This is indicated by the red arrow below.

Now, click into “Custom definitions” as you can see highlighted in the red box.

ga4 custom definitions

4.) Click to create a new dimensions

At the top right of your screen you’ll see a blue button to “Create custom dimensions”.

Go ahead and click that button to register your event parameters as GA4 custom dimensions.

5.) Create your new custom dimension

There are 4 fields to fill out when you register your event parameters as custom dimensions.

First, give your dimension a name. You can see this in the green box below. The dimension name is what will show up in your reports, so make it memorable and use a consistent naming convention.

Second, identity the scope of your dimension. Scope is either “event” or “user” and refers to whether the event parameter describes an action that was taken (an “event scoped” dimensions) or the user who was taking the action (a “user scoped” dimension). In this case, our parameter is event scoped as it describes the link that was clicked. If this is confusing, you may want to check out this GA4 FAQ page once you’re done here.

The third field is the description. This is shown in the blue box below and is optional. You only need to fill this out if you think you’ll need a reminder for the specific event parameter you’re creating. Consider it your personal note only.

The fourth field is the most critical. In the red box, you can see the event parameter. In the case of GA4 custom events and their associated parameters, the event parameter field must be typed exactly as it is in the GA4 event tag you’ve created in Google Tag Manager.

In our case, the event parameter for the link URL of the internal link click is link_url. Scroll back up to step 2 and you can see this in the GA4 event tag in the event parameters.

new ga4 custom dimension

Save your GA4 custom dimension.

Repeat the process for any additional event parameters you need to register. In our case, we also need to create a custom dimension for the link_text event parameter. You can have up to 50 event-scoped custom dimensions in your GA4 property.

6.) Review your list of custom dimensions

After registering your event parameters as custom dimensions you will be able to collect and view this event parameter data.

You can see below the 4 fields we had filled out for our two custom dimensions.

ga4 custom dimensions

Now, it’s time to do something with that data!

7.) Create a helpful report using your new custom dimensions

Now it’s time to take advantage of your sweet new custom dimensions. If you are tracking your internal link clicks, you can follow this video tutorial to see how to create a free Data Studio report showing ALL of your link clicks, both external and internal.


And if you’re more into seeing site search data, here’s another tutorial for creating a report that will show you the full details of your site search.


Have fun!


And here is that Data Studio report link.

Wrapping Up

I hope this helps as you think about your future plans for web analytics. Don’t forget that Universal Analytics data will no longer be processed in that platform beginning July 1, 2023. In other words, it’s time we get more comfortable with GA4.

If you’re still someone learning about GA4 (as I am), I’d recommend checking out this GA4 vs. UA comparison or this list of updated GA4 questions. You can also subscribe to the Root and Branch YouTube channel for an updated video every week or so. I’ll see you there! There are explainers and tutorials for tracking like this.

About Root & Branch

Root & Branch is a certified Google Partner agency and focuses on paid search (PPC), SEO, Local SEO, and Google Analytics. Hit the button below to check out YouTube for more digital marketing tips and training resources.

click to yt

10 replies
  1. Nick Drishinski
    Nick Drishinski says:

    Great post thank you. I am going to have to dig into the “user” vs “event” scope as that seems a bit unclear by Google.

    • Zack_Duncan
      Zack_Duncan says:

      Totally agree with you, Nick. These scopes seem pretty opaque at first. Here’s a quick summary below with some examples of each. Hope it helps!

      An “event-scoped” dimension describes the action someone performs. Event-scoped dimensions come from event parameters that are sent with events.
      The value of an event-scoped dimension often changes as someone engages with your website.

      A “user-scoped” dimension describes the person who is performing the action. User-scoped dimensions come from user properties.
      Examples include geography, gender, language, and country. The value of a user-scoped dimension should change very rarely.


Trackbacks & Pingbacks

  1. […] to set up a custom dimension in 7 steps (and why you need to if you want to see event parameter […]

  2. […] to 1 minute or less in UA. And with GA4, you’ll need to register your event parameters as custom dimensions so you can see your actual data in the platform. This is a very new – and disorienting […]

  3. […] to set up a custom dimension in 7 steps (and why you need to if you want to see event parameter […]

  4. […] to set up a custom dimension in 7 steps (and why you need to if you want to see event parameter […]

  5. […] This is where we need to discuss a very important part about GA4: registering event parameters as custom dimensions. Without this step, you will be “blind” to your event […]

  6. […] to set up a custom dimension in 7 steps (and why you need to if you want to see event parameter […]

  7. […] GA4 custom dimensions: aka why can’t I find my event parameter data?! […]

  8. […] When this happens, there is an extra step to take. Those event parameters must be registered as a GA4 custom dimension. This is a new part of the process and was personally very confusing to me before I grew accustomed […]

Leave a Reply

Want to join the discussion?
Feel free to contribute!

Leave a Reply

Your email address will not be published. Required fields are marked *