Track YouTube Videos with GA4 and GTM: Two Ways

Google Analytics BCS 7 years ago (2019-12-08) 4984 Views 0 Comments

Update time: April 8, 2026

You embedded a YouTube video on your website. Looks great. Would be nice to know if anyone actually watches it.

That’s the kind of thing GA4’s video tracking can tell you — how many people hit play, how far they get, and whether they watch the whole thing. There are two ways to set it up, and neither one is particularly difficult. In this article, I’ll walk through both, using this YouTube test page on my site as a real example.

 

Method 1:Using GA4 Enhanced Measurement Events

If you want the quickest setup possible, GA4’s Enhanced Measurement already includes built-in video engagement tracking. It works for YouTube videos that have the JS API enabled (most do by default), and it tracks three events automatically:

  • Events:video_start, video_progress, video_complete
  • Event Parameters:video_current_time, video_duration, video_percent, video_provider, video_title, video_url, visible (boolean)

No code, no triggers, no tag managers. Here’s how to turn it on.

In GA4 ,go to 「Admin」——「Data Streams」, and open your web stream details:Track YouTube Videos with GA4 and GTM: Two Ways

Under Enhanced Measurement, click the settings icon
Track YouTube Videos with GA4 and GTM: Two Ways

Enable Video Engagement and click Save. 

That’s it. From this point on, GA4 will automatically track YouTube video interactions on your site.

 

Method 2: Using GTM YouTube Video Trigger

If you want more control — like firing specific tags at certain video progress points, or combining video events with other tracking — GTM’s built-in YouTube Video Trigger is the better choice. It takes a few more steps, but it gives you a lot more flexibility.

Step 1 : Enable Built-In Variables

In GTM , click「Variables」——「Configure」,Enable all Video-related Built-In Variables

Track YouTube Videos with GA4 and GTM: Two Ways

This lets GTM automatically capture attributes like video title, URL, duration, and status when a video interaction happens.、

 

Step 2 : Create the YouTube Video Trigger

In GTM , click「Triggers」——「New」——「Choose a trigger type to begin setup…」——「YouTube Video」,Name it “Youtube”, and make the following settings:

Track YouTube Videos with GA4 and GTM: Two Ways

There are four capture options:

  • Start: fires when the video starts playing.
  • Complete: fires when the video ends.
  • Pause, Seeking, and Buffering: fires when the video is paused, scrubbed, or buffering.
  • Progress: fires at specific progress points. You can configure this by:
    • Percentages: enter a comma-separated list, e.g., 5, 20, 50, 80 (fires at 5%, 20%, 50%, and 80%).
    • Time Thresholds: enter seconds as a comma-separated list, e.g., 5, 15, 60, 120 (fires after 5 seconds, 15 seconds, etc.).
  • Advanced——Add JavaScript API support to all YouTube videos: Check this box to enable the YouTube iFrame Player API. If you are copying videos from Youtube, you don’t need to enable it. 
  • Enable this trigger on: the default is Window Load (gtm.load), which I’d recommend sticking with for best results:
    • Container Load (gtm.js)  fires as soon as the page starts loading.
    • Window Load (gtm.load) (default)  fires after all initial content has loaded.
    • DOM Ready (gtm.dom) fires after the DOM is ready.

 

Step 3: Create the GA4 Event Tag

In GTM , click「Tags」——「New」——「Choose a tags type to begin setup…」——「Google Analytics: GA4 Event」,Name it “GA4-Event-Youtube Video Tracking”, and make the following settings:

Track YouTube Videos with GA4 and GTM: Two Ways

For the event name, I use a pattern like video_{{Video Status}}. The {{Video Status}} built-in variable dynamically outputs start, progress, complete, etc. So when a user starts playing a video, the event name becomes video_start. Clean and easy to find in reports.

I also recommend setting event parameters. At minimum, add video_title — but you can include any of the parameters that GA4’s Enhanced Measurement uses: video_current_time、video_duration、video_percent、video_provider、video_title、video_url、visible (boolean)

 

Step 4 : Preview and Publish

Open GTM’s Preview mode, navigate to a page with a YouTube video, and play it. Watch the debug panel — you should see your GA4 event tag fire at each configured trigger point.

Track YouTube Videos with GA4 and GTM: Two Ways

Once you’ve verified everything works, go ahead and publish the container.

 

Step 5: Register Custom Definitions in GA4

If you want to use video_title (or any other parameter) in your GA4 reports, you need to register it as a custom dimension first.

In GA4,click「Admin」——「Custom definitions」——「Create custom dimension」, then do the following configuration:

Track YouTube Videos with GA4 and GTM: Two Ways

 

Step 6: Verify Data in GA4 Reports

Generally, after 24 hours, we can see the data in GA4, such as:

Track YouTube Videos with GA4 and GTM: Two Ways

 

Track YouTube Videos: Final Words

So which method should you use?

  • Method 1 (Enhanced Measurement) is perfect if you want something quick and effortless. Enable it once and forget about it.
  • Method 2 (GTM YouTube Trigger) is better if you need granular control — custom progress thresholds, specific event parameters, or integration with other GTM tags.

Both work well. I’ve used both across different projects, and honestly, the right choice comes down to how much control you need and whether you’re already using GTM for other tracking.

Like (0)
Post my comment
Cancel comment
Expression Bold Strikethrough Center Italic

Hi, you need to fill in your nickname and email!

  • Nickname (required)
  • Email (required)
  • Website