[Maatwerk] User Data Script toevoegen aan je website
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
Ga naar trytagging.com en log in
Selecteer de juiste container
Ga naar Implementatie → Domeinnaam
Kopieer je gekoppelde domeinnaam (bijvoorbeeld:
tagging.jouwwebsite.nl)
Voorbeeld: Als je gekoppelde domeinnaam
tagging.webshop.nlis, 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_dataevent is het startsignaal voor je hele tracking setup. Zonder dit event worden andere events (zoalsview_item,add_to_cart,purchase) niet correct verwerkt door Google Tag Manager.Plaats dit script daarom:
Zo hoog mogelijk in de
<head>sectieVóó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
Open je website in Chrome of Firefox
Open de Developer Tools (F12 of Cmd+Option+I)
Ga naar het tabblad Console
Controleer of er geen rode foutmeldingen zijn gerelateerd aan "tagging" of "user-data"
Check 2: DataLayer verificatie
Typ in de Console:
dataLayerDruk op Enter
Zoek naar een object met
event: "trytagging_user_data"Controleer of
marketingendeviceobjecten 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
Ga naar het tabblad Network in Developer Tools
Ververs de pagina
Filter op "user-data"
Controleer of
user-data-minified.jssuccesvol 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:
Maak een nieuwe Custom HTML Tag in GTM
Plak het volledige script (inclusief
<script>tags)Stel de trigger in op All Pages of DOM Ready
Zorg dat deze tag als eerste wordt afgevuurd (gebruik Tag Sequencing indien nodig)
Belangrijk: Het
trytagging_user_dataevent 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:
Controleer of je de juiste domeinnaam hebt uit het Trytagging dashboard
Test de URL direct in je browser:
https://[jouw-domein]/user-data-minified.jsAls 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:
Verplaats het script naar het begin van de
<head>sectieControleer de Console op JavaScript errors
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:
Of de URL correct is
Of er geen CORS errors zijn in de Console
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:
Controleer je internetverbinding
Controleer of de script URL bereikbaar is
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.
