Ask HN: Did Facebook just stop fighting adblockers?

52 points by robgibbons ↗ HN
One of my hobbies is writing userscripts, specifically adblockers for sites I frequent. Facebook in particular proved a great and worthy adversary on that front, thanks to their attempts to thwart my userscripts. Until very recently, they employed a unique combination of obfuscation techniques to prevent adblockers from programmatically identifying and removing their "Sponsored" posts.

Anyway, until recently I had a working (albeit hacky) adblock heuristic for Facebook that did the job. However, sometime today I noticed that my script stopped working.

Upon further inspection, they seem to have gone back to simply embedding the word "Sponsored" in plaintext, making it trivial for userscripts and adblockers to select and remove these elements.

Is it a fluke, or did Facebook just give up fighting adblock?

38 comments

[ 0.17 ms ] story [ 95.0 ms ] thread
Interesting. Just checked fb and sponsored is inside a single span. Maybe they are ab testing.
There were news in the past about laws which compel web companies to make their sites accessible for screen readers for the blind. Aren't FB's obfuscation techniques against the law, because they prevent screen readers from reading/identifying sponsored posts as such?
I think it would be deemed inaccessible in a court of law if there was content you could not read, or you could not navigate between content and submit your own etc. but identifying content as an ad would probably not make it through the courts (especially not if some company like FB had the resources to fight it all the way, at least in the U.S)
Ad blockers were identifying Facebook content as ads by looking for the text "sponsored". For a while, Facebook was fighting this by scrambling that text in ways that would definitely have tripped up a screen reader (e.g. inserting extra hidden letters, reordering letters, etc).
they could also have put the sponsored message into an aria hidden div then the screen readers would be safe. Not difficult to separate out things that mess up automated solutions and screen readers from each other.
that would defeat the purpose of the obfuscation, as whatever screen reader can easily read so can userscript.
first off I suppose there can be lots of different places where aria-hidden would be used. So it might be really silly for userscript to strip out aria-hidden areas.

So then you use aria-hidden on your area with the obfuscated Sponsored text in it. Userscript still needs to handle it just as much as before, and the screen reader is free from dealing with it.

at any rate there is no real connection between these two technologies and if FB wanted to keep something from screen readers but still force userscripts to have to work to figure out what to do about them there would be thousands of ways to make that the case.

So if you're using an accessibility tool, you're not allowed to know which content is sponsored?
you would of course have to take it to court to have the court decide that yes, that was part of the definition of accessibility, I do not think that is part of any of the WAI or WCAG definitions although it would a good idea to ask for it, in fact I guess I will raise the issue later today on a mailing list.

But if you took it to court, in the U.S, if it went all the way to Supreme Court I have hard time believing it would not be denied. So effectively, they are not obligated to let you know which is which.

on edit: in initial discussion it was said " 1.1.1 Non-text Content, or 1.3.1 Info and Relationships." https://www.w3.org/WAI/WCAG21/Understanding/info-and-relatio... might be used as an argument that unidentifiable Ad content would be non-accessible https://www.w3.org/WAI/WCAG21/Understanding/info-and-relatio...

This seems like the perfect way to address ads. If sites must be accessible and sites must clearly separate ads from non-ads then any attempt to obfuscate this will be futile if a working screen reader is the bar.

Has this been tried anywhere in a court?

Now please let us remove "People you may know" and "Suggested for you" crap too.
If you use a desktop browser the extension "social fixer" can do that (no affiliate)
The FBPurity.com browser plugin can do that and a lot more. I've blocked stuff other people Like or Share so I only see what my friends personally post. It makes FB a lot less worse.

Edit: Someone else mentioned the Social Fixer browser plugin which I'd never heard of. On AlternativeTo.net, FBPurity has 33 hearts and Social Fixer has 11. I don't know if that is accurate or not. It may depend on what features you want. Social Fixer is in browser plugin stores. FBPurity used to be but now isn't and must be downloaded directly from their website.

Social Fixer (disclaimer: I am the author) has been around a lot longer than FBPurity, and was the original Facebook extension (originally called Better Facebook). The author of FBP was kicked off Facebook because of his questionable practices and breaking of rules. It's used by more people (at the moment) because he maintains it more actively than I can right now, and he shamelessly promotes it. Over the years, features that appear in Social Fixer mysteriously appear shortly after in FB Purity. That's some background.
Perhaps they decided that the code complexity is not worth the effort (vs. the % of users that will have an adblocker on)
Let's just hope they aren't preparing to launch a cloud
Sorry, I mean a currency
If I'm not mistaken they already did, or are doing it. Some time ago I was getting a lot of ads related to this in my spam inbox: https://www.diem.com/en-us/. It used to be called Libra.

Edit: Actually, it looks abandoned, it was supposed to launch last year. They sold all the assets to Silvergate and nothing happened as far as I can tell.

There was unsurprising massive backlash against Libra at the time and Facebook silently abandoned the project.
Weren't you thinking about an alternative universe ? Dare I say, a metaverse ?
FYI it's one of the recurring question asked during the Q&A and I've heard Mark answer once that it's just not the business Meta is in, their business is connecting people. I thought it was an OK answer, still, how much money are they leaving on the table?
Isn’t their business about selling ads? I thought they would be more honest.
I think it’s important to point out that selling ads is the way to fund the vision for Meta, which is to connect people. I think it is still very true in different parts of Meta (whatsapp for example) which have remained excellent tools for people. Facebook on the other hand has become less and less useful as a tool by diluting its offer with noise and falling in the engagement trap due to FOMO (“we’re going to lose our users and become less relevant as a platform if we don’t optimize on engagement”). That’s my opinion.
I installed a popular ad blocker for facebook from chrome store some months back.

Was surprised that it's still working now. Generally those don't work after a few days.

Why not use uBlock Origin? It works on multiple sites, not just Facebook.
uBlock Origin stopped working on Facebook for me years ago
uBlock Origin doesn't work on Facebook. I don't remember it ever working.
Use the 'element picker' mode of uBlock Origin to just remove the parts[1] of Facebook you don't like or want.

---

[1] i.e. ALL of it. :)

It just going to come up with whatever selector that fits the element under your cursor. On obfuscated sites it's usually some kind of generated mess, randomized classes, randomized element names. Not only they're not constant, they change between reloads of the page.

Not sure how things are on Facebook, my point is that element picker is not a silver bullet.

We need a next generation of adblocker with computer vision that can look at the page and recognize banners visually

Even that didn't work last time I checked, which was years back.

Did it, reload the page, and then watch all the ads still there, but some random div panel getting lost that you need.

Facebook did it intentionally. So that ad blockers don't work.

It works and has always worked for me on Facebook
It sounds like it stopped working when FB declared war on adblockers. It has since become a cat and mouse game. UBlock Origin + relevant lists are likely still your best bet. I can't say for certain how effective they are as I don't use FB but in general the uBlock Origin lists have never taken too long to update, especially with more popular sites.
Ublock origin generally stays on top of things. Haven't used Facebook in a while though.
If you are bored feel free to visit Novinky.cz / Seznamzpravy.cz both one of the most visited news websites in Czechia, they are pretty good with breaking website once you start blocking ads.