v144 · privacy · demo
Contextual Fallback
Protected Audience ran interest-group auctions in a fenced frame. With it removed, the primary ad-relevance replacement is contextual targeting: match the current page’s content against an ad catalog, server-side or client-side, with no cross-site user data. Type page content below and watch the selector match the best ad.
Protected Audience (FLEDGE) is removed in Chrome 144.
navigator.runAdAuction no longer exists. Contextual targeting — signals derived purely from the page being viewed — is the cleanest, most privacy-preserving replacement.
navigator.runAdAuction: checking…
page content (contextual signals)
Type or paste content representing the page being viewed. The selector extracts keywords and scores each ad.
selected ad:
Click "Match Ads" to select an ad based on page context.
matched keywords:
ad catalog
No user data, no cross-site tracking — pure keyword-based relevance.
match log:
run a match to see scoring…
the pattern
// Contextual targeting: no user data, no cross-site state
const AD_CATALOG = [
{ id: "ad-1", title: "...", keywords: ["perf", "devtools"], cta: "Learn more", url: "#" },
// ...
];
function selectAd(pageText) {
const words = pageText.toLowerCase().split(/\W+/);
const scored = AD_CATALOG.map(ad => ({
...ad,
score: ad.keywords.filter(kw => words.includes(kw)).length,
}));
scored.sort((a, b) => b.score - a.score);
return scored[0].score > 0 ? scored[0] : null;
}
// Call server-side for production:
// POST /contextual-ad { pageKeywords: extractKeywords(document.body.textContent) }
// Server returns a single pre-rendered ad — no bidding, no fenced frame.