In part 5 I left you with a somewhat gloomy picture: When consent disappears, you do not go dark – you drop into a worse state. Contextual only. No stored identity. The ad still gets delivered, it just gets delivered for less.
This week we open up that "worse state" and look inside. Because here is what no one likes to say out loud:
Contextual is not the consolation prize. It is the part of the bid request you actually own.
And the timing matters. For years, "signal loss" meant losing the user, i.e. cookies, mobile IDs, the entire identity ladder from part 4. But in 2026 the erosion reached a new layer:
Following a privacy settlement, Google's RTB Control now lets logged-in users send non-personalized bid requests: no device IDs, no IP address and a user agent generalized down to a major version. It is opt-in, logged-in users only, and most people never find the setting – so the volume is tiny today. But the direction is the whole story.
"When the spotlight on the user goes out, the buyer can still see one thing: the stage"
Site. App. Content. Device. Where the impression is and what it sits next to. That is context. And describing your stage well is becoming the difference between a bid and a no-bid in programmatic.
Four quick terms, because this OpenRTB layer has its own vocabulary:
*A third option, dooh, arrived in OpenRTB 2.6 for digital out-of-home. DOOH billboards are bidding now too 🤓
Strip away the jargon, and "context" is just four OpenRTB objects answering four simple questions.
Here is a slimmed-down web request so you can watch the room being described:
"site": {
"domain": "fyens.dk",
"page": "https://fyens.dk/erhverv/...",
"cat": ["IAB13"],
"sectioncat": ["IAB13-1"],
"pagecat": ["IAB13-7"]
},
"device": {
"devicetype": 4,
"connectiontype": 6,
"os": "iOS",
"model": "iPhone15,3"
}
(cat = the whole site: Personal Finance · sectioncat = the section: investing · pagecat = THIS page, the field most publishers leave empty · devicetype: 4 = phone · connectiontype: 6 = 4G — 2 = WiFi, 4 = 2G, 5 = 3G)
Note the three category layers: cat, sectioncat, pagecat. Most publishers fill in the first and stop there. For most use cases, the third layer is where the money sits waiting.
Visualization generated with claude.ai
It is tempting to read all this as damage control: context as what you reach for when the data is gone. That grossly underestimates it.
The evidence is genuinely on context's side:
And I do not only have other people's studies to point to – we have run the test ourselves.
On a workwear campaign, we put the same creative up against three tracks: a contextual segment built around DIY content and two audience data segments – "homeowners" and "home repair". The contextual track won, lifting click-through around 27% above the data.
A streaming campaign told the same story: Contextual beat regular placement on news sites by roughly 20%. And in a car launch test, our own car sites – context in its purest form – beat both a broad run-of-network buy and the contextual segment itself.
Same creative, same inventory. The only variable was whether the ad understood the page.
Why does it work? A running shoe ad next to a marathon training guide does not interrupt the reader – it belongs there. Attention is the scarcest currency we have, and relevance is one of the few things that can reliably buy it. No identity required.
So is context king? Honestly, it depends on where you are in the creative's lifecycle (but I would still say yes, context is king!)
A brand-new creative has no performance history and no audience to retarget – on day one, context is the best signal you have. Further down the funnel, with a known in-market buyer, hard data still earns its place. But for brand building, for the cold start and for everyone the moment identity goes dark – that is where context leads.
But filling in fields is the easy part. Two things separate a request that describes a room from one that merely names it. Merely passing context along is not the same as declaring it.
Yes, that is a deliberate echo of last week – passing the consent string along was not the same as respecting it. Same lesson, new object.
A page containing the word "shot" could be about basketball, photography, a vaccine or a crime. A keyword alone is noise. What a buyer pays for is the meaning: What is this article actually about, and how central is the topic?
So declare two layers, not one:
site.content.data[] that carry a confidence signal. "This page is 0.9 about personal finance" beats "the word finance appears somewhere in here".
And here comes the opinion: That is your job, not the buyer's.
For years, buyers read your pages from the outside with their own crawlers – the most famous was Grapeshot, later renamed Oracle Contextual Intelligence. Then, in 2024, Oracle shut down its entire advertising business after ad revenue had fallen from around $2 billion to $300 million in two years. A category leader in reading context – simply switched off.
The lesson writes itself: Do not outsource all your context to someone who can switch it off.
You know your content better than any external crawler ever will. Your CMS most likely already has the section, the tags, the taxonomy. Push it into the request yourself (via ortb2), and treat semantic vendors like Neuwo or others as enrichment on top of your own signal – not as a replacement for it.
Declared context requires no cookie, no ID, no consent. And that is exactly why it survives everything part 5 described.
Whether buyers consistently respect a relevance score or just treat any match as a match? That is uneven across the industry – and probably a topic for another time.
The other thing the room tells you is what you can sell into it.
Picture a large midscroll outstream video. Heavy file, autoplay, gorgeous on the right screen. Now serve it to an old iPhone on a 3G connection:
The user gets jank, layout shift and a video that stutters or never starts. And you lose the impression anyway: low viewability, no completion – and the part people overlook: Chrome can simply remove it.
Chrome's Heavy Ad Intervention removes any ad without interaction that burns more than 4 MB of network or 60 seconds of CPU (Chrome for Developers). A heavy creative on a weak device is exactly what triggers that mechanism. A removed ad cannot be seen, does not get billed and quietly teaches the buyer that your inventory underdelivers.
The request already gives you everything you need to avoid it: device.connectiontype (4G or 2G?), devicetype, the model, the screen. Client-side you can read it before you even build the ad slot – a simple check like this:
const c = navigator.connection || {};
const fastEnough = c.effectiveType === '4g' && !c.saveData;
if (fastEnough && window.devicePixelRatio >= 2) {
registerOutstreamMidscroll(); // tung video er velkommen her
} else {
registerLightBanner(); // elegant fallback – tjener stadig, ødelægger ikke siden
}
Caveat, because I like being honest: The navigator.connection API really only works in Chrome-family browsers. Safari tells you nothing. So treat it as a bonus signal, not gospel. MDN has the support table.
I am a huge car enthusiast, so to put it simply: Do not put a Ferrari engine in a little Fiat.
And matching format to environment is not just good manners toward the user. Viewability and completion are exactly the metrics that set your floor – so protecting them is yield management.
Two impressions. Same site, same second. One describes its room: page-level category, real relevance, device, connection. The other just says "fyens.dk, banner, 300x250".
The first gets a confident bid. The second gets a shrug.
That gap has always existed. What changed in 2026 is that the who – the user identity that used to cover for a thin request – is being pulled off the table, one privacy setting at a time. As that happens, the where and the what stop being a fallback and become the primary thing you sell.
Visualization generated with claude.ai
That part you as a publisher control completely. So fill it in.
When the request cannot say who, it sells where and what.
Context is the floor under your CPMs that consent cannot remove. The only real question is whether you have made the effort to describe it.
This is the sixth article in the nine-part series What is actually hiding in a bid request?
Let us help you get the most out of your display campaigns.