Blog

Track YouTube embeds with GA4 server-side

Server-side adds the dedup and consent that GTM's built-in YouTube trigger does not.

GTM ships a built-in YouTube Video trigger that captures play, pause, complete, and progress events. Routing through your sGTM container gives you consistent dedup and consent enforcement.

Enable the trigger

In client GTM, Triggers > New > YouTube Video. Capture: Start, Complete, Progress (25, 50, 75, 100 percent). Tick "Enable JavaScript API."

Map to GA4 events

YouTubeGA4
Startvideo_start
Progressvideo_progress
Completevideo_complete

Why route through sGTM

  1. Consent. Video play is engagement, treated differently by some consent regimes.
  2. Dedup. A user restarting a video should not generate two video_start events.
  3. Filtering. Autoplay events without real engagement can be filtered server-side.

Video events fire 5-10 times per session for engaged users. The volume management patterns apply.