Meet de directe aanvraag, leid niets af
Er is verschil tussen een tracker die je browser rechtstreeks aanroept en een die je server-side vermoedt. Alleen het eerste is hard bewijs. Wat ik in de ruwe opname zie gebeuren telt; wat ik erbij redeneer is een aparte, zwakkere laag.
Twee soorten weten die je nooit mag optellen¶
Er zijn twee manieren waarop je weet dat een partij bij een site of app betrokken is.
De eerste is dat je het hebt zien gebeuren. Er staat een verzoek in de opname, met een tijdstempel, een pagina waaraan het hangt, en headers die je kunt teruglezen. Dat is een waarneming.
De tweede is dat je het hebt afgeleid. De partij staat in een bestand dat verkooproutes beschrijft. De partij zit in de partnerlijst van het toestemmingsvenster. De partij is de eigenaar van een script dat je wel zag. Dat is een gevolgtrekking.
Beide zijn nuttig. Alleen de eerste is bewijs. En het gevaarlijkste moment in het hele onderzoek is de zin waarin je ze bij elkaar optelt, omdat je daarmee de zwakste schakel de kracht van de sterkste geeft. Zie Gemeten is niet bewezen en Een aanwijzing is nog geen bewijs.
De ladder die ik per leverancier invul¶
Om de twee soorten uit elkaar te houden, krijgt elke leverancier in een run een niveau. De ladder is klein gehouden, want een ladder met tien treden wordt niet ingevuld.
D1 directe verstrekking waargenomen
verzoek met een body of een cookie met identifier, rechtstreeks aan
de partij, in de opname aanwijsbaar
I1 koppelingspoging waargenomen
een sync- of match-aanroep die een identifier wil uitwisselen
I2 koppeling voltooid
de callback kwam terug met een concreet gevuld identifier-veld
Q1 biedverzoek waargenomen
er ging een echte aanvraag om een bod uit
Q2 bod waargenomen
er kwam een bod terugDaarnaast bestaat er een niveau dat geen bewijs is en dat toch in het dossier hoort: geautoriseerd. Een naam in een bestand met verkooproutes betekent dat een systeem de advertentieruimte mag verhandelen. Het betekent niet dat er ooit iets is verhandeld. Zie Een advertentiesysteem mag meeverkopen zonder ooit een bod te doen en Wie elke verkooproute optelt, bouwt een misleidend beeld.
Het geval: tweeëntachtig veilingen en nul biedverzoeken¶
Dit is de zaak waarin de regel me een kop kostte en een correctie bespaarde.
In juli 2026 vond ik op telegraaf.nl een partij met een Russische lijn: Between Digital. De eerste waarneming was een aanroep naar ads.betweendigital.com/match met een doorgegeven toestemmingsstring. Dat is niveau I1, een koppelingspoging.
De verleidelijke kop stond meteen op tafel. Een Russische advertentiepartij doet mee aan de handel in Nederlandse nieuwslezers. Als ik de aanwezigheid van de partij bij het toestemmingsvenster en de aanwezigheid van de matchroute bij elkaar had opgeteld, was die kop er gekomen.
In plaats daarvan ging de meeteenheid om. De vraag werd niet langer of de partij in een run verscheen, maar of de partij meedeed in een veiling waarin ze had kúnnen bieden. Daar is een aparte meting voor gebouwd, met videostart en detectie van geschikte veilingen. De eerste stand, op 18 juli 2026, was mager: acht geschikte videoveilingen, koppeling gezien, nul biedverzoeken. Nul van acht is statistisch niets. Met de vuistregel van drie kom je dan niet lager dan ruwweg achtendertig procent, en dat is geen nulbevinding.
Dus liep de meting door. De stand van 22 juli 2026, over twaalf meetronden:
geldige sessies 48
profiel-lijnen 10
dagdelen 3
dagen 5
geschikte videoveilingen 82
Between Digital koppeling gezien in 19 van 48 sessies
biedverzoeken 0 van 82 veilingen
bod ontvangen 0 van 82 veilingenIn dezelfde meting: bidswitch in 47 van 48 sessies, outbrain in 47 van 48, teads in 42 van 48, pangle in 1 van 48.
De koppeling zelf werd wél hard. De callback naar x.bidswitch.net/sync kwam terug met een concreet gevuld gebruikersnummer en een cookie die op Luxemburg wees. Dat is I2, koppeling voltooid, met een bewijsobject waarvan de recordhash is vastgelegd.
De gepubliceerde zin werd daarmee: in 82 geschikte videoveilingen, verdeeld over 48 onafhankelijke sessies, tien profiel-lijnen en drie dagdelen, is geen biedverzoek aan deze partij vastgesteld. De Russische lijn in het artikel staat op identifierkoppeling, met het bieden expliciet als niet vastgesteld. Zie Een cookie-match bewijst herkenning, geen bod.
Wat de afgeleide laag dan nog waard is¶
Best veel, zolang ze een eigen kop houdt.
De afgeleide laag vertelt je waar je moet kijken. Zonder de partnerlijst en de verkooproutebestanden had ik niet geweten dat Between Digital überhaupt kandidaat was, en had ik de gerichte veilingmeting nooit gebouwd. Afleiding is een uitstekend zoekinstrument en een slecht bewijsmiddel.
Ze vertelt je ook iets over de ruimte die een organisatie zichzelf heeft gegeven. Een systeem dat gemachtigd is om je advertentieruimte te verhandelen, kan dat morgen doen zonder dat er iets verandert aan de site. Dat is een reëel gegeven voor een functionaris gegevensbescherming, en het is een ander gegeven dan een waargenomen stroom.
De regel is dus niet dat je afleidingen weglaat. De regel is dat ze in een aparte alinea staan, met een eigen kwalificatie, en dat ze nooit in hetzelfde totaal terechtkomen als de waarnemingen.
Waarom één meting niet volstaat¶
De ladder werkt alleen als je erbij zet hoe vaak je hebt gekeken. Anders wordt "niet gezien" per ongeluk "niet aanwezig".
Hoe groot dat effect is, staat in de herhaalbaarheidstoets over sites die in drie of meer runs voorkomen. Er zijn 434 zulke sites. De mediaan van het verschil tussen de laagste en de hoogste meting per site is 0,0, dus voor de meeste sites is het beeld stabiel. De uitschieters zijn het punt:
veva.nl laagste 4 hoogste 46
werkenbijdefensie.nl laagste 13 hoogste 53
2todrive.nl laagste 1 hoogste 30Op zulke sites is één meting een greep uit een verdeling. Wie daar één run publiceert, publiceert toeval. De notatie die dat oplost is simpel: schrijf altijd x van n geldige runs, ook als x gelijk is aan n.
Hoe je dit in een dossier scheidt¶
Twee kolommen, en geen enkel totaal dat over de streep heen telt.
WAARGENOMEN AFGELEID
niveau D1/I1/I2/Q1/Q2 geautoriseerd, genoemd, eigenaar van
x van n geldige runs bron: welk bestand, welke datum
verwijzing naar het artefact wat het zou betekenen als het kloptDe rechterkolom mag inhoudelijk sterk zijn. Ze mag alleen nooit een getal leveren dat in de samenvatting belandt. Zie Label elke bevinding op bewijsniveau en Mijn werkwijze: van vermoeden naar bevinding.
En houd één beperking altijd in beeld, want die geldt voor de linkerkolom net zo goed. Een browsermeting ziet de eerste server. Wat daarachter tussen servers gebeurt, blijft buiten beeld, dus ook D1 is een ondergrens. Zie Een browsermeting ziet alleen de eerste server en Elke browsermeting is een ondergrens.
Werkregel. Publiceer alleen de aanvraag die je in de opname hebt zien vertrekken, met het bewijsniveau en het aantal geldige runs erbij, en zet alles wat je erbij hebt afgeleid in een aparte kolom die nooit meetelt in een totaal.
- Eigen meetregel bij HAR-analysealleen de aanvraag die het toestel echt deed telt, niet wat de code toelaat