Targeted advertising is a problem on the internet. Don’t get me wrong; there’s nothing inherently wrong with advertising in and of itself. It’s a way for companies, small websites, mobile games, and more to make money. Many Youtube creators are ad supported, and that’s great!
The problem is that of targeted advertising. This is where advertising companies (like Facebook/Meta and Google) will stalk you across the internet to determine your interests and serve you ads based on these. In a perfect world, this might work fine, but we do not live in a perfect world. This information collected by advertisers could be used in the future to target political enemies, discriminate against people based on race, interests, or beliefs, or cause any number of harms we don’t even know about yet! This doesn’t include that this information could be the subject of a data breach, allowing hackers to know the personalities, interests, and browsing habits of millions of people across the world.
The goal of FLoC and Topics
FLoC is Google’s first attempt to change all of this. The reason ad companies track you across the internet is that they need to know your interests, right? So why don’t we just have your browser tell the advertising companies what you’re interested in so that they don’t have to track you? This way, both parties win: the advertising companies serve you relevant ads you’ll be more likely to click on, and you don’t get stalked across the internet.
This could be a good system, but among others, there’s a major issue with FLoC:
Browser Fingerprinting
In order to understand this problem with FLoC, you need to understand what browser fingerprinting is.
Nowadays, in order to track you, ad companies will try to develop a “digital fingerprint” for your browser. They will do this by finding everything unique about your browser and putting that into a list. Then, whenever a user accesses a website with their tracking or analytic scripts (which is much more often than you’d think), they’ll try to identify you based on your browser.
Let’s take 4 random people. Let’s say that 2 of those people use Firefox and 2 of them use Google Chrome. Let’s also say that 2 people use Macs while the other 2 use Windows. With just this information, you could identify any one of the four people by only looking at what kind of computer they use and which browser they use.
Now, scale this up and apply it to everyone on the internet. This time, however, look at all of the information collected by every website you access. This doesn’t even include other methods of identifying people like scroll speed, typing speed, mouse movements, etc. Anything that is unique to you or to your browser could be used to identify you among a sea of users. A VPN can slightly help, but most of this information won’t be anonymized by a VPN.
While not all ad companies may use all of this information, there are some that will, so our goal should be to try to stop even malicious companies from tracking users.
Now, FLoC, while it had admirable goals, doesn’t prevent against fingerprinting. In fact, personal interests shared by FLoC will just be used as another datapoint to identify users. While FLoC had a good intention, it ultimately fails in practice.
The Topics API
After major backlash against FLoC, Google proposed a new specification in order to fix some of the major issues with FLoC: the Topics API. The Topics API is a revision to FLoC which intends to fix this (as well as a few other) concerns.
As listed on the specification page, here is how Topics tries to fix this issue:
The Topics API significantly reduces the amount of cross-site identifiable information. The coarseness of the topics makes each topic a very weak signal; different sites receiving different topics further dilutes its utility for fingerprinting.
https://github.com/jkarlin/topics#evolution-from-floc
This says that they took two steps to try to fix this. First they made the list of available topics more broad. While this helps, it would still be possible for advertisers to track users based on these. The more major change they made, however, is that browsers will return only some of the topics they store from a user. The browser will return three random topics out of 15 topics relevant to the user (with a 5% chance of returning an irrelevant topic instead to add some extra privacy). The topics will cycle every week in order to make long-term tracking harder. In addition, advertisers will only learn about topics if they’ve “seen” the user on websites about the given topics. So if an advertiser has never seen a user on a website about arts and entertainment, that advertiser won’t learn that that user likes that topic.
While Topics is better than FLoC, there are also bad side effects to keep in mind.
As silver5753 points out on Github, a large company (like, I don’t know, Google) with trackers on many websites could see many different topics sent from the same browser (determined to be the same browser via other fingerprinting methods). Then, they could use this information to determine which 15 topics are actually relevant to the user and ignore the fakes. Even though Google’s spec says advertisers won’t be given access to users’ topics unless they see a user on a site with a topic, a large advertiser with a presence on nearly every website would soon gain access to all of a user’s topics. In other words, big advertisers could use Topics to confirm what they believe about users’ interests and simply add to their knowledge rather than stopping their invasive tracking and only using Topics.
On the other hand, Topics could be an effective way of allowing smaller advertisers to provide ads relevant to a user. It seems that it could accomplish it’s mission, but nothing prevents these advertisers from selling data collected on users to one company in exchange for learning more specifics about a specific user.
Conclusion
My conclusion is that neither FLoC nor Topics are the future. I’m torn; on one hand, I don’t like ads. I pay for Youtube Premium so that I don’t have to deal with ads and I try to avoid ads wherever I can. On the other hand, I realize that ads are a major source of income for many websites and it’s the only way some sites can stay afloat! I think something more like Brave or Mozilla and Scroll’s approach may be the way to go, but ultimately, we need to support websites and creators in some way.
Hosting a website isn’t free – I know this from experience! It just comes down to a question of how websites can stay free when hosting a website costs money. I don’t think either of Google’s proposed solutions will be the future, but I’m ready to admit that I don’t know the answer. I hope that a happy medium can one day be achieved and we can find a way to support a free web without requiring invasive tracking, but I don’t think FLoC or Topics is the way to do this. Ultimately, maybe we don’t need ads relevant to our browsing history; maybe our ads should only be relevant to the page we’re currently on! The future is a blank slate; let’s look for a solution that lets us have a free web but which doesn’t force users to give advertisers a list of their interests.