Een verse GA4-property meet uit de doos van alles wat er niet toe doet en niks van wat er wel toe doet. Voor een consumentenwebshop is dat oké. Voor B2B is het een probleem, want jouw conversie is geen aankoop van 29 euro maar een offerteaanvraag die pas maanden later omzet wordt.
Ik loop hieronder door de setup die ik bij B2B-klanten telkens weer opnieuw opbouw. Concreet, met de events die er echt toe doen.
Wat GA4 standaard mist voor B2B
Google Analytics 4 draait op een event-based datamodel: elke interactie is een event, niet langer een pageview met sessies eromheen zoals in Universal Analytics. Dat is krachtig, maar de automatisch verzamelde events (page_view, scroll, session_start) vertellen je niks over leadkwaliteit.
Wat je echt wilt weten in B2B:
- Wie vult het contactformulier in, en vanaf welke pagina?
- Wie downloadt de whitepaper of prijslijst?
- Wie klikt op het telefoonnummer of het mailadres?
- Welke bedrijven bekijken de casepagina's meerdere keren?
Geen van die vragen beantwoordt de standaard-setup. Je moet ze zelf als events definiëren. Google beschrijft de logica achter aanbevolen en custom events netjes in de eigen documentatie, maar de vertaling naar een B2B-context moet je zelf maken.
De events die je wel wil vastleggen
Begin met een generate_lead event op elke formulierinzending. Push het via de dataLayer zodat je het via Google Tag Manager kunt oppikken:
// na een succesvolle formulierinzending
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
event: 'generate_lead',
form_name: 'offerte_aanvraag',
lead_source: document.referrer || 'direct',
value: 250 // geschatte waarde van een lead
});
Die value is geen detail. Zodra je een eurobedrag aan een lead hangt, kan GA4 kanalen tegen elkaar afwegen op waarde in plaats van op volume. Een kanaal dat weinig maar zware leads oplevert, wordt dan eindelijk zichtbaar.
Voeg daarna events toe voor micro-conversies die kopers in B2B vaak doen voor ze contact opnemen:
// download van een whitepaper
dataLayer.push({
event: 'file_download',
file_name: 'roi-calculator-2026.pdf',
content_group: 'bofu' // bottom of funnel
});
// klik op telefoonnummer
document.querySelectorAll('a[href^="tel:"]').forEach(el => {
el.addEventListener('click', () => {
dataLayer.push({ event: 'contact_click', method: 'phone' });
});
});
Markeer generate_lead in GA4 daarna als key event (de opvolger van "conversie"). Pas dan verschijnt het in de rapporten die er in B2B toe doen.
Naamgeving: de fout die alles later breekt
Een detail waar bijna iedereen op struikelt: inconsistente eventnamen. De ene ontwikkelaar pusht generate_lead, de volgende lead_generated, en de stagiair maakt er formSubmit van. In GA4 zijn dat drie verschillende events, en je rapport telt ze los. Spreek daarom vooraf een naamgevingsconventie af en leg die vast in een simpel document: snake_case, werkwoord plus object, vaste parameternamen. Saai werk, maar het scheelt je later dagen van data schoonmaken die je nooit meer echt schoon krijgt.
Datzelfde geldt voor je UTM-parameters op campagnelinks. Google en google zijn twee bronnen voor GA4. Eén hoofdletter verscheurt je kanaalrapport. Kies kleine letters, houd je eraan, en documenteer het.
Het probleem dat groter wordt: consent en cookies
Hier wringt het. Steeds meer bezoekers weigeren tracking-cookies, en browsers blokkeren third-party cookies standaard. Je client-side GA4-data wordt daardoor steeds holler. In sommige B2B-sectoren mis je zo een derde tot de helft van je conversies.
De richting waar dit heen gaat, is first-party data: gegevens die je zelf en met toestemming verzamelt, in plaats van via cookies van derden. Server-side tagging en een fatsoenlijke consent-implementatie horen daarbij. Wie nu al bouwt op First Party Data, zit straks een stuk droger als de cookie helemaal verdwijnt.
Praktisch betekent dat: stuur je belangrijke events ook server-side door, koppel je CRM aan je analytics zodat een lead die klant wordt terug te herleiden is, en vertrouw niet blind op het getal dat de browser je geeft.
Meet de trechter, niet losse pagina's
Een fout die ik vaak zie: mensen bouwen tientallen events maar kijken er nooit samenhangend naar. Zet je events in een trechter:
-
page_viewop een dienstenpagina -
file_downloadofscrollnaar 75 procent generate_lead
Nu zie je waar het lek zit. Als 2000 mensen de dienstenpagina zien, 400 iets downloaden en er 12 een offerte aanvragen, weet je precies welke stap aandacht nodig heeft. Losse getallen vertellen dat niet. De relatie tussen de getallen wel.
Google zelf hamert er in de richtlijnen voor nuttige content op dat je moet bouwen voor echte mensen met echte vragen. Je analytics-setup is precies het instrument waarmee je controleert of je dat lukt. Zonder de juiste events schrijf je in het donker.
Test het voor je het vertrouwt
Voor je ook maar één event productie in gaat, controleer het in de DebugView van GA4. Zet debug-modus aan, doe zelf een testinzending en kijk of je event binnenkomt met de juiste parameters en de juiste waarde. Dit klinkt vanzelfsprekend, maar ik heb setups gezien waar een generate_lead event maandenlang vuurde zonder value, waardoor alle waarde-gebaseerde rapporten leeg bleven. Niemand controleerde het, want het dashboard toonde gewoon een getal.
Doe die test opnieuw na elke wijziging aan je formulieren of je tagging. Een formulier dat naar een nieuwe bedanktpagina verwijst, breekt zomaar je event zonder foutmelding. Vijf minuten testen bespaart je een kwartaal aan stille dataverlies.
Wanneer je dit uitbesteedt
Deze setup is te doen als je comfortabel bent met GTM, de dataLayer en een beetje JavaScript. De valkuil zit niet in de techniek maar in de vertaling: welke events sturen wat, welke value hang je eraan, hoe koppel je het aan je CRM zodat marketing en sales dezelfde cijfers zien.
Dat is precies het werk waar het bij onze data-analytics aanpak om draait: een GA4-implementatie die geen sessies telt maar leads en omzet, netjes doorgekoppeld tot in het salesgesprek.
Begin klein. Zet vandaag één generate_lead event live met een waarde erbij. Dat ene event vertelt je binnen een maand meer over je marketing dan al je pageviews samen.
Top comments (0)