familiewapen Mick Beermickbeer.com

manuscript ·

beginselRTB, adtech en brokersbronnenverwant

Een biedstroom kan een veiling ingaan waar buitenlandse partijen op meebieden

Een Nederlandse app kan zijn biedstroom insturen bij een uitwisseling waar partijen uit andere jurisdicties op meebieden. De data vertrekt dan niet naar een bekende bestemming, maar naar een veilinghuis dat het verder verspreidt. Daarom is 'waar staat de server' bij RTB de verkeerde vraag; de juiste is 'wie mag meekijken in de veiling', en dat is een veel bredere en internationalere groep dan de app zelf noemt.

Wat er technisch de veiling in gaat

Bij real-time bidding stuurt een app of site een biedverzoek de markt op. In de OpenRTB-standaard heet dat een BidRequest. Dat object is geen kale advertentieplek. Het draagt een profiel van je toestel mee. In het device-object staan je model, je besturingssysteem, je taal, je user agent en je ifa, de identifier for advertisers. In het geo-object staat je locatie, soms tot op stads- of coördinaatniveau. In het user-object kunnen eerder opgebouwde segmenten zitten. Dit is de lading die de veiling in gaat, elke keer dat een advertentieplek geladen wordt.

{
  "device": {
    "ifa": "a1b2c3d4-...",
    "geo": { "lat": 52.37, "lon": 4.89, "country": "NLD" },
    "ua": "Mozilla/5.0 (Linux; Android ...)"
  },
  "user": { "id": "..." },
  "at": 1
}

Het profiel is dus specifieker dan de meeste mensen vermoeden. Een resetbare reclame-ID lijkt onschuldig, maar hij correleert met de rest en werkt in de praktijk als een sleutel. Zie Een resetbare identifier is alsnog een sleutel.

Belangrijk is dat dit profiel vertrekt voordat er een advertentie te zien is. De volgorde in RTB is omgekeerd aan wat je zou verwachten. Eerst gaat je profiel de markt op. Dan bieden partijen. Dan pas wordt beslist wat je te zien krijgt. De data reist dus altijd, ook bij de biedingen die verliezen. Een verliezende bieder heeft je profiel evengoed ontvangen en kan het bewaren. Dat is de kern van waarom RTB zoveel meer verspreiding geeft dan het tonen van één advertentie doet vermoeden. Het aantal partijen dat je profiel ziet, staat los van het aantal advertenties dat je te zien krijgt.

Hoe een veiling zich vertakt

Het beslissende punt is dat de veiling zich vertakt. Een exchange stuurt hetzelfde biedverzoek naar veel demand-partijen tegelijk. Dat is het hele idee van de veiling. Wie het hoogst biedt, wint de plek. Om dat te laten werken moet het verzoek eerst breed rondgaan. Bij een header-bidding-opstelling gaat het verzoek zelfs naar meerdere exchanges parallel, die het elk weer verder verspreiden.

De partijen die mogen meebieden staan niet vast op Nederland of Europa. Een sellers.json van een grote exchange somt honderden tot duizenden aangesloten verkopers op, verspreid over de hele wereld. De ads.txt van een uitgever noemt de partijen die namens hem mogen verkopen. Wie die twee naast elkaar legt, ziet dat een enkele advertentieplek de toegang opent tot een internationale markt. Dat je toestel in dezelfde veiling belandt als dat van iemand met een heel andere app is geen uitzondering. Zie Onverwante apps sturen je profiel dezelfde veiling in.

Er komt nog een laag bovenop, want een exchange kan een biedverzoek doorverkopen aan een andere exchange. Dat heet reselling. De transparantiestandaarden ads.txt en sellers.json zijn er juist gekomen om die keten zichtbaar te maken. In de praktijk lopen de ketens diep. Een uitgever autoriseert een exchange, die exchange autoriseert weer andere verkopers, en zo waaiert één advertentieplek uit tot een boom van deelnemers. Elke tak in die boom is een partij die het biedverzoek te zien kan krijgen. De uitgever aan de wortel overziet die boom zelden volledig.

Waarom dit een doorgifte onder de AVG is

Zodra het biedverzoek partijen buiten de EER bereikt, is er sprake van doorgifte naar een derde land. Hoofdstuk V van de AVG, de artikelen 44 tot en met 49, stelt daar eisen aan. Er moet een geldige grondslag voor de doorgifte zijn, en de ontvanger moet een beschermingsniveau bieden dat in de kern gelijkwaardig is aan dat van de EU. Het Real-time bidding biedt jouw toestel in een veiling aan, in milliseconden-mechanisme past hier slecht in. De data vertrekt niet naar één bekende bestemming waarmee je een verwerkersovereenkomst kunt sluiten. Ze wordt aangeboden aan een groep die per veiling wisselt en die de uitgever zelf vaak niet volledig kent.

