browser topics tracking and the prejudiced landlord problem
(8 Sep 2023: added links, copy edit for clarity)
Here’s a little longer explanation of the prejudiced landlord use case from my notes on Google Topics API. First of all, yes, bias in rental and other decisions is still a thing. Business decision makers are not Econ 101 profit maximizers. They’re entire people, with human motivations, good and bad. So any ad platform that’s large enough is going to get a mix of advertisers who want to do good and bad stuff.
If a platform measures, in aggregate, how well the advertisers achieve their goals, the platform is going to measure both the success of money-seekers in getting money, and the success of people with other motivations in achieving their goals. From the ad platform point of view, it’s hard to tell a pure money-seeking landlord, looking for the tenant likely to earn them the most profit, apart from a prejudiced landlord, who is willing to give up on renting to an otherwise suitable tenant if it means they can keep someone from a certain group of people out of their building. Any automated ad platform, unless management makes a substantial positive effort to do otherwise, is going to end up optimizing for the needs of prejudiced advertisers along with the rest.
Automated social media advertising saw this problem in a big way. A big social media site can identify users by membership in a protected group and allow landlords to exclude certain people from seeing an ad. But that turned out to be easy to spot. So how can an ad platform, which because of its size is optimizing for the needs of advertisers with all kinds of motivations, manage to offer housing ads that discriminate against members of protected groups without leaving evidence? That’s where some software components and protocols come together.
Conversion tracking: an advertiser can report to the ad platform whether a sale was made to a particular user.
Topics-based ad placement: an ad platform can place an ad based on topics collected from user browsing history.
Machine learning: the ad platform can optimize the likelihood of conversion of a particular ad.
Now, the discrimination never has to be written down. It’s calculated on the fly by the machine learning system, and ML decisions are notoriously hard to figure out. So,
user membership in a protected group is correlated with browsing topics in some way (could be reflected in either presence or absence of particular topics)
browsing history is classified and mapped to topics, in a way that is correlated both with actual topics browsed and with a pattern of noise and errors introduced by the classifier
user passes browsing topics into an ML system. If the user does examine “their” topics, the user can identify the topics, but not the errors in how topics are assigned, or how those topics, with errors, are correlated with membership in one or more protected groups
advertiser passes conversion data into the ML system. In the case of housing, a “conversion” reflects whether the prejudiced landlord decided to rent the apartment
ML system optimizes for conversions, and “decides” to show fewer ads for the prejudiced landlord’s properties to members of the protected group. It’s nearly impossible to explain why the “decision” was made, so there’s no evidence of the crime.
Won’t members of protected groups just avoid discrimination by blocking certain topics from being shared, or turning off the topics tracking feature? Well, no, because people who don’t expect to be discriminated against will be less likely to take that action, and the ML system will learn to discriminate that way.
Google’s Topics
API
is intended to be a subset of third-party cookies, and of
course all of this is possible with third-party cookies instead of
topics tracking. And the problem is not that the company is choosing to
offer services to enable prejudiced advertisers to achieve their goals,
it’s that because of the need to serve advertisers at large scale,
advertisers with discriminatory goals will be served along with the
rest, in a hard-to-detect way. According to Google’s FAQ,
Chrome can and will take steps to avoid topics that might be sensitive (i.e. race, sexual orientation, religion, etc.). However, it is still possible that websites calling the API may combine or correlate topics with other signals to infer sensitive information, outside of intended use. Chrome will continue to investigate methods for reducing this risk.
While they’re working on that investigation, best to leave this feature turned off.
What to do about it
Most of the web ad revenue comes from a small fraction of the ads.
(It varies depending on how you measure but the 80/20 rule is
a good way to think about it.) If you’re in the 20% of people who either
get the best ads, or would have gotten them if you hadn’t protected yourself, then you
have more impact. And, in my humble opinion, an opportunity and
responsibility to help protect others by taking your own valuable
eyeballs off the market. After turning this stuff off—especially if
you’re the kind of person who would get targeted for the good ads—the
most important step is to either remove all third-party JavaScript and
iframes, or set the Permissions-Policy header on your web
site to protect your users. Simple list of what to
configure: Google Chrome ad
features checklist
2026 update
Someone did the research—not with a real Topics API browser, but with simulated results based on web history data. Srivirote et al., in Inferring Users’ Demographics and Sensitive Interests Using the Topics API | Proceedings of the ACM Web Conference 2026, found
Prior work has shown that the Topics API makes Chrome users vulnerable to cross-context reidentification attacks. In this work, we investigate whether the Topics API can be abused to implement a different privacy attack: accurate inferences of users’ demographics and sensitive interests. To answer this question, we use a real-world dataset of browsing histories—containing over 250,000 unique domains over a span of eight months—to train machine learning models that take topics from the Topics API as input. Of the 19 demographic traits and sensitive interests that we evaluate, we find that all but two show predictive signals. Our findings add to the growing body of evidence that the Topics API is privacy-revealing, not privacy-preserving.
Bonus links
Europe makes unicorns at almost twice the rate of the US, report finds
Will GPT models choke on their own exhaust?
Class-Action Lawsuit for Scraping Data without Permission
The “open source native” principle for software design
CJEU ruling on Meta referral could close the chapter on surveillance capitalism
Stop using Google Analytics, warns Sweden’s privacy watchdog, as it issues over $1M in fines