Ping pong with Facebook · 2016-08-18 15:00 by Ben Williams
Many of you have been asking about what’s happening with Facebook’s circumvention of ad blockers. As you’ll remember, last week the social media leviathan announced that they would initiate a full-on ads force-feed to all their users, even if they use ad-blocking software. Or, in their words, “we’re providing an update on our approach to ad blocking on Facebook.”
Then came a workaround developed by the immense, open source ad-blocking community, followed by a few back-and-forths between the ad-blocking community and Facebook in what has been waxed on metaphorically as a “cat-and-mouse game,” “whack-a-mole” or even an “arms race.” The short update to all this is that Facebook’s sponsored posts, which show up in your feed, are not being blocked right now. Boo.
But not boo hoo … because, as usual, that is only half of a story that is still evolving in true cat-and-mouse style. Remember, this isn’t a tussle between Facebook and Adblock Plus, but rather between Facebook and all web citizens. In any case, below is an update.
Ad blockers block ads based upon filters, which tell it what elements on a page to block. Those elements are identifiable as ad content, because in their code there are certain indicators that show they are ads. Think of these indicators as badges or signposts on the open internet with which ads can be differentiated from organic content.
Usually these indicators are obvious – they often even contain the word “ad.” In addition, most sites serve ads from third parties, which send out their own telltale signs. But Facebook is unique, because they serve their own ads. This control gives them the power to make their indicators as meaningless and obscure to non-Facebook developers as they want.
For instance, before last week, Adblock Plus and others were blocking all Facebook ads based upon three filters in the base block list called EasyList – a product of the afore-mentioned open-source community. Previous to Facebook’s path to circumvention, their ads were differentiated from their normal content by two innocuous letters: “ei”; so (basically) the blocking filters just needed to specify that if an element had the “ei” in it, it should be blocked because it is an ad. Here they are:
facebook.com###home_stream > .uiUnifiedStory[data-ft*="\"ei\":\""]
Then last week happened. It was indeed a back-and-forth battle, because they would change their indicators, the open source community that updates the EasyList filters would spot the new ad indicators, Facebook would remove again, the community would block again, etc. Cue cat-and-mouse game … or how about ping pong?
Fast forward to the evening of August 12, last Friday, when the ad-blocking community had found another indicator in the code. It was again seemingly meaningless:
[data-timestamp], but after comparing ads to organic content, the ads did not contain the timestamp code above. The organic content, however, did. So this filter was added to EasyList, removing ad elements by blocking all those without the indicator:
Then ping … pong, Facebook added that indicator to sponsored content as well. As of now that would appear to be the last indicator that is readily accessible in the (parent) element.
Why removing ad indicators is dangerous
Clearly differentiating between paid-for and organic content is hugely important, because journalism is supposed to be that “fourth estate” which informs us about what politicians and businesspeople are doing. An ad is something different, because its intention is not to inform, but to market. For the consumer, knowing the difference is crucial.
That’s why the Federal Trade Commission (FTC) might be interested if Facebook has indeed removed the very last differentiator in their code between ad and not-ad. Furthermore, if this practice is taken further, it could be very deceptive for people who cannot see the screen as Facebook intended it. For instance, those who use assistive technology like screen readers, people with poor or no eyesight for example, might not be able to tell the difference between ads and organic content. And finally, could such a move by an absolute, indisputable internet titan like Facebook, if not deterred, influence and even sanction this behavior from others? Could this … gulp … be precedent-setting?
The inevitable solution
While Facebook appears to have had the last word for now, this, friends, is a long game. That being said, a few other ad blockers have apparently found workarounds to Facebook’s latest circumvention. Better yet, Princeton University just started offering something they’re calling Facebook Ad Highlighter, which very unambiguously points out that a post is sponsored.
This is instructive, because while Facebook may have slashed and burned all the immediate ad indicators, there are countless ways to work around this. For instance, blocking ads based on the visible “Sponsored” tag is a little more difficult, because that element is buried deeper in the post itself. But there are at least two ways that this too will become a clear indicator that allows blockers to block.
What we hope users will remember is that there is a gargantuan, unstoppable community that has already contributed to several workarounds; there are academics and other ad blockers working on solutions, too; a few commenters in our last post said they’d found their own workaround; and so on … Facebook is going against the will of the user and that typically doesn’t end well. Facebook may have started this game of ping pong, but out on the open internet the user always wins.
Commenting is closed for this article.