Daarom is "waar staat de server" bij RTB de verkeerde vraag. De server van de app kan in Amsterdam staan. Dat zegt niets over waar het biedverzoek daarna heen gaat. De juiste vraag is wie er mag meekijken in de veiling. Dat is een bredere en internationalere groep dan de app in zijn privacyverklaring noemt. En het raakt aan een tweede kwestie, want fysieke locatie en zeggenschap zijn twee losse dingen. Zie Waar het pakket landt en wie het kan vorderen zijn twee assen.

Wat ik wel en niet meet

Ik meet dit uit het biedverzoek zelf en uit de publieke bestanden eromheen. In een BidRequest en in de aangesloten sellers.json en ads.txt zie ik welke partijen mogen deelnemen. Dat is een harde, controleerbare waarneming. Bewijsniveau: gemeten.

De procedure is redelijk mechanisch. Ik neem de aangesloten sellers.json en ads.txt, ik trek de deelnemende domeinen eruit, en ik zoek per domein op onder welke jurisdictie de partij valt. Grofweg:

sellers = load_json("sellers.json")["sellers"]
buitenlands = [
    s for s in sellers
    if jurisdictie(s["domain"]) not in EER_LANDEN
]
# buitenlands is de ondergrens van meekijkende niet-EER-partijen

Wat er daarna tussen servers gebeurt, valt buiten mijn meting. Een exchange kan een verzoek doorverkopen aan een andere exchange. Een winnende bieder kan het profiel intern delen of doorverkopen. Dat zie ik niet vanaf de buitenkant. Daarom is elk getal dat ik noem een ondergrens. Het aantal buitenlandse partijen dat ik aantref, is het minimum dat kan meekijken, niet het totaal. Ik label mijn bevindingen dan ook expliciet op dat niveau. Zie Label elke bevinding op bewijsniveau.

De jurisdictie van een partij is trouwens zelf twee vragen, want waar een server staat en onder welk recht een bedrijf valt zijn losse dingen. Ik houd die twee apart, anders wordt de ondergrens een rommelig getal. Zie Waar het pakket landt en wie het kan vorderen zijn twee assen.

Wat het voor mijn werk betekent

Voor mijn onderzoek betekent dit dat ik de vraag verschuif. Ik stop met vragen waar een app zijn data heen stuurt en begin met vragen wie er in de veiling mag. Dat is een bredere lens en hij levert een eerlijker beeld op. Het dwingt me ook tot bescheidenheid over de cijfers. Ik rapporteer wat ik in het biedverzoek en de publieke bestanden vind, ik label het als ondergrens, en ik dicht de gaten niet met aannames.

De uitkomst is ongemakkelijk maar simpel. Een Nederlandse app met een nette privacyverklaring kan je toestelprofiel elke seconde de wereld over sturen, langs een veiling waarvan de deelnemerslijst per keer verandert. Dat is de structuur van de markt, niet een incident bij één aanbieder.

Het praktische gevolg voor een privacyverklaring is streng. Een verklaring die stelt dat gegevens binnen de EU blijven, is bij een actieve RTB-integratie moeilijk waar te maken, tenzij de deelnemers aantoonbaar tot de EER beperkt zijn. Dat kan technisch, met een besloten opstelling en een gecontroleerde deelnemerslijst, maar het is dan een keuze die je in de configuratie ziet. Waar ik een open exchange met een wereldwijde sellers.json aantref, weegt de belofte van EU-beperking niet op tegen de gemeten breedte van de veiling. De code wint van de verklaring, zoals altijd.

Zie ook Real-time bidding biedt jouw toestel in een veiling aan, in milliseconden, Waar het pakket landt en wie het kan vorderen zijn twee assen en Onverwante apps sturen je profiel dezelfde veiling in.

bronnen
  1. IAB Tech Lab, "OpenRTB API Specification"een biedverzoek kent geen landgrens; iedere aangesloten bieder ontvangt het
  2. Hof van Justitie EU, zaak C-311/18 (Schrems II), 16 juli 2020het kader waaronder doorgifte buiten de EU moet worden beoordeeld
citeer alsBeer, M. (2026, 9 juli). Een biedstroom kan een veiling ingaan waar buitenlandse partijen op meebieden. mickbeer.com. https://mickbeer.com/#een-biedstroom-kan-een-veiling-ingaan-waar-buitenlandse-partijen-op

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