Most B2B CEOs ask me a simple question right now: will interest-based ads still work once third-party cookies are gone or limited? Yes - just differently. The Topics API, part of Chrome's Privacy Sandbox, uses on-device signals to share a small set of interest categories with sites and ad tech without exposing individual browsing histories. Think practical, compliant targeting that trades some precision for sustainable reach. For a quick overview, see Google's summary: Get to know the new Topics API for the Privacy Sandbox.
Google Privacy Sandbox: Topics API Explained
Here is the fast version I give busy leaders: the Topics API is Chrome's privacy-preserving way to enable interest-based advertising after third-party cookies. The browser selects a few high-level interests on the user's device, rotates them weekly, and lets eligible sites or permitted partners read those interests when deciding which ad to show. You get relevant reach without cross-site IDs, plus built-in user and enterprise controls. Expect lower granularity than cookies, a cleaner compliance posture, and signals that refresh week by week (see What is the Topics API? and the Privacy Sandbox Learning Hub).
What I do next:
- Ask DSP and analytics partners about Topics support, timelines, and how they apply the signal in bidding and measurement.
- Plan controlled tests that compare Topics plus contextual against your current paid mix.
- Map Topics interests to first-party strategy, including consent and CRM audiences.
- Define success up front: CTR, qualified demo rate, meeting-set rate, SQO percent, and pipeline value.
Official docs keep it high level. I focus on business impact, a test plan that fits B2B cycles, and clear ROI framing. This guide lays that out.
What Is the Topics API in Privacy Sandbox?
In plain language, the Topics API lets the browser label hostnames with human-readable categories and surface a small set of those categories to participating sites each week. Core parts:
- A public, curated taxonomy of interests that Chrome maintains.
- Weekly windows where the browser selects up to three recent interests.
- On-device inference only. Specific URLs do not flow to ad tech via this API.
What it is not: retargeting. If I need remarketing use cases, I look to the Protected Audience API. It is also not identity-based and does not pass a cross-site identifier.
Quick compare because people ask: Topics API vs FLoC. FLoC grouped users into opaque cohorts and drew heavy scrutiny. Topics uses readable categories, excludes sensitive areas, and adds randomness to curb fingerprinting. It is easier to reason about and control - see the For developers: Topics Explainer and Chrome's developer docs.
Who should care? Advertisers, publishers, and ad tech teams that buy or sell display and video on the open web. For B2B, strong use cases include top-of-funnel expansion, brand prospecting in category-aligned contexts, and creative pre-qualification for enterprise segments.
How the Topics API Works in Chrome
Here is the practical flow I use to guide strategy and implementation:
- Chrome classifies hostnames a user visits into a public taxonomy. A developer site might map to Programming; a security blog to Cybersecurity.
- Each week, Chrome selects up to three top interests, one drawn from each of the last three weekly windows.
- There is a small chance one topic is random to reduce fingerprinting risk.
- When an eligible site or permitted third party runs the API, it can receive up to three topics, subject to Permissions-Policy and other limits.
Key constraints:
- Short retention: Topics rotate weekly with a typical three-week lookback.
- Rate limiting: An origin cannot read unlimited topics for a user in one session.
- Strict permissions: Sites must explicitly allow the feature; frames must be permitted.
- Sensitive categories are excluded by design.
- Users can view, remove, or disable topics in Chrome settings. Incognito/private browsing disables the feature.
Impact compared with cookies:
- Lower granularity: you lose hyper-specific retargeting precision.
- Steadier reach: broad categories refresh weekly, helping signals stay current.
- Better freshness than legacy interest buckets that seldom updated.
A Practical Topics API Guide for Advertisers
I treat Topics as a new channel tactic that pairs with first-party audiences and contextual.
Strategy and planning
- Map the taxonomy to ICPs. Identify clusters that match your categories (for example: cybersecurity, enterprise software, cloud services, dev tools, fintech infrastructure, data platforms). Use the public taxonomy to create concise allowlists and negative lists, knowing some B2B niches will be broader than ideal. See the initial list and the updated list.
- Creative and landing pages. Build variants for each cluster. A security-focused creative can point to a threat report; a data-team variant to a warehouse optimization case study. Relevance wins when the signal is broad.
- Media setup. Confirm whether your DSP supports Topics and how it blends the signal with contextual and first-party data. Where available, enable Topics alongside contextual, then layer consented first-party audiences. Test open exchange and curated PMPs.
- Measurement. Design A/B tests that compare Topics plus contextual versus contextual only. Track CTR, qualified demo requests, meeting-set rate, SQO percent, and pipeline value. Give tests 2-4 weeks so weekly topic rotation stabilizes; segment Chrome traffic explicitly.
- Budgeting. Start with enough spend to reach directional significance on your primary KPI, then scale. Phase by region or product to keep readouts clean.
Governance and brand safety
- Document topic allowlists and negatives, including ownership and update cadence.
- Keep a change log linking creative themes to topic clusters and dates.
- Confirm supply partners respect permission policies and do not mix in non-consented identifiers or probabilistic IDs.
Note for B2B: official docs rarely address longer sales cycles and narrow ICPs. I get the most lift by aligning topic clusters to the content strategy and measuring against pipeline, not clicks alone.
Privacy Implications of Topics
Privacy is the point. The system keeps inference on device, rotates interests weekly, injects a bit of noise, and relies on permission gates. Sensitive categories are excluded, and sites control availability. For more, see the Privacy Sandbox Learning Hub.
Compliance guidance
- Obtain and respect user consent under GDPR/CCPA. If a user declines ad-related processing, do not call the API.
- Honor user and enterprise opt-outs. If a managed device disables Privacy Sandbox features, treat Topics as unavailable.
- Avoid combining Topics with probabilistic IDs or hidden signals. That undermines privacy intent and raises regulatory risk.
- Document data flows. Log API read frequency, retention, and use cases in your DPIA/ROPA. Keep records updated as APIs evolve.
Cookies vs Topics at a glance
- Identifier type: cross-site ID (cookies) vs no ID, category hints (Topics).
- Data origin: server-side aggregation across sites (cookies) vs on-device classification (Topics).
- Retention: months or more (cookies) vs roughly three weekly windows (Topics).
- Precision: high, user-level (cookies) vs moderate, topic-level (Topics).
- Sensitive data risk: higher (cookies) vs lower by curated design (Topics).
- User controls: cookie settings/blockers (cookies) vs Ad privacy settings (Topics).
- Abuse risk: cross-site tracking (cookies) vs randomness and permission policy (Topics).
Regulator view: authorities expect privacy by default, purpose limitation, and minimization. Topics moves you closer to those principles, but it does not remove the need for consent, data maps, and audit trails. I plan that paperwork early so campaigns do not stall later.
Developer Implementation for the Topics API
Here is a minimal, practical path for web teams.
Set Permissions-Policy headers
NGINX
add_header Permissions-Policy "browsing-topics=(self 'https://your-ad-partner.com')" always;
Node with Express
// Allow the current origin to call Topics
res.set('Permissions-Policy', 'browsing-topics=(self)');
Gate the API behind consent
// Example: only call if the user consented to ad-related processing
async function getTopicsIfAllowed(consent) {
if (!consent?.ad_storage) return [];
if (!document.browsingTopics) return [];
try {
const topics = await document.browsingTopics();
// send topics to your ad decision endpoint
await fetch('/ad-decision', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ topics })
});
return topics;
} catch (e) {
return [];
}
}
Eligibility notes
- The caller must participate. The page or an allowed third party can call the API only if the Permissions-Policy lists them.
- Cross-origin reads require explicit allowlisting by the top page.
- Subresource and frame contexts must be permitted via header or the iframe allow attribute.
Fallbacks when Topics is unavailable
- Rely on contextual signals like page content and URL patterns.
- Use consented first-party audiences from CRM/CDP.
- Keep caching tight so decisioning remains fresh without the extra signal.
Implementation essentials
- Permissions-Policy set and verified in production.
- Consent gate wired and tested.
- API read frequency capped and logged.
- Decision endpoint updated to handle topics, contextual, and first-party inputs.
- QA across major browsers to ensure graceful fallback.
Test the Topics API with Chrome DevTools
You can validate end-to-end quickly.
Workflow
- Confirm Ad privacy toggles are on. In Chrome: Settings > Privacy and security > Ad privacy > enable Ad topics.
- Seed your profile. Visit a mix of category-rich sites over a few days so Chrome has signal. For longer tests, run through two or three weekly rotations.
- Verify headers. In DevTools, open Network, inspect your page, and confirm the response includes Permissions-Policy: browsing-topics.
- Read topics on page. In the Console, run:
await document.browsingTopics();
You should see up to three entries with taxonomy IDs and names.
- Inspect internals during development. If available, chrome://topics-internals shows current topics and lets you clear them.
- For labs, check chrome://flags for Privacy Sandbox features you can toggle.
Troubleshooting
- Empty array returned: not enough browsing history, feature off in settings, or origin not eligible.
- Permission error: header missing/mis-scoped, or a frame context is blocked.
- Different topics than expected: randomization and weekly windows affect recency.
Opt Out of the Topics API in Chrome
Users can turn it off quickly: Chrome Settings > Privacy and security > Ad privacy > turn off Ad topics.
Site and publisher controls
- Disable the feature at the origin level with:
Permissions-Policy: browsing-topics=()
- Control frames. Allow or deny specific partners via header scope or the iframe allow attribute.
Enterprise controls
Managed devices can disable Privacy Sandbox APIs through Chrome Enterprise policies. Admins can set policies that remove Topics access across the fleet.
When Topics is off
- Ads still run, but you lose the interest hint; decisioning relies on contextual and any consented first-party audiences.
- Reporting shifts. Expect small changes in CTR and match rates compared with traffic where Topics is available.
Frequently Asked Questions
Does Topics replace FLoC?
FLoC built opaque cohorts from browsing behavior. Topics uses human-readable categories, excludes sensitive areas, and adds noise to reduce risk. This design improves transparency and control. Learn more about FLoC.
What is the rollout timing relative to third-party cookie deprecation?
Topics is available in current Chrome builds with staged experiments. Chrome announced its Privacy Sandbox milestones, and Google provides periodic updates on status and timelines in Next steps for Privacy Sandbox and tracking protections in Chrome. Expect overlap with third-party cookies for some time, which makes side-by-side testing useful.
How do I control and opt-out?
Users can switch off Ad topics in Chrome settings. Sites can disable the feature with Permissions-Policy. Enterprises can disable Privacy Sandbox APIs with Chrome policies (see the opt-out section above).
Where is the taxonomy?
Chrome maintains a public, human-curated taxonomy with sensitive categories excluded by design. Review the initial list and the updated list, and document which parts you plan to use.
What about sensitive groups and inference risk?
The taxonomy avoids topics tied to sensitive attributes. Still, combining multiple signals to infer sensitive attributes is risky. I avoid that pattern and document controls that block it.
What data is used each week?
Chrome labels hostnames, not people, with topics. The browser then picks up to three topics from the last three weekly windows, with a small chance of randomization. Selection happens on device.
Do Safari or Firefox support Topics?
Not today. Topics is a Chrome feature. I plan for varied reach by pairing Topics with contextual and first-party audiences across other browsers.
How do I measure ROI?
Run split tests that compare Topics plus contextual against your current baseline. Track CTR, qualified demo rate, meeting-set rate, SQO percent, pipeline value, and cost per qualified opportunity. Segment by browser.
How does Topics work with the Protected Audience API?
They are complementary. Topics helps with broad interest targeting; Protected Audience enables remarketing without cross-site cookies. I use both where relevant.
A Parting Thought
Topics trades some precision for predictability and compliance. That can feel like a step back, yet it becomes a step forward when I pair topic signals with sharp creative, clean consent, and a content engine aligned to my ICP. I am not giving up control; I am choosing an approach that keeps working as the web tightens privacy rules - exactly the kind of decision that compounds over time.