Quick answer: Event tracking records actions that do not load a new page, such as button clicks, file downloads, video plays, outbound link clicks and phone number taps. In Google Analytics (Universal Analytics), each event has a category, an action, an optional label and an optional value. The easiest way to set it up is with Google Tag Manager: create a trigger for the action (for example, clicks on links ending in .pdf), then a Universal Analytics tag with the track type set to Event. Plan a consistent naming scheme first, mark background events as non-interaction, and turn the important ones into goals.
Why pageviews are not enough
By default, Google Analytics records pageviews. That tells you which pages people visited, but not what they did there. A visitor who reads your pricing page, downloads a brochure and taps your phone number looks almost the same as one who glanced at the page and left.
Event tracking fills that gap. With it, you can answer questions like:
- How many people download the product sheet, and from which pages?
- Do visitors watch the explainer video, and how far do they get?
- Which outbound links send people to partners or app stores?
- How many mobile visitors tap the phone number or email link?
- Which call to action buttons get clicked?
If you have not yet configured the basics, start with our Google Analytics setup guide, then come back to events.
How events are structured
Each Universal Analytics event has four fields:
| Field | Required | Example |
|---|---|---|
| Category | Yes | Downloads |
| Action | Yes | |
| Label | No | product-sheet-2019.pdf |
| Value | No | A whole number, such as 10 |
There is also a non-interaction setting. When it is true, the event does not count as an interaction for bounce rate purposes. Use it for events that happen without the visitor really engaging, such as an auto-playing video starting or an element scrolling into view.
Think of category as the group, action as what happened and label as the detail. Reports let you drill down from category to action to label, so a consistent structure makes the data far easier to read.
Plan your naming before you build
Most messy analytics accounts are messy because events were added one at a time by different people. Write a short tracking plan first. For each event, record the category, action, label, trigger and whether it is a goal.
A simple scheme many sites use:
- Category: the type of interaction (Downloads, Outbound Links, Video, Contact, CTA)
- Action: what happened (Click, Play, Complete, Tap)
- Label: the specific item (the file name, the destination URL, the video title, the button text)
Pick a case style (for example, Title Case for categories and lowercase for actions) and stick to it. “Downloads” and “downloads” show up as two different categories.
Setting up events with Google Tag Manager
Tag Manager lets you add event tracking without editing site code for each one. The pattern is always the same: enable the variables you need, create a trigger, create a tag, test, then publish.
Enable built-in click variables
In Tag Manager, go to Variables, click Configure and enable the click variables: Click URL, Click Text, Click Classes, Click ID and Click Element. Also enable the video variables if you plan to track YouTube.
Track file downloads
- Create a trigger of type Click: Just Links, firing on some link clicks where Click URL matches the regular expression
\.(pdf|docx?|xlsx?|pptx?|zip)$. - Create a Universal Analytics tag with track type Event. Set category to Downloads, action to the file type or “Click,” and label to
{{Click URL}}. - Use your Google Analytics settings variable for the tracking ID.
- Attach the trigger and save.
Track outbound links
Create a Click: Just Links trigger where Click URL does not contain your own domain and starts with http. Use category Outbound Links, action Click and label {{Click URL}}.
Track phone and email taps
Create a Click: Just Links trigger where Click URL starts with tel: or mailto:. These are some of the most valuable events for local and service businesses, since many phone leads would otherwise be invisible.
Track button clicks
For call to action buttons that are not links to a new page, use a Click: All Elements trigger with a condition on Click ID, Click Classes or Click Text. Ask your developer to add a stable ID or class to important buttons. Relying on button text breaks the moment someone edits the copy.
Track YouTube videos
Tag Manager has a built-in YouTube Video trigger. It can fire on start, complete, pause, seeking, buffering and progress thresholds such as 25, 50 and 75 percent. Use category Video, action {{Video Status}} and label {{Video Title}}. Our guide to YouTube video tracking covers the details and common problems, such as embeds that do not have the JavaScript API enabled.
Videos hosted on other platforms or with the HTML5 video element need a custom listener script, since there is no built-in trigger for them.
Test before publishing
Use Tag Manager’s Preview mode to confirm each tag fires once, on the right action, with the right values. Then check the Real-Time > Events report in Google Analytics. Only publish when both look right.
Setting up events without Tag Manager
If you use gtag.js directly, an event looks like this:
gtag('event', 'click', { 'event_category': 'CTA', 'event_label': 'Get a quote' });
With the older analytics.js library:
ga('send', 'event', 'CTA', 'click', 'Get a quote');
Both work, but hard coding events means a developer is needed for every change. Tag Manager is easier to maintain for most sites.
Turning events into goals
Not every event is a conversion, but some are. In Admin, under your view’s Goals, create a goal with type Event and match the category, action and label you want. Phone taps, brochure downloads and form submissions are common choices. See our guide to Google Analytics goals for how to choose and value them.
Goals count once per session, while events count every time they fire. Keep that in mind when comparing numbers.
Reading event reports
Find events under Behavior > Events. Top Events shows totals by category, action and label. Pages shows which pages events happened on. You can also add event dimensions to custom reports and segments, for example comparing conversion rates of visitors who watched a video with those who did not.
Look at two numbers: total events (every time it fired) and unique events (counted once per session). Unique events are closer to “how many visits included this action.”
Common mistakes
- Inconsistent names. Plan first and document the scheme.
- Firing on every click. Tracking all clicks creates noise and can use up hit limits quickly.
- Forgetting non-interaction. Automatic events like scroll or timers can make bounce rate look artificially low.
- Tracking form clicks instead of form success. A click on submit is not a sent form. Track the confirmation instead.
- Personal data in labels. Never put email addresses, names or phone numbers into event fields. It breaks Google’s terms and privacy rules.
FAQ
Do events affect bounce rate?
Yes, unless the event is set as non-interaction. An interactive event in a one page session means that session no longer counts as a bounce.
Can I track scroll depth as an event?
Yes. Tag Manager has a Scroll Depth trigger. Mark scroll events as non-interaction unless you deliberately want them to affect bounce rate.
Why do I see fewer goal completions than events?
Goals count once per session, while events count every time they happen.
Is there a limit to how many events I can send?
Universal Analytics has hit limits per session and per property. Normal event tracking stays well within them, but avoid sending events on every small interaction.
Measure what people actually do
Event tracking turns Google Analytics from a page counter into a record of real behavior. Start with the few actions that matter most, name them consistently, test carefully and turn the important ones into goals. If you want help building a tracking plan that answers real business questions, see Know what’s working.