manuscript

beginselessayMeten en wegenbronnenverwant

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 terug

Daarnaast 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 veilingen

In 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 30

Op 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 klopt

De 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.

bronnen
  1. Eigen meetregel bij HAR-analysealleen de aanvraag die het toestel echt deed telt, niet wat de code toelaat
citeer alsBeer, M. (z.d.). Meet de directe aanvraag, leid niets af. mickbeer.com. https://mickbeer.com/#meet-de-directe-aanvraag-leid-niets-aflosse pagina van dit stuk

lees dit stuk in het manuscript, met alles waar het aan hangt