I otte artikler har bid requestet været noget, der sker for dig.
Browseren udfylder enheden. CMP'en udfylder consent stringen. Supply chainen udfylder sig selv, hop for hop. Du konfigurerer det hele, du kontrollerer meget af det, men du forfatter det ikke. Det er en stak fakta om impressionen, rapporteret op gennem røret.
Denne del er undtagelsen.
user.dataogcontent.dataer de eneste felter i hele requestet, som du selv skriver. Ikke browseren, ikke SSP'en, ikke en eller anden vendors script. Dig. De er publisherens egen replik i en maskinlæsbar auktion: Her er, hvem jeg tror, denne læser er, her er, hvad denne side handler om, og her er, hvad jeg er villig til at fortælle dig om det.
Og her kommer det ubehagelige. De fleste publishere lader de felter stå tomme. Og de, der ikke gør, begår ofte den modsatte fejl: De tager deres allerbedste målgruppesignal og råber det ud til hver eneste bidder i open auction – gratis.
Det er det dyreste gratis, en publisher gør. Denne artikel handler om i stedet at gøre det med vilje – og derefter om at forvandle det ene selvforfattede felt til et egentligt produkt, for det er dér, pengene er.
Sidste gang argumenterede jeg for, at tillidslaget – ads.txt, sellers.json, schain – i virkeligheden er publisheren, der beslutter, hvad den vil afsløre om sig selv: hvem der ejer dette inventory, hvem der forvalter det, hvem der må sælge det. Del 9 er præcis det samme instinkt, rettet ét skridt udad.
Sidste gang: hvad du afslører om, hvem du er. Denne gang: hvad du afslører om, hvem der læser. Samme disciplin. Højere indsats. For i 2026 er det, du vælger at lægge i disse felter, ikke en nice-to-have-berigelse. Det er det sidste holdbare signal, du ejer.
Fire begreber, i al hast:
*Data- og Segment-objekterne er bittesmå – to nestede objekter, genbrugt to steder. Det er hele overraskelsen ved dette lag: Mekanismen er lille. Strategien er det ikke.
Her er rygraden i hele artiklen. Når en publisher skriver data ind i bid requestet, udfylder den ét af tre felter – og de er ikke det samme. De besvarer tre forskellige spørgsmål, og de bærer tre meget forskellige privacy-vægte.
user.eids – "Ved jeg overhovedet, hvem det her er?" Det tungeste felt i requestet, fordi det er en egentlig identifikator. Kun indloggede brugere, hvilket i praksis er et mindretal af din trafik.user.data (med segtax) – "Hvordan er denne læser?" En kohorte, ikke en person. "Interesseret i boligrenovering", ikke "netop dette menneske". Bag samtykkeporten, men lettere end identitet.site.content.data (med segtax) – "Hvad er de her for?" Om siden, ikke personen. Den letteste vægt af alle – og, som vi skal se, den, der overlever alt.
Her er alle tre i ét og samme request:
{
"user": {
"eids": [
{ "source": "id5-sync.com", "uids": [ { "id": "ID5*..." } ] }
],
"data": [
{ "name": "stepnetwork.dk", "ext": { "segtax": 4 }, "segment": [ { "id": "44" } ] }
]
},
"site": {
"content": {
"data": [
{ "name": "stepnetwork.dk", "ext": { "segtax": 7 }, "segment": [ { "id": "687" } ] }
]
}
}
}
Tre felter. eids er identitet (del 4). segtax: 4-blokken er en målgruppekohorte. segtax: 7-blokken er kontekst. Bemærk, at eids nu ligger på øverste niveau af user – det blev forfremmet fra user.ext.eids til core i OpenRTB 2.6, præcis den oprykning fra ext til spec, jeg hamrede løs på i del 7.
Visualisering genereret med claude.ai
Designprincippet, der er værd at holde fast i: De kan skilles ad. En privacy-bevidst publisher kan afsløre målgruppe uden at afsløre identitet. Du kan fortælle en køber "denne læser ligner en boligforbedrer" uden at fortælle dem, hvem læseren er. Spec'en advarer aktivt mod at blande de to sammen. Data er "hvordan de er, i en mængde". eids er "præcis hvem". Publisher-datastrategi er beslutningen om, hvilke af de tre man vedhæfter – til hvem og under hvilket samtykke.
Der findes et navn for den privacy-sikre udgave af målgruppefeltet: Seller-Defined Audiences (SDA). IAB Tech Lab udgav det i februar 2022, og idéen er elegant. Nu hvor cookies og mobile ID'er forsvinder, så lad sælgeren – publisheren – definere en kohorte på sine egne servere, mappe den til en standard-taksonominode og kun sende det anonymiserede nodenummer med i requestet. Ingen cookie, ingen identifikator på tværs af kontekster, ingen lækket person. Bare: "node 44, fra Audience Taxonomy".
Det kører på præcis mekanismen ovenfor, med to konventioner: målgruppe-SDA lægges i user.data med segtax: 4; kontekst-SDA lægges i content.data med segtax: 7. Og så til den ærlige del, for her er jeg nødt til at være direkte.
SDA har haft det svært. Det er et ægte hønen-og-ægget-problem: Købere siger, der ikke er nok af det at byde på, publishere investerer ikke, fordi køberne ikke byder, og så længe third-party cookies klamrede sig fast, var ingen tvunget til at interessere sig. (Det er vist ikke første gang, vi har haft de problemer med noget nyt, lol)
Købere er også mistroiske over for den sorte boks – de kan ikke se, hvordan du har bygget en kohorte, og du har al mulig grund til at overdrive etiketten. I december 2024 repositionerede IAB Tech Lab, med henvisning til svag adoption, SDA under et nyt banner: "Curated Audiences".
Så rørføringen er stabil og bredt installeret. Det brandede produkt er blevet omdøbt to gange. Begge dele er sande, og mellemrummet mellem dem er det mest interessante ved hele dette område.
Her er den del, næsten enhver "hvad er der i bid requestet"-gennemgang springer over – og det er hængslet, hele strategien svinger på.
Du behøver ikke afsløre de samme data til hver bidder.
De fleste forestiller sig bid requestet som én udsendelse: Du samler det, du fyrer det af, alle ser det samme. Det er standardindstillingen, og det er et valg, de fleste publishere træffer ved et uheld. Men Prebid giver dig en skalpel. Du kan forfatte forskellige data til forskellige bidders på selvsamme impression.
Client-side hedder det setBidderConfig:
// Afslør en premium first-party-kohorte KUN til de to partnere, der har licens til den
pbjs.setBidderConfig({
bidders: ['adform', 'appnexus'],
config: { ortb2: { user: { data: [
{ name: "stepnetwork.dk", ext: { segtax: 4 }, segment: [{ id: "44" }] }
] } } }
});
De to bidders får kohorten. Alle andre får requestet uden. Server-side findes der en allow-list, som gør det samme job. Og der findes et modul, hvis eneste formål er "læk ikke det her"-ventilen, som fjerner identitet og seller-defined segmenter fra de requests, du ikke vil have dem i.
Hvorfor betyder noget af det her noget? På grund af én kontant kendsgerning om open auction:
Bidstream-data lækker, uanset om nogen køber.
Dit målgruppesignal ryger ud med hvert request. En køber, der taber auktionen – eller som aldrig havde tænkt sig at byde – modtager det stadig, læser det og kan beholde det. For hver impression, en køber rent faktisk betaler for, kan den høste data om hundredvis af sidevisninger, den intet betalte for. Brian O'Kelley har den formulering, jeg bliver ved med at vende tilbage til: Data er nedfald, ikke olie. Det er et biprodukt, publishere forærer væk – ikke et aktiv, de bliver betalt for.
Det omdefinerer hele opgaven. Hvis din bedste first-party-kohorte går til tolv bidders i open auction, har du udleveret din målgruppe til tolv virksomheder og fået betaling fra højst én. Så sell-side-svaret er ikke "send flere data med". Det er at matche beholderen til værdien:
Visualisering genereret med claude.ai
Hos STEP Network forfatter vi user.data og content.data for 100+ danske publishere, og at beslutte, hvem der ser hvad, er en reel del af jobbet. En boligsektion på boligsiden.dk er kontekstuel, så den går bredt ud. En indlogget læser på en af vores Jysk Fynske Medier-titler er en målgruppekohorte, og den går kun til de partnere, der har licens til den. Samme auktion. Forskellige data. Med vilje.
Det er forskellen på en publisher og et utæt rør: tilladelseslisten. Men tilladelsesstyring er kun disciplinen. Den reelle løftestang er, hvad du lægger i de kontrollerede beholdere – og det er dér, data holder op med at være et felt og bliver et produkt.
At udfylde user.data med et råt signal er adgangsbilletten. De publishere, der trækker fra, gør noget mere bevidst, og det koger ned til tre træk.
Træk 1: Produktificér dataene. Udsend ikke rå signaler – pak dem ind i et lille sæt standardiserede, vægtede, reelt købbare segmenter. Det er tankegangen bag vores eget målgruppeprodukt, OMNISEG: én løsning, der blander seks datatyper (kontekstuel, first-party, third-party, IP, deterministisk og probabilistisk) og automatisk vægter den, der performer bedst for kampagnen. Pointen er ikke de seks inputs. Det er, at køberen aldrig rører dem. De køber én ren målgruppe, og den rodede blanding af flere kilder foregår nedenunder. Der gemmer sig også håndværk derinde: Den interne kildeprioritering vender afhængigt af segmentet. For et interessesegment stoler vi først på adfærdsmæssige og kontekstuelle signaler; for et demografisk segment stoler vi først på deterministiske, registrerede data. Køberen ser intet af det. De vil have ét segment, der virker – ikke din datapipeline.
Enkelhed er produktet, ikke et kompromis. En hyldevare-impression på det åbne marked kan ikke tilbyde det med data af samme kvalitet.
Træk 2: Forankr det på en CDP. Her er pointen, de fleste overser: Et segment er kun så holdbart som den identifikator, det rider på. Byg en smuk first-party-kohorte, aktivér den naivt, og ad-serveren oversætter i al stilhed dit first-party-ID til sit third-party-ID længere nede i kæden – hvor Safari, Firefox og nu Chrome dræber det ved første øjekast. Du gjorde det hårde arbejde og afleverede det direkte til browserens blokeringsliste.
En CDP – en customer data platform: én samlet first-party-profil med ét ID – er det, der stopper det. Du holder selv first-party-ID'et, og du aktiverer segmentet på dit eget ID gennem first-party-kroge – fx Googles Publisher Provided IDs, hvor du sender dit eget ID med requestet, og Google matcher dine opfyldte segmenter til det, i stedet for at udstede et third-party-ID, der dør i to af de tre store browsere. Alle har travlt med at indsamle first-party data lige nu; efter sigende udvider over 70 % af brands og publishere deres first-party-datasæt, næsten dobbelt så mange som for to år siden. Indsamlingen var aldrig den svære del. Det er at aktivere dem holdbart. Din målgruppestrategi er kun så stærk som din identitetsrygrad.
Træk 3: Kombinér det med annoncørens data i et clean room. Et clean room er et neutralt, aflåst miljø, hvor to parter matcher data og kun får et aggregeret resultat ud – uden at nogen af dem ser den andens rå poster. Den mest værdifulde målgruppe er ikke bare din eller annoncørens – det er overlappet, og tricket er at beregne det overlap, uden at nogen af siderne udleverer rå persondata. Annoncøren hasher sine kunde-e-mails, du matcher dem mod dine profiler inde i clean roomet, og det, der kommer ud, er et sæt anonymiserede labels, der driver en always-on-kampagne. Ingen sender en rå e-mailliste nogen steder hen.
Grunden til, at jeg regner det her for strategi og ikke bare teknik: Det, der som regel slår clean rooms ihjel, er fragmentering, ikke teknologien. Hvert mediehus bygger sit eget, hver annoncør møder en ny spec og en ny juridisk kontrakt, og friktionen kvæler det hele. Løsningen er at standardisere det. I Danmark er det dét, DAMA Cleanroom Framework gør – én fælles juridisk aftale, ét filformat, én label-taksonomi, taget i brug af STEP Network, JP/Politikens Hus, Berlingske og TV2. Konkurrenter, der standardiserer rørføringen, netop så de kan konkurrere på segmenterne i stedet for SFTP-opsætningen. Som DAMA formulerer det, flytter det konkurrencen op i værdikæden: fra teknisk friktion til egentlig værdiskabelse. Og der er reel plads her – retail media er et marked på ~70 mia. dollars i 2026, og alligevel tilbyder under halvdelen af medienetværkene overhovedet et clean room.
Tre træk, én retning: Hold op med at behandle dine data som et felt, der skal udfyldes, og begynd at behandle dem som et produkt, der skal bygges.
Her er den kommercielle gevinst, og det er hele grunden til, at strategien betyder noget.
Data plus inventory, pakket sammen, er noget, en køber kun kan få hos dig. En impression på det åbne marked er en hyldevare – det samme slot, som tusind andre sites sælger ind i den samme auktion. Den samme impression med din produktificerede målgruppe vedhæftet, holdbart aktiveret, er differentieret supply. Og differentieret supply er dét, der gør sig fortjent til en direkte eller kurateret aftale i stedet for et open auction-kapløb mod bunden.
Markedet har allerede stemt. Mere end to tredjedele af open exchange-forbruget – over 100 mia. dollars om året – flyder nu gennem kuraterede private marketplaces frem for den rene open auction. Det åbne marked er ikke længere dér, hvor pengene er. Købere vil i stigende grad handle op mod en publishers unikke data, direkte, og skære kæden af mellemled og fees mellem dem og kilden væk. Det er det samme instinkt, der ligger bag ethvert "køb direkte"-fremstød i markedet lige nu, bare set fra sell-siden: færre hop, mere værdi, en relation i stedet for et kapløb.
Det her er alternativet til den "nemme vej" – at dumpe alt i AdX og det åbne marked og lade auktionen gøre dig til en hyldevare. Tag den nemme vej, og du er pristager. Byg det unikke, og køberne kommer til dig.
Jeg holder det ærligt, for ellers ville finalen ikke være min. Kuratering kan bare flytte skatten – bytte et åbent markeds-fee ud med en kurators fee og efterlade publisheren med det samme nettobeløb, en fair kritik, jeg selv rejste tilbage i kurateringsdebatterne. Og det rejser et reelt uafklaret spørgsmål: Når din målgruppe først er kurateret hos SSP'en, hvem ejer den så – dig eller kuratoren?
Mit svar er den tråd, der løber gennem alle tre træk ovenfor: Du ejer den ved at eje stacken. Byg selv målgruppeproduktet, identitetsrygraden og clean roomet – eller vær medejer af dem som fælles publisher-infrastruktur som DAMA – og marginen og målgrupperelationen bliver på sell-siden.
Hagen, og det vil jeg ikke lade som om ikke findes, er, at det her er dyrt, og at ikke enhver publisher kan gøre det alene – hvilket er præcis derfor, ruten med fælles infrastruktur betyder noget. Men det er en større samtale, og ærligt talt et emne til sin helt egen artikel.
Skræl JSON'en væk, og det her er en kort liste af kommercielle beslutninger, enhver publisher kan handle på:
Tommelfingerreglen, jeg vil efterlade dig med: Hvis du afslører det til alle gratis, har du ikke en datastrategi – du har et datalæk. Felterne er gratis. At beslutte, hvad der skal bygges, og hvem der får lov at læse det, er hele jobbet.
Et sidste blik ud over horisonten, for det er dér, dette lag holder op med at være rørføring og bliver selve pointen.
I en agentisk verden vil AI-købsagenter ikke crawle open auction impression for impression. De vil opdage inventory ved at læse en publishers strukturerede beskrivelse af sin målgruppe og sit indhold – og derefter forhandle direkte. Når det sker, holder dine deklarerede data op med at være et targeting-signal og bliver din butiksfacade. Og læg mærke til det – alt i strategien ovenfor er generalprøven i menneskeskala på præcis dét. Et produktificeret segmentkatalog er en butikshylde. En CDP er det, der gør det aktiverbart. Et standardiseret clean room-framework er det tillidslag, agenterne får brug for. At kuratere ind i direkte aftaler er destinationen.
Standarderne er virkelige og meget nye. AdCP (Ad Context Protocol), lanceret i oktober 2025 og bygget på Anthropics MCP, er kontrollaget – hvordan agenter opdager inventory, forhandler vilkår og eksekverer. På datasiden har IAB Tech Lab samlet sit arbejde under en paraply, de kalder AAMP, med Agentic Audiences – standarden tidligere kendt som UCP, doneret af LiveRamp – som laget til udveksling af identitets- og kontekstsignaler. Bemærkelsesværdigt nok synger IAB Tech Lab og AdCP-lejren ikke fra samme salmebog, hvilket fortæller dig, hvor tidligt og hvor omstridt det hele er.
Og det er det ærlige forbehold at slutte på. Vi har været her før. OpenRTB 3.0 skulle også have været fremtiden, og markedet migrerede aldrig. SDA er blevet repositioneret to gange og mangler stadig buy-side-demand. Om agentisk discovery bliver markedet eller går i stå som 3.0, er reelt til debat – standarder betyder kun noget, når markedet ratificerer dem.
Men instruksen til publishere er identisk uanset hvad: Byg produktet, ej rygraden, beslut, hvad du afslører. Det gælder, uanset om læseren i den anden ende er en DSP i dag eller en agent i morgen.
Datalaget er den ene del af bid requestet, du ikke arver – du skriver den selv. Tre felter, tre spørgsmål: identitet (user.eids – ved jeg, hvem det her er?), målgruppe (user.data – hvordan er de?) og kontekst (content.data – hvad er de her for?). I en verden uden et universelt ID og med en død Privacy Sandbox er det, du vælger at lægge i de felter, din addressability.
Men at forfatte dataene er kun begyndelsen. Fordelen ligger i det, du bygger ovenpå: Produktificér dine signaler til købbare segmenter, forankr dem på en CDP, så de overlever browseren, kombinér dem med annoncørdata i et clean room, og pak resultatet ind i direkte aftaler, der trækker købere væk fra det åbne hyldevaremarked. Afslør kontekst bredt, identitet og premium-kohorter snævert og kronjuvelerne kun i betalte, kontrollerede beholdere – og ej stacken, så værdien forbliver din. De publishere, der vinder næste fase, bliver ikke dem, der sender flest data med. Det bliver dem, der bevidst beslutter, hvad de bygger, hvad de afslører, og til hvem.
Det var serien. Ni dele om, hvad der egentlig gemmer sig i et bid request – og denne sidste om, hvad du vælger at sige tilbage.
Lad os hjælpe dig med at få maksimalt ud af dine display-kampagner.