top of page

How to Setup Time on Site Events in GA4 (formerly Session Duration Goals in Universal Analytics)

Writer's picture: Sotirios SeridisSotirios Seridis

Understanding how long visitors engage with your website is a crucial for measuring content effectiveness and user engagement. With Google Analytics 4, you can now track time on site milestones via setting up time on site Events (which replace the previous Session Duration Goals from Universal Analytics. This guide will walk you through the process of setting up custom events in Google Tag Manager to measure specific time thresholds – whether it's 3 minutes, 5 minutes, or any duration that aligns with your business objectives. Let's begin with the step-by-step setup process to ensure accurate time tracking in GA4!









How to Track Time on Site Events (formerly Session Duration Goals) in Google Analytics 4 (GA4):


Prerequisites (Before you begin):


  1. Make sure Google Analytics is installed on ALL website pages

  2. Make sure Google Tag Manager is installed on ALL website pages


Step 1: Create a Timer Trigger on Google Tag Manager

  1. Login to your Google Tag Manager container

  2. Navigate to Triggers

  3. Create a new Trigger

  4. Name it clearly (e.g., "Time on Site - 3 Minutes")

  5. Choose "Timer" as trigger type

  6. Configure timer settings:

    • Interval: Enter time in milliseconds (e.g., 180000ms = 3 minutes)

    • Limit: Set to "1" (ensures trigger fires only once)

    • Condition: Set to Page URL matches RegEx .* (dot and asterisk to apply to all your website pages)


Step 2: Set Up your GA4 Time Tracking Event Tag

  1. Create new tag

  2. Select "Google Analytics" > "Google Analytics: GA4 Event"

  3. Paste your Google Analytics Measurement ID - here's where to find it: > Login to your Google Analytics Account > Navigate to Admin > Data Streams > Select your Data Stream > Copy your Measurement ID

  4. Give a descriptive name to your event (for example: "time_on_site_3min")

  5. Select Triggering

  6. Select the time trigger your set-up in step 1

  7. Save your Tag configuration

  8. Publish your Google Tag Manager Container


Step 3: Verify if your Event is working correctly

  1. Open your Google Tag Manager Container

  2. Click the "Preview" button (top-right-hand side)

  3. Your website will open in a new tab, connected to the Tag Assistant

  4. Wait for as much time as needed as per your time tracking event

  5. Navigate to the Tag Assistant and check if your time tracking event can be found under "Tags fired"



💡 Additional Tips:

  • Keep event names consistent and logical

  • Do NOT use spaces for your event names (use underscore _ instead)

  • Verify if your events are working as expected

  • Create multiple duration events (e.g., 3min, 5min, 10min) to track different engagement levels

  • It may take up to 24 hours for your new events to show up in Google Analytics


Repeat the above steps to setup multiple time tracking events for your GA4 ⬆️





Time on Site Events in GA4: Frequently Asked Questions:


What's the difference between Session Duration and Average engagement time per session in Google Analytics?


Session Duration

  • Measures total time from first visit until session ends

  • Includes inactive periods

  • Continues counting even if website is in background

  • Session ends after 30 minutes of inactivity


Average engagement time per session

  • Measures active interaction time only (the time a user is actively on your webpage)

  • More accurate for measuring true user engagement



Should I use GA4's built-in engaged time or create custom time goals?


The best approach is often to use both:

  • Start with GA4's engaged time for baseline engagement metrics

  • Add custom time goals for:

    • Specific important pages

    • Critical user journeys

    • Key conversion paths

    • Content performance tracking



Can I set different duration goals (events) for different pages?


Yes! Using Google Tag Manager, you can:

  • Create unique timing triggers per page

  • Set different duration thresholds

  • Track specific sections of your site separately

  • Monitor engagement patterns across different content types



What's a good benchmark for time on site?


This varies by industry and content type:


  • Blog posts: 3-5 minutes

  • Product pages: 1-2 minutes

  • Landing pages: 2-3 minutes

  • Educational content: 5-10 minutes



How can I reduce bounce rates while increasing time on site?


Effective strategies include:

  • Adding internal links to relevant content

  • Using clear calls-to-action

  • Creating compelling introductions

  • Implementing a clear content hierarchy

  • Using multimedia content (videos, images)

  • Ensuring mobile responsiveness

  • Improving page load speed

  • Creating content clusters around key topics


💡 Note: Sometimes a quick bounce isn't bad - users might have found exactly what they needed quickly!




Comments


Commenting has been turned off.
bottom of page