De time trigger in GA4 om QualityVisits te meten

Maart 29, 2024
Google Tag Manager

Soms is het handig om de kwaliteit van bezoekers te meten. Vooral in B2B bijvoorbeeld, waar weinig conversiedata is [...]

Soms is het handig om de kwaliteit van bezoekers te meten. Vooral in B2B bijvoorbeeld, waar weinig conversiedata is. In dergelijke gevallen kunnen de algoritmen van platforms zoals Google of Meta moeite hebben om effectief te sturen, waardoor ze een meer algemene aanpak hanteren en wat meer met hagel aan het schieten zijn.

Een oplossing hiervoor is het meten van QualityVisits, waarbij we kijken naar bezoekers die bijvoorbeeld een bepaald aantal pagina's hebben bezocht of een bepaalde tijd op de site hebben doorgebracht. In GA4 bijvoorbeeld, beschouwt Google een bezoeker als betrokken bij de website als ze 15 seconden hebben doorgebracht. Betrokkenheid is een cruciale factor voor het al dan niet behalen van conversies, waarbij conversies verschillende acties kunnen omvatten, zoals het indienen van een leadformulier of het plaatsen van een bestelling. Zelfs 'zachte' conversies hebben een zekere correlatie met de duur van een sessie op de website.
 

Marketeers stellen de QualityVisits triggerd verkeerd in

Wat ik vaak zie is dat marketeers de trigger verkeerd instellen. Wat ze dus doen is dat ze een time trigger instellen in Google Tag Manager van bijvoorbeeld 15s. En that’s it. Wat gebeurd is dat GTM elke keer als een pagina langer bekeken wordt dan 15s deze trigger wordt afgevuurd. En dat is niet iets wat je wilt. Je wilt dat een trigger per sessie wordt afgevuurd en niet per pagina.

In GTM kan je alleen instellen dat het een keer per gebeurtenis, eennmaal per pagina en onbeperkt wordt getriggerd. Maar dat is niet de oplossing. Je wilt namelijk dat deze trigger maar één keer per sessie wordt getriggerd.
 

Andere manier van instellen in GTM

Laten we beginnen…

We moeten 2 dingen doen. Zorgen dat we een tag aanmaken die de cookie registreert en deze cookie omzet als een event in GTM. En deze elke 30 minuten hersteld wordt.
 

<script>
  window.addEventListener('load', function() {
    var cookieName = 'sessionStarted';
    var cookieExists = document.cookie.split('; ').some(function(row) {
      return row.startsWith(cookieName + '=');
    });
    if (!cookieExists) {
      setTimeout(function() {
        // Event triggeren
        dataLayer.push({'event': 'sessionStartEvent'});
        // Cookie instellen voor 30 minuten
        var date = new Date();
        date.setTime(date.getTime() + (30 * 60 * 1000)); // 30 minuten
        var expires = "expires=" + date.toUTCString();
        document.cookie = cookieName + "=true; " + expires + "; path=/; SameSite=Lax; Secure";
      }, 15000); // 15 seconden wachten
    }
  });
</script>


De trigger voor dit script is een aangepaste HTML tag, die je triggert op alle pagina’s. Nu wordt na 15s een event afgevuurd. Daarna wordt deze hersteld na 30 minuten en wordt opnieuw een event afgevuurd. Daarna maken we een tag aan die op basis van dezelfde event getriggerd wordt. Wat de cHTML - sessionStarted tag doet, is dat het een event aanmaakt en afvuurt. En hierop kunnen we een tweede tag, de QualityVisit op triggeren:
 

 

En dat is het ook eigenlijk. Een kind kan de was doen. In plaats van dat je het instelt op een time trigger van 15s doe je het via een eigen gemaakte cookie die een event aanmaakt na 15s en zich elke 30 minuten herstelt.

jermaya leijen
Jermaya Leijen arrow icon

In de loop der jaren heb ik de liefde ontwikkeld voor automation, AI en data(analyse). Hoewel ik me altijd heb gericht op Google Ads, ben ik al geruime tijd betrokken bij uiteenlopende SEO-projecten. Ik heb mezelf Python en JavaScript aangeleerd om automation en data(verwerking) te kunnen integreren in zowel mijn eigen projecten als die van klanten, met als doel hen te ondersteunen bij het behalen van hun bedrijfs- en omzetdoelstellingen.

Cases Blogs Audit Tooling