Misunderstood Metrics: Events

Google Analytics allows you to track user interaction “events” independent of a page view, such as file downloads or video plays. The website developer needs to embed code to track these events, and Google gives them a lot of freedom over how the various parameters can be used. The dimensions and metrics used to track these events have a few odd behaviours that can be confusing. In this article, we’ll look at the common problems people have with the Total Events and Events/Session With Event metrics.


The image above shows the Google Analytics Events Overview report for a single test session that involved 15 events. As you can see, only 9 are being reported. The reason for this is simple: not all the events were populated with Category values.

Unlike many dimensions in Google Analytics that will display “(not set)” when values are empty, Events don’t work that way. Let’s look in detail at how the events get recorded by Google Analytics using data from the API, and compare it to what we saw in the web interface.

I logged a series of 15 events with different combinations of categories, labels and actions (detailed below). You can see that if the event did not include a Category value (numbered 4,6,7), it was not counted in the Total Events metric and does not appear in the standard reports.


Similarly, if there is no value for Action or Label, there is no indication of the event in the respective report, BUT THE TOTAL EVENTS COUNT INCLUDES THEM. This is the most common reporting discrepancy that people face. Incomplete event interactions are left out, or appear in the total but disappear in the detail. Your reports makes no sense!



IMPORTANT CODING TIP: Make sure there are values for every event Category, Action and Label logged!  NEVER let them be empty! Do NOT assume a default value, FORCE one to be used.

Hits Fill Up The Charts

If your web developer didn’t follow that little coding tip, and your event tracking reports are a real mess, what can you do? Well, relief is possible through Custom Reporting and a brand new, but very old, metric: Hits (found under the Users grouping). Among other things, Hits measure the interactions of all events, even if they are partially defined. Build a set of custom reports with the Event Action or Event Label (only 1 per report), along with the Hits and Total Events metrics to see.


Note that if the Total Events count is lower than the Hits count (action4, action6), then you probably have empty Category values. Call your website guru!  Then make a combination report (Action + Label) to try to get some missing detail. Check the totals again to make sure you don’t also have missing Action or Label values.

Sessions with Event, and Events/Session with Event

Having sorted out our Total Events count, we are then faced with a new problem when trying to see how many events occurred in the average session. In my previous article, I showed that you shouldn’t mix the Sessions metric with Hit-level dimensions like Page. Well, it turns out that metrics calculated from the Sessions metric behave similarly, and all of the Event dimensions (Category, Action and Label) are Hit-level dimensions. The result: the calculated Sessions with Event and Events/Session with Event numbers are zero for everything except that first interaction.

As you can see in the image below, those metrics have values only for the first hit, but the same query, without the event dimensions, shows the correct totals. Note that you MAY get some numbers in your reports – these come from the sessions where that event was the first interaction, but the numbers do NOT include the other events. For example, the first row shows 2 Events/Session, but we know the top reported number was 9 (and should actually have been 15)! This is the worst possible scenario — being given numbers that are wrong.


So what can you do? Only use Sessions with Events or Events/Session with Event metrics in reports without the Event category/action/label dimensions.

Events/Session With a Specific Event

So how do you find out how many other events occurred in sessions that included a specific type of event? The answer: Custom Segments. A custom segment allows you to restrict the sessions included in the report to only those with a specific category, action or label. Now your top-level metrics are accurate, plus the detail reports will show what other categories, actions or labels were also included in those sessions.

If you were hoping for a single report that shows all of the categories and the Events/Session With Event counts for each, sorry. You will have to create multiple segments (one for each category) and run multiple segmented reports. That can be a lot of work, but some relief can be obtained using third-party tools like Analytics Edge to make the queries through the API and combine the results.

I hope this explanation has helped you to better understand your Event reporting problems.


Discover Other Misunderstood Metrics:

Comments: (moderated, no spam)

  1. Sherwood Botsford

    In terms of time on page, I know that one of my habits is ‘right click -> open in new tab’ If a person does this for links within a given web page, is each one a new session?

    Consider the following scenario:

    A: User comes to my site, and clicks linearly from there, visiting 11 pages in 21 minutes. Pages/session = 11, time on page = 19 minutes (last page doesn’t count, right?)

    B: User comes to my web page. Spends 1 minute and opens 10 pages in new tabs. Spends 2 minutes on each page. Is this a 1 minute session? (he opened the last page 1 minute after starting the session, and from the new tab pages didn’t open a further page)

    C: User comes to my web page. Leaves it up, goes for coffee, comes pack, and goes to another page on my site. Session time 15 minutes, even though he barely looked at it.

    Is there a better way to measure engagement? Timer events that only run when the page has focus? Timer events that also count number of X second intervals that had a mouse movement or screen touch?

    1. mike_sullivan

      If the new tab shares cookies with the previous tab, all hits are considered from the same session. An incognito tab would be a new session.

      Yes, all three scenarios are accurate. Is there a better way to measure engagement? A good question under wide debate. Some people use scroll tracking (GA now includes this capability in the base snippet for you to use). I am a strong believer in using the built-in capabilities wherever possible, recognizing the limitations of the metrics to report 100% accurately.

      You have a choice: accept the metrics as flawed as they are, or invest time and energy trying to make them better. The question is whether you need more ‘accurate’ numbers to increase sales or conversions, or is it just curiosity? If someone doesn’t buy a product, does it really matter if they looked at a page for 10 seconds or 1 minute? Let your business objectives and need for business decisions drive the choice.

  2. Eduardo Duran

    Would it be correct to make a report of the events filtered by the event category value and then adding a filter of source to identify the source of traffic from which this event was done?

    1. mike_sullivan

      Yes. You can think of it this way: the filter by source restricts the sessions involved, then the filter by Event Category restricts you to event hits with matching categories. You now have only event hits, so Total Events is one of the few metrics that can be used with any validity (sessions will not be accurate).

  3. puneet

    “those metrics have values only for the first hit, but the same query, without the event dimensions” is no longer true, try your report again and then please update the article since it shows up as top result in google search.

  4. Ben

    Great explanation – very well written.

    Based on your advice, I’m now off to learn about creating and pulling through Segments in the API.


  5. Harm te Molder

    Regarding “Events/Session With a Specific Event”, wouldn’t you be able to set up a calculated metric that divides “Total Events” by “Unique Events”?


Leave a Reply

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