Within Google Analytics event tracking you have access to three dimensions and one metric: event category, event action, event label and event value. However, whenever a user interacts with your website and you want to store this as an event, the context within which the user interacts isn’t necessarily limited to only 3 dimensions. In this article we’ll discuss how you can work with custom dimensions in to get cleaner insights from your event tracking setup in Google Analytics and Google Tag Manager .
Out-of-the-box event tracking
Let’s’ say you have a landing page where users can select a specific product and color, and then hit an anchor button that sends them a quote. You would want to store the following information:
- The campaign linked to the landing page (e.g. summer sales)
- Which element did the user interact with (dropdown 1, dropdown 2)
- What values did they select
- Product value
- Color value
- The action they performed (click on a button)
You would need at least 4, probably 5 if you want to get the full context. How we usually see this data stored with clients is by adding the the campaign and the action in the first two dimensions (category, action), and then they hyphen separate all the other data: product: {selected product} – color: {selected color}
Another example: you have a YouTube embed player on your website and you want to track how users interact with this player. You’d want to track the following:
- What are users interacting with: YouTube
- What action are they performing: Play, Pause, Progress, …
- How far are they watching: 25%, 50%, 75%, …
- What video are they watching: the video title (which can change)
- A unique identifier for the video they are watching: the YouTube URL
Once again, we usually see this store as:
- Event category: YouTube
- Event action: Play/Pause/Watch
- Example event label values:
- 25% – {video title} – {youtube URL} (for watch)
- {video title} – {youtube URL} (for play/pause)
You see how it will become very messy real fast, and difficult to do some automated reporting if the event label dimension sometimes stores 2 values and sometimes 3.
Utilizing custom dimensions for event tracking
That’s why you should forget about the above approach, and use custom dimensions in Google Analytics and Google Tag Manager.
First you want to define which additional meta information you want to store for each event. We’ll take the YouTube example from above:
- Event category: YouTube
- Event action: Play/Pause/Progress
- Event label: {video title} (because all YouTube interaction events will have a video title value)
Then we define what other information we want to store, and we give it a name
- Video URL
- Watched percentage
Finally we set these two up in Google Analytics, in the admin panel (on property level), under custom definitions you’ll find custom dimensions.
You click New custom dimension and set the name. You can leave the scope to hit for custom dimensions linked to event tracking.


Finally, you need to add these to your event tracking configuration in GTM, by referencing the custom dimension index.
Below you’ll see the configuration for the trigger and the Google Analytics Event tag in Google Tag Manager.

