Datakwaliteit is een routine, geen project
Tracking werkt zelden voor altijd. Formulierplugins worden geüpdatet, CMP's veranderen hun API, een developer haalt "die rare dataLayer-regel" weg. Wie datakwaliteit niet structureel controleert, ontdekt problemen pas als smart bidding al weken de verkeerde kant op is gestuurd. Deze les geeft je de rapporten en een controleritme.
De vijf kerncontroles
| Controle | Frequentie | Waar | Signaal van een probleem |
|---|---|---|---|
| Conversiestatus | Wekelijks | Doelen → Conversies → Samenvatting | "Geen recente conversies" of "Tag inactief" bij een actie die zou moeten vuren |
| Volume-vergelijking backend | Wekelijks/maandelijks | Google Ads vs CRM/shop-backend | Afwijking > 10–15% |
| Dubbele telling | Maandelijks | Conversies per actie, segment "Conversieactie" | Twee acties met bijna identiek volume |
| Conversielag | Per kwartaal | Rapport "Tijd tot conversie" / "Dagen tot conversie" | Veel conversies buiten het venster of recente weken structureel te laag |
| Attributiepaden | Per kwartaal | Attributie → Modelvergelijking, Paden | Grote verschuivingen tussen campagnes bij modelwissel |
Dubbele telling opsporen
Symptomen: conversiepercentages van 20%+ bij een leadformulier, of "Alle conversies" die het dubbele is van wat je verwacht.
Stappenplan:
- Segmenteer de campagnetabel op Conversies → Conversieactie. Vergelijk het volume per actie: als "Lead - GTM" en "GA4 generate_lead" beide 214 conversies tonen, zijn ze allebei primair.
- Controleer per actie in de instellingen of ze primair zijn en tot hetzelfde doel behoren.
- Controleer in GTM met Preview of één event twee tags laat vuren.
- Controleer op de site of er naast GTM ook een hardcoded gtag-snippet staat (zoek in de broncode op
AW-). - Los op: zet één van de twee op secundair of verwijder de dubbele tag.
Let ook op het verschil tussen conversies (toegekend aan klikdatum, fractioneel bij data-driven) en conversies per conversietijd. Bij offline import kunnen die twee kolommen sterk verschillen; dat is geen fout.
De vergelijking met CRM of backend
Bouw een maandelijkse reconciliatietabel:
| Maand | Google Ads (Lead, primair) | CRM: leads met bron Google Ads | Verschil | Verklaring |
|---|---|---|---|---|
| Juni | 312 | 289 | +8% | Normaal (cross-device, modelling) |
| Juli | 341 | 302 | +13% | Onderzoeken: spam-formulieren? |
| Augustus | 198 | 296 | −33% | Tag gestopt na plugin-update op 9 aug |
Vuistregels voor de interpretatie:
- Google Ads telt meestal 5–15% hoger dan het CRM door modelling, cross-device en attributie aan klikdatum.
- Telt Google Ads structureel lager, dan verlies je conversies: consent, adblockers, tagfouten, te kort venster.
- Een plotselinge daling van meer dan 25% in één week is bijna altijd een technische oorzaak.
Bij e-commerce vergelijk je aantal orders en omzet. Vergeet niet dat Google Ads retouren niet ziet, tenzij je conversie-aanpassingen (restatements en retractions) uploadt.
Het conversielag-rapport lezen
Onder Attributie → Conversielag (of via het segment "Dagen tot conversie") zie je hoeveel dagen er tussen klik en conversie zitten. Gebruik het voor:
- Venstercontrole: valt 95% binnen je venster? Anders verlengen.
- Interpretatie van recente data: als de mediaan 6 dagen is, zijn de conversies van de afgelopen week nog onvolledig. Beoordeel campagnewijzigingen dus nooit op data jonger dan de conversielag.
- Bidding: bij een lange lag heeft smart bidding meer tijd nodig; wees terughoudend met dagelijkse targetaanpassingen.
Praktisch: een B2B-account met een mediane lag van 11 dagen rapporteert voor "afgelopen 7 dagen" structureel 40% te weinig conversies. Wie op dat rapport de targets verhoogt, jaagt op een spookprobleem.
Attributie controleren
In Attributie → Modelvergelijking zet je data-driven naast last click. Typische inzichten:
- Generieke Search-campagnes en Demand Gen krijgen onder data-driven 15–40% meer conversies toegekend dan onder last click. Als je campagnes onderling vergelijkt, gebruik dan altijd hetzelfde model.
- Merkcampagnes krijgen minder. Dat betekent niet dat brand slecht presteert, maar dat een deel van de "brand-conversies" eerder door een andere campagne is aangejaagd.
In Attributie → Paden zie je hoeveel klikken en welke campagnes aan conversies voorafgaan. Meer dan 30% multi-touch paden is een argument om upper-funnel campagnes niet op last-click-cijfers te beoordelen.
SQL-voorbeeld: GA4 BigQuery export vergelijken met backend
Voor accounts met de GA4-export naar BigQuery kun je conversies per dag reconstrueren en naast je backend leggen:
SELECT
PARSE_DATE('%Y%m%d', event_date) AS dag,
COUNT(DISTINCT ecommerce.transaction_id) AS ga4_orders,
ROUND(SUM(ecommerce.purchase_revenue), 2) AS ga4_omzet
FROM `project.analytics_123456.events_*`
WHERE event_name = 'purchase'
AND _TABLE_SUFFIX BETWEEN '20260901' AND '20260930'
GROUP BY dag
ORDER BY dag;
Vergelijk de uitkomst met de orders uit je shopsysteem. Een structureel gat van bijvoorbeeld 12% laat zien hoeveel je aan browsermeting verliest; dat is een argument voor server-side tagging of Measurement Protocol.
Maandelijkse datakwaliteitscheck (stappenplan)
- Open de conversieoverzichtspagina en controleer de status van alle primaire acties.
- Vul de reconciliatietabel met backend/CRM-cijfers.
- Controleer diagnostiek voor enhanced conversions (matchpercentage) en consent mode.
- Bekijk het conversielag-rapport en pas zo nodig het venster aan.
- Doorloop één keer de volledige conversieflow op de live site met Tag Assistant.
- Noteer bevindingen en acties in het meetplan; voeg een annotatie toe in Looker Studio of GA4 bij wijzigingen.
Veelgemaakte fouten
- Beoordelen op onvolledige data door de conversielag te negeren.
- Campagnes vergelijken met verschillende attributiemodellen (bijvoorbeeld GA4-rapport naast Google Ads-rapport).
- Afwijkingen wegwuiven als "Google telt altijd anders" zonder te weten waarom.
- Retouren negeren in e-commerce, waardoor de ROAS structureel te rooskleurig is.
- Geen changelog: als niemand weet dat op 9 augustus een plugin is geüpdatet, kost het onderzoek dagen.
Tip: stel een Google Ads Script of een geautomatiseerde regel in die je mailt zodra een primaire conversieactie 48 uur geen conversies registreert terwijl er wel meer dan 200 klikken waren. Dat is de goedkoopste verzekering tegen stilgevallen tracking (zie module 9).
- Controleer wekelijks de conversiestatus en maandelijks het volume ten opzichte van CRM of backend; een afwijking van meer dan 10–15% verdient onderzoek.
- Dubbele telling herken je aan twee primaire acties met bijna gelijk volume; los het op door één actie secundair te maken.
- Beoordeel campagnewijzigingen nooit op data jonger dan de conversielag; het rapport 'Tijd tot conversie' toont hoe lang je moet wachten.
- Vergelijk campagnes altijd binnen hetzelfde attributiemodel; data-driven kent upper-funnel campagnes meer waarde toe dan last click.
- Documenteer wijzigingen in een changelog en automatiseer alerts voor stilgevallen conversieacties.
Toets je kennis
5 vragen · slaag met 70% of hoger om de les af te ronden
- 1.Google Ads rapporteert structureel 8% meer leads dan het CRM. Wat is de meest waarschijnlijke verklaring?
- 2.Waarom moet je bij een mediane conversielag van 11 dagen voorzichtig zijn met het rapport 'afgelopen 7 dagen'?
- 3.Hoe herken je dubbele telling in Google Ads?
- 4.Wat laat het rapport 'Modelvergelijking' typisch zien voor generieke Search-campagnes?
- 5.Welke actie is de beste 'verzekering' tegen stilgevallen tracking?