[Maatwerk] User Data Script toevoegen aan je website

Bewerkt

Overzicht

Dit artikel legt uit hoe je het AdPage User Data Script toevoegt aan een maatwerk website of CMS. Dit script is essentieel voor het verzamelen van marketing- en apparaatgegevens en zorgt ervoor dat de trytagging_user_data event correct wordt gepusht naar de dataLayer.

Let op: Dit script is alleen nodig voor websites waarbij de AdPage plugin of app NIET is geïnstalleerd. Gebruik je Shopify, WooCommerce, WordPress, Magento of Lightspeed? Dan verzorgt de AdPage plugin/app dit automatisch.


Wanneer gebruik je dit script?

Situatie

Script nodig?

Maatwerk CMS zonder AdPage plugin

✅ Ja

Custom gebouwde website

✅ Ja

Platform zonder AdPage integratie

✅ Ja

Shopify met AdPage App

❌ Nee

WooCommerce met AdPage Plugin

❌ Nee

WordPress met AdPage Plugin

❌ Nee

Magento met AdPage Extension

❌ Nee

Lightspeed met AdPage Pixel

❌ Nee


Wat doet dit script?

Het User Data Script verzamelt automatisch:

  • Apparaatinformatie: Browser, besturingssysteem, schermresolutie

  • Marketing data: UTM parameters, referrers, campagne informatie, session IDs

  • Gebruikersidentificatie: Client ID, session ID en session count voor accurate attributie

Deze gegevens worden via het trytagging_user_data event beschikbaar gemaakt in de dataLayer. Dit event is het startsignaal voor alle andere tracking — zonder dit event komt je tracking data niet correct binnen.

Waarom is de laadvolgorde zo belangrijk?

Het trytagging_user_data event bevat essentiële identificatiegegevens (zoals client_id, session_id en session_count) die door alle opvolgende events worden gebruikt. Als andere dataLayer events (zoals view_item of add_to_cart) worden gepusht voordat dit script heeft geladen:

  • Mist de Google Tag de benodigde configuratieparameters

  • Kunnen sessies niet correct worden geattribueerd

  • Werken webhooks niet correct (de marketing data ontbreekt)

  • Komt data niet of onvolledig binnen in GA4 en advertentieplatformen


Stap 1: Vind je gekoppelde domeinnaam

Voordat je het script kunt installeren, heb je je gekoppelde domeinnaam nodig. Deze vind je op twee manieren:

Optie A: Via de installatie link

Als je een installatie link hebt ontvangen van AdPage, staat de domeinnaam al in de instructies.

Optie B: Via het Trytagging dashboard

  1. Ga naar trytagging.com en log in

  2. Selecteer de juiste container

  3. Ga naar ImplementatieDomeinnaam

  4. Kopieer je gekoppelde domeinnaam (bijvoorbeeld: tagging.jouwwebsite.nl)

Voorbeeld: Als je gekoppelde domeinnaam tagging.webshop.nl is, dan wordt de script URL: https://tagging.webshop.nl/user-data-minified.js


Stap 2: Installeer het script

⚠️ Belangrijk: Laadvolgorde is cruciaal!

Dit script MOET laden en uitvoeren VOORDAT andere dataLayer events worden gepusht. Het trytagging_user_data event is het startsignaal voor je hele tracking setup. Zonder dit event worden andere events (zoals view_item, add_to_cart, purchase) niet correct verwerkt door Google Tag Manager.

Plaats dit script daarom:

  • Zo hoog mogelijk in de <head> sectie

  • Vóór het Google Tag Manager script

  • Vóór eventuele andere tracking scripts

Kopieer onderstaand script en vervang [JOUW_GEKOPPELDE_DOMEIN] door je eigen gekoppelde domeinnaam uit Stap 1.

<script>
(function() {
  // Function to load external script with defer
  function loadScript(url) {
    return new Promise(function(resolve, reject) {
      var script = document.createElement('script');
      script.defer = true;
      script.src = url;
      script.onload = resolve;
      script.onerror = reject;
      document.head.appendChild(script);
    });
  }
  
  // Function to check if taggingHelpers is available
  function checkTaggingHelpers(timeout) {
    timeout = timeout || 10000;
    var startTime = Date.now();
    return new Promise(function(resolve, reject) {
      function check() {
        if (window.taggingHelpers && 
            typeof window.taggingHelpers.getMarketingObject === 'function' && 
            typeof window.taggingHelpers.getDeviceInfo === 'function') {
          resolve();
        } else if (Date.now() - startTime > timeout) {
          reject(new Error('Timeout waiting for taggingHelpers'));
        } else {
          setTimeout(check, 50);
        }
      }
      check();
    });
  }
  
  // Function to collect data from taggingHelpers
  function collectData() {
    try {
      return {
        event: 'trytagging_user_data',
        device: window.taggingHelpers.getDeviceInfo() || {},
        marketing: window.taggingHelpers.getMarketingObject() || {}
      };
    } catch (error) {
      console.error('Error collecting tagging data:', error);
      return null;
    }
  }
  
  // Function to push to dataLayer
  function pushToDataLayer(data) {
    if (!data) return;
    
    window.dataLayer = window.dataLayer || [];
    window.dataLayer.push(data);
  }
  
  // Main execution
  function init() {
    loadScript('https://[JOUW_GEKOPPELDE_DOMEIN]/user-data-minified.js')
      .then(function() {
        return checkTaggingHelpers();
      })
      .then(function() {
        var data = collectData();
        pushToDataLayer(data);
      })
      .catch(function(error) {
        console.error('Error in tagging initialization:', error);
      });
  }
  
  // Start initialization when DOM is ready
  if (document.readyState !== 'loading') {
    init();
  } else {
    document.addEventListener('DOMContentLoaded', init);
  }
})();
</script>

Voorbeeld met ingevulde domeinnaam

Als je gekoppelde domeinnaam tagging.webshop.nl is, vervang dan regel 42:

// Van:
loadScript('https://[JOUW_GEKOPPELDE_DOMEIN]/user-data-minified.js')

// Naar:
loadScript('https://tagging.webshop.nl/user-data-minified.js')

Stap 3: Controleer de installatie

Na het plaatsen van het script kun je controleren of alles correct werkt:

Check 1: Browser Console

  1. Open je website in Chrome of Firefox

  2. Open de Developer Tools (F12 of Cmd+Option+I)

  3. Ga naar het tabblad Console

  4. Controleer of er geen rode foutmeldingen zijn gerelateerd aan "tagging" of "user-data"

Check 2: DataLayer verificatie

  1. Typ in de Console: dataLayer

  2. Druk op Enter

  3. Zoek naar een object met event: "trytagging_user_data"

  4. Controleer of marketing en device objecten gevuld zijn

Voorbeeld van correcte output:

{
  event: "trytagging_user_data",
  device: {
    browser: "Chrome",
    os: "Windows",
    // ... meer device info
  },
  marketing: {
    user_id: "abc123...",
    session_id: "xyz789...",
    // ... meer marketing info
  }
}

Check 3: Network Tab

  1. Ga naar het tabblad Network in Developer Tools

  2. Ververs de pagina

  3. Filter op "user-data"

  4. Controleer of user-data-minified.js succesvol is geladen (status 200)


Stap 4: Configureer Google Tag Manager (optioneel)

Als je het script via Google Tag Manager wilt beheren in plaats van direct in de code:

  1. Maak een nieuwe Custom HTML Tag in GTM

  2. Plak het volledige script (inclusief <script> tags)

  3. Stel de trigger in op All Pages of DOM Ready

  4. Zorg dat deze tag als eerste wordt afgevuurd (gebruik Tag Sequencing indien nodig)

Belangrijk: Het trytagging_user_data event moet vóór alle andere ecommerce events worden gepusht. Configureer je andere tags om te triggeren na dit event.


Troubleshooting

Het script laadt niet

Mogelijke oorzaken:

  • De domeinnaam is niet correct ingevuld

  • De gekoppelde domeinnaam is nog niet actief in Trytagging

  • Er is een typefout in de URL

Oplossing:

  1. Controleer of je de juiste domeinnaam hebt uit het Trytagging dashboard

  2. Test de URL direct in je browser: https://[jouw-domein]/user-data-minified.js

  3. Als je een 404 error krijgt, neem contact op met AdPage support

Geen data in de dataLayer

Mogelijke oorzaken:

  • Het script staat niet vóór andere tracking scripts

  • Er is een JavaScript error op de pagina

  • Het script wordt geblokkeerd door een adblocker

Oplossing:

  1. Verplaats het script naar het begin van de <head> sectie

  2. Controleer de Console op JavaScript errors

  3. Test in een incognito venster zonder extensies

taggingHelpers is undefined

Mogelijke oorzaken:

  • Het externe script is nog niet geladen

  • Er is een netwerk probleem

Oplossing: Het script wacht automatisch tot 10 seconden op het laden. Als je toch problemen hebt, controleer:

  1. Of de URL correct is

  2. Of er geen CORS errors zijn in de Console

  3. Of je firewall het script niet blokkeert

Console error: "Timeout waiting for taggingHelpers"

Dit betekent dat het script na 10 seconden nog steeds niet beschikbaar was.

Oplossing:

  1. Controleer je internetverbinding

  2. Controleer of de script URL bereikbaar is

  3. Verhoog eventueel de timeout waarde in het script (regel 11: timeout = timeout || 10000;)


Veelgestelde vragen

Kan ik dit script combineren met de volledige maatwerk dataLayer?

Ja! Dit script zorgt alleen voor het trytagging_user_data event.

Moet ik het script op elke pagina plaatsen?

Ja, het script moet op elke pagina van je website aanwezig zijn. Het trytagging_user_data event moet op elke pagina worden gepusht voordat andere tracking events kunnen plaatsvinden.

Werkt dit script met Consent Mode?

Ja, het script is compatibel met Google Consent Mode. De data wordt pas verzameld nadat de bezoeker consent heeft gegeven (indien je een CMP gebruikt).

Heb ik dit script nodig voor de Data Assistant?

Ja! De Data Assistant Tag is afhankelijk van het trytagging_user_data event als startsignaal. Zonder dit script werkt de Data Assistant niet correct.

Wat als ik meerdere domeinen heb?

Voor elke domeinnaam heb je een aparte gekoppelde domeinnaam nodig in Trytagging. Pas het script aan per domein met de juiste URL.


Was dit artikel nuttig?

Onze excuses! Zou je ons meer willen vertellen?

Bedankt voor de feedback!

Er is een probleem opgetreden bij het verzenden van uw feedback
Controleer uw verbinding en probeer het opnieuw.