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.

see also