Ga naar hoofdinhoud

Web tracker

De d8a web tracker biedt een GA4 gtag-achtige API die GA4 gtag-compatibele verzoeken rechtstreeks naar een d8a-collector stuurt. Gebruik hem wanneer je GA4-achtige tracking wilt zonder afhankelijk te zijn van door Google gehoste tags.

Beta

De web tracker is momenteel in beta - meld gerust eventuele problemen via GitHub Issues.

Snelstart​

Plak deze code zo hoog mogelijk in de <head> van de pagina:

<script async src="https://cdn.jsdelivr.net/npm/@d8a-tech/wt/dist/wt.min.js"></script>
<script>
window.d8aLayer = window.d8aLayer || [];
window.d8a = window.d8a || function(){d8aLayer.push(arguments);};

d8a('js', new Date());
d8a('config', '<property_id>', {
server_container_url: 'https://global.t.d8a.tech/<property_id>/d/c'
});
</script>
notitie

Standaard is send_page_view ingeschakeld, dus de tracker verstuurt een page_view. Enhanced measurement is ook standaard ingeschakeld (zie Enhanced measurement). De d8a()-functie biedt ook gemaksmethoden (d8a.config, d8a.event, d8a.set, d8a.consent) die zich hetzelfde gedragen als de string-commandovorm.

Configuratie​

  • server_container_url: Verplicht. Tracking-URL voor deze property (de tracker gebruikt dit als het uiteindelijke endpoint).
    • Voorbeeld (d8a Cloud): https://global.t.d8a.tech/80e1d6d0-560d-419f-ac2a-fe9281e93386/d/c
    • Voorbeeld (self-hosted): https://example.org/d/c
  • Zie voor alle beschikbare opties Configuratie.
notitie

De web tracker werkt ook wanneer het GA4-trackingprotocol is ingeschakeld. Dit is handig als je oorspronkelijk GA4-verkeer naar d8a hebt omgeleid en nu data wilt blijven sturen naar dezelfde property met de web tracker. In dat geval moet je het endpoint wijzigen van /d/c naar /g/collect.

Events​

De tracker ondersteunt het verzenden van events met d8a('event', '<event_name>', { ... }). Hier zijn enkele van de meest gebruikte events:

Page view​

Automatisch verzonden wanneer een property is geconfigureerd (tenzij send_page_view: false). Je kunt het ook handmatig verzenden:

d8a('event', 'page_view', {
page_title: 'Homepage',
page_location: 'https://example.com/',
});

Add to cart​

Track wanneer gebruikers items aan hun winkelwagen toevoegen:

d8a('event', 'add_to_cart', {
currency: 'USD',
value: 29.99,
items: [
{
item_id: 'SKU_123',
item_name: 'Product Name',
price: 29.99,
quantity: 1,
},
],
});

Purchase​

Track voltooide aankopen:

d8a('event', 'purchase', {
transaction_id: 'T_789456',
value: 149.97,
currency: 'USD',
tax: 12.0,
shipping: 9.99,
coupon: 'WELCOME10',
items: [
{
item_id: 'PROD_001',
item_name: 'Classic Blue Denim Jeans',
item_brand: 'FashionCo',
item_category: 'Apparel',
item_category2: 'Men',
item_category3: 'Pants',
item_variant: 'Blue',
price: 79.99,
quantity: 1,
discount: 8.0,
coupon: 'WELCOME10',
index: 0,
},
{
item_id: 'PROD_002',
item_name: 'Wireless Bluetooth Headphones',
item_brand: 'TechSound',
item_category: 'Electronics',
item_category2: 'Audio',
item_category3: 'Headphones',
item_variant: 'Black',
price: 59.99,
quantity: 1,
discount: 0,
index: 1,
},
],
});

Custom events​

Je kunt elke custom event name verzenden:

d8a('event', 'newsletter_signup', {
newsletter_type: 'weekly',
source: 'homepage',
});

Zie voor een volledige lijst met aanbevolen events en hun parameters de documentatie over aanbevolen GA4-events.

Enhanced measurement​

De tracker kan automatisch GA4-achtige events vastleggen (standaard ingeschakeld):

  • Site search: Vuurt view_search_results af wanneer de URL-querystring een bekende zoekparameter bevat.
    • Standaardsleutels: q,s,search,query,keyword
  • Outbound clicks: Vuurt click af met link_url, link_domain, outbound=1.
  • File downloads: Vuurt file_download af met link_url, file_name, file_extension.

Je kunt deze configureren (of uitschakelen) via d8a('config', ...) of d8a('set', ...). Zie voor alle beschikbare configuratieopties Enhanced measurement-instellingen.

Voorbeeld (alle auto-events uitschakelen):

<script>
d8a('config', '<property_id>', {
server_container_url: 'https://global.t.d8a.tech/<property_id>/d/c',
site_search_enabled: false,
outbound_clicks_enabled: false,
file_downloads_enabled: false,
});
</script>
notitie

Enhanced measurement is bewust lichtgewicht:

  • Site search wordt hoogstens eenmaal per page load getriggerd (geen SPA-tracking daarbuiten).
  • Door clicks aangestuurde enhanced measurement-events worden direct geflusht om drop-off bij navigatie te beperken.
  • De tracker ondersteunt geen automatische SPA-page views, scroll-tracking, formulierinteracties of video-engagement. De standaard gtag.js-implementaties hiervoor zijn vaak te generiek of onbetrouwbaar voor productiebehoeften. We raden aan deze te implementeren via een Tag Manager (zoals GTM) of custom event listeners voor nauwkeurige controle.

Cookies​

De tracker beheert twee first-party cookies (tenzij consent expliciet analytics-opslag weigert):

  • _d8a: Client ID-cookie (waardeformaat: C1.1.<a>.<b>).
  • _d8a_<property_id>: Session context-cookie (waardeformaat: S1.1...).

Zie voor details Cookies.

Engagement​

De tracker zendt user_engagement-events uit om de backend te laten weten of de gebruiker daadwerkelijk geëngageerd was.

Wanneer de analytics_storage-consent verandert nadat ten minste één property is geconfigureerd, zendt de tracker een lichtgewicht user_engagement-ping uit, gemarkeerd met ep.consent_update=1.

Elk event bevat _et (engagement time in milliseconden): tijd die alleen wordt opgebouwd terwijl de pagina actief, zichtbaar en in focus is.

Wanneer de opgebouwde _et voor de huidige session de engagementdrempel bereikt (standaard: 10 seconden, configureerbaar via session_engagement_time_sec), werkt de tracker de Session context-cookie bij om de session als geëngageerd te markeren. Daarna bevatten volgende events van die session seg=1.

Gerelateerde documentatie​