They do this by adding a ton of useless markup and splitting words like "ad" into single-letter spans with random class names and 8-layer deep nests of `<div>` so it's very hard to write selectors against. One has to wonder how that div soup affects accessibility as I find it very unlikely that this content is presented nicely to assistive tools. I hope they get all the ADA suits they deserve for this.
I recently found this out the hard way. Instagram’s web app has a super annoying popup. To click the comments button for a post, your cursor has to pass over the username, which just happens to launch a profile preview with the “follow” button exactly where the comments button was, causing you to unintentionally follow the account.
I tried to block this popup with uBlock Origin to no avail. No matter what element I selected, it was still there. Finally fixed the problem by deleting my Instagram account.
Last I tried writing custom rules for Facebook was years ago, but they did have proper aria attributes, and uBlock origin does have selectors for text content. These are from 2020:
facebook.com##span:has-text(Suggested for You):xpath(../../../../../../../../../../../../../../../../../..)
facebook.com##div[aria-label="Sponsored"] span[aria-label="Sponsored"]:xpath(../../../../../../../../../../../../../../../../../../../../..)
facebook.com##div[aria-label="Sponsored"]:xpath(../../../../../../../../../../../../../../../../../../../..)
Facebook is trying so hard to defeat adblockers that the actual website is borderilne unusable. I have found in the past year or so that pages just get hung on "loading" transitional screens way more often, even in normal circumstances.
They need to surrender this whole anti-adblocker crusade because it will kill them in the long run (along with the billion other problems FB has)
Same. FBP has been effectively perfect for over a decade now. I don't understand how uBlock Origin can't just take what FBP is doing and apply it there.
Once LLMs get fast enough at processing real-time images Apple (or anybody really) can just roll out a browser rendering engine that just masks all ads. It will take a few years but the browser ad-business is in it's terminal phase.
It's amazing how people think Apple has a clean reputation because they've added a thin layer of indirection to their participation in the surveillance ecosystem.
If we're just talking about image based ads it would be easier to simply denylist every image on a page and only render alt-text until the user clicks to reveal it.
Worth noting though that Apple injects ads into the News app, which is just a webview, so it's certainly not them that will do this.
The race of ending personal computing is there. I am sure big players want to control entire stack and users just sitting in front of dumb monitors consuming their ads.
Such naïveté. The much more likely scenario is that AI is used to add or replace ads in a website in a way that's now impossible to remove. Running your own AI on the browser will be disallowed to "ensure a safe browsing experience".
Yes, it's a near-universal legal requirement that humans be able to tell if something is an ad or not. So once they sabotage that, they're in hot water.
Is there any enforcement of this? Like at all? All the review bots and bots promoting random crap on reddit say otherwise. Traditional media still pays lip-service to this, but only barely.
It would be fun to train a small vision neural network to recognize ads instead of relying on HTML or network requests. I don't know if anyone has done this yet.
Assuming you insist on using facebook you can proxy it, using a simple script that removes all ads prior to serving. The problem of course is that this is not cheap. Easier to just not use facebook.
Because the ad ecosystem has two sides. I used to think my ISP could just magically support IPv6 and didn't need routing protocols or peering agreements, too. (They support it now)
Websites with ads need to satisfy the ad buyers. This means running a bunch of JavaScript that's adversarial to the website and fingerprints both the website and the browser to determine where and to whom the ad is actually shown. It's like a cloudflare bot challenge is happening behind the scenes. Of course all this stuff doesn't happen on the website's own domain, or the website could manipulate it.
And the ad that's originally delivered might not actually be the ad, but might be a script that fetches the real ad from a different server, if the incentives line up that way. Imagine you have a contract to advertise on a site, but someone else wants to advertise on the same site and pays you to forward their ad. It's all a huge mess.
I think that just goes to prove that content providers and ad providers could defeat ad blockers if they worked together. (And perhaps made the ads less offensive so people don't have motivation to block them.)
In ye old days, you had newspapers who sold ads, and had to at least satisfy their customers. What the newspaper advertised reflected on the newspaper, and where the advertiser advertised, reflected on the advertiser. Now we have a situation where no one is accountable. Spammy ad sites are a thing, because there isn't that direct relationship between advertiser and website.
Most sites are not in business of running ad marketplace. They are in content production and SEO(as in pulling views). I don't think at scale they could operate it would be worth to be ad marketplace. Or would they get the customers(advertisers).
Content based ads work fine for this. If you have a site about some topic, advertisers for that audience can just pay you some amount to put their ad in your posts or embed an image.
Networks are only necessary if you want to run new ads for every year or tie into their browsing history or other algorithmic stuff. But if someone wants to pay you 3k to run a banner ad for a few weeks that would be pretty easy to just embed.
> Most sites are not in business of running ad marketplace.
You don't have to run a marketplace. Back then, people were calling via phone to put an ad into the newspaper. The same concept can still apply today.
You can just place an ad _where you actually want it_ instead of having a shitty decision engine decide it for you. Marketing budgets are messed up all over the place since social media, because they're really inefficient in finding the customers that actually wants to buy their stuff.
If you don't believe me, just take a look at facebook, they're trying to shove ads up your feed 99% of the time. It's a feed of ads, not a feed of "friends" anymore. Good luck trying to catch the 1% of posts that were actually the reason why you used the platform in the first place.
They do this by adding a ton of useless markup and splitting words like "ad" into single-letter spans with random class names and 8-layer deep nests of `<div>` so it's very hard to write selectors against. One has to wonder how that div soup affects accessibility as I find it very unlikely that this content is presented nicely to assistive tools. I hope they get all the ADA suits they deserve for this.
I recently found this out the hard way. Instagram’s web app has a super annoying popup. To click the comments button for a post, your cursor has to pass over the username, which just happens to launch a profile preview with the “follow” button exactly where the comments button was, causing you to unintentionally follow the account.
I tried to block this popup with uBlock Origin to no avail. No matter what element I selected, it was still there. Finally fixed the problem by deleting my Instagram account.
Best move you could have possibly done.
“A strange game. The only winning move is not to play.”
Last I tried writing custom rules for Facebook was years ago, but they did have proper aria attributes, and uBlock origin does have selectors for text content. These are from 2020:
> so it's very hard to write selectors against
This sounds perfectly matched for an on-device LLM?
Could you not just go after the deeply nested spans? I assume they aren't messing up everything else like that.
Facebook is trying so hard to defeat adblockers that the actual website is borderilne unusable. I have found in the past year or so that pages just get hung on "loading" transitional screens way more often, even in normal circumstances.
They need to surrender this whole anti-adblocker crusade because it will kill them in the long run (along with the billion other problems FB has)
Blacklisting facebook.com at the DNS level has worked pretty well for me.
That works, but is not really blocking the ads.
I agree. We should call that "blocking the bads" since the overwhelming majority of things served from that domain are bad.
facebook ads are indeed blocked.
you sure about that?
I use a browser extension called F.B. Purity. It's worked across multiple browsers for years.
https://www.fbpurity.com/
Same. FBP has been effectively perfect for over a decade now. I don't understand how uBlock Origin can't just take what FBP is doing and apply it there.
I was gonna say that uBlock still works for me on facebook, but yea I forgot I had purity quietly working for me for all those years
Best solution is to never use any of those useless apps ever again.
This doesn't set a good precedent unfortunately... Hello to that Google guy that just got tasked to do the same with Youtube.
Once LLMs get fast enough at processing real-time images Apple (or anybody really) can just roll out a browser rendering engine that just masks all ads. It will take a few years but the browser ad-business is in it's terminal phase.
Given that Safari doesn't even have a built-in ad-blocker, I doubt Apple will be leading the charge on this.
Such a move would also presumably be incompatible with Apple's highly lucrative search engine deal with Google.
It's amazing how people think Apple has a clean reputation because they've added a thin layer of indirection to their participation in the surveillance ecosystem.
If we're just talking about image based ads it would be easier to simply denylist every image on a page and only render alt-text until the user clicks to reveal it.
Worth noting though that Apple injects ads into the News app, which is just a webview, so it's certainly not them that will do this.
I wonder what percentage of images even has meaningful alt-text.
The race of ending personal computing is there. I am sure big players want to control entire stack and users just sitting in front of dumb monitors consuming their ads.
Safari was the first to cripple adblockers and went further than ManifestV3, but it seems their reputation will never catch up to that.
You anticipate a large language model to understand visual queues for an advertisement?
Cues, not queues. And yes that sounds workable.
Apple sells ads too; increasingly across its surfaces.
This is the first and only use-case for LLMs that I am genuinely excited about.
Such naïveté. The much more likely scenario is that AI is used to add or replace ads in a website in a way that's now impossible to remove. Running your own AI on the browser will be disallowed to "ensure a safe browsing experience".
Yes, it's a near-universal legal requirement that humans be able to tell if something is an ad or not. So once they sabotage that, they're in hot water.
Is there any enforcement of this? Like at all? All the review bots and bots promoting random crap on reddit say otherwise. Traditional media still pays lip-service to this, but only barely.
It would be fun to train a small vision neural network to recognize ads instead of relying on HTML or network requests. I don't know if anyone has done this yet.
So basically Facebook ads won and we are doomed
Oh the irony: https://ibb.co/NnxGJyr1
that's not irony.
Man, am I happy that I deleted my Facebook. No regrets.
Assuming you insist on using facebook you can proxy it, using a simple script that removes all ads prior to serving. The problem of course is that this is not cheap. Easier to just not use facebook.
Original reddit post: https://www.reddit.com/r/uBlockOrigin/comments/1vgcjg5/about...
My solution to this was just to stop using Facebook.
Though evidently someone's cut a deal because Facebook groups is all over Google search results these days.
Well clearly you'll need to stop using Google search too
I don't understand why websites don't just take ownership of ads. Then it will be impossible to block them.
Because the ad ecosystem has two sides. I used to think my ISP could just magically support IPv6 and didn't need routing protocols or peering agreements, too. (They support it now)
Websites with ads need to satisfy the ad buyers. This means running a bunch of JavaScript that's adversarial to the website and fingerprints both the website and the browser to determine where and to whom the ad is actually shown. It's like a cloudflare bot challenge is happening behind the scenes. Of course all this stuff doesn't happen on the website's own domain, or the website could manipulate it.
And the ad that's originally delivered might not actually be the ad, but might be a script that fetches the real ad from a different server, if the incentives line up that way. Imagine you have a contract to advertise on a site, but someone else wants to advertise on the same site and pays you to forward their ad. It's all a huge mess.
I think that just goes to prove that content providers and ad providers could defeat ad blockers if they worked together. (And perhaps made the ads less offensive so people don't have motivation to block them.)
Trust?
In ye old days, you had newspapers who sold ads, and had to at least satisfy their customers. What the newspaper advertised reflected on the newspaper, and where the advertiser advertised, reflected on the advertiser. Now we have a situation where no one is accountable. Spammy ad sites are a thing, because there isn't that direct relationship between advertiser and website.
It's ironic how trust would solve the issue and ads would become impossible to remove. Trust comes at a huge premium of course.
Really shows how shady the whole industry is, even to itself.
uBlock can filter arbitrary elements from a website, no chance that every company spends as much as facebook on making writing rules hard
Most sites are not in business of running ad marketplace. They are in content production and SEO(as in pulling views). I don't think at scale they could operate it would be worth to be ad marketplace. Or would they get the customers(advertisers).
Content based ads work fine for this. If you have a site about some topic, advertisers for that audience can just pay you some amount to put their ad in your posts or embed an image.
Networks are only necessary if you want to run new ads for every year or tie into their browsing history or other algorithmic stuff. But if someone wants to pay you 3k to run a banner ad for a few weeks that would be pretty easy to just embed.
> Most sites are not in business of running ad marketplace.
You don't have to run a marketplace. Back then, people were calling via phone to put an ad into the newspaper. The same concept can still apply today.
You can just place an ad _where you actually want it_ instead of having a shitty decision engine decide it for you. Marketing budgets are messed up all over the place since social media, because they're really inefficient in finding the customers that actually wants to buy their stuff.
If you don't believe me, just take a look at facebook, they're trying to shove ads up your feed 99% of the time. It's a feed of ads, not a feed of "friends" anymore. Good luck trying to catch the 1% of posts that were actually the reason why you used the platform in the first place.
It's easy, just block every Facebook owned domain there is. Works for me.