In its latest move to skirt adblockers, Facebook so effectively disguised sponsored posts that it took one major adblocker nearly a month to develop a workaround. Typically, adblockers are able to counter Facebook’s updates within a matter of days, but this was a more substantial undertaking, and the latest in an escalating arms race between the social media giant, which has been working to make ads on its site “unblockable,” and the popular browser plugins that banish ads from users’ screens.

Along with introducing advertisement settings in an attempt to lure users away from adblockers altogether, Facebook has continually tweaked its code to try to prevent adblockers from working on the site. In response, adblocker developers have regularly updated their software to counter Facebook’s moves.

Things had been quiet on this front recently, until a month ago when once again Facebook made changes to its code that allowed sponsored posts to slip past blockers. This time, the changes required more than a simple line of code added into the adblocking algorithm, and it took one major adblocking plugin—Adblock Plus (ABP)—more than a month to figure out what Facebook had changed and how to recognize the sponsored posts.

“They did a lot of work and used different tricks to make these posts, code-wise, look like any other post in your newsfeed. That made it hard for our algorithm to differentiate these posts,” Laura Sophie Dornheim, head of communications for Eyeo, the company that makes ABP, told me over the phone. “It had been a cat-and-mouse game for quite a while.”

Sponsored posts are clearly labeled on the screen and generally look like ads. Here’s an example of one that Facebook served me:

That’s largely because Facebook is required to abide to rules against misleading advertising under the Federal Trade Commission. But the code that runs the site doesn’t differentiate these posts as clearly, which is a problem for adblockers that screen the code to block ads, like ABP, rather than analyzing a page’s content.

Dornheim told me that last year, Facebook was regularly tweaking the code around its sponsored posts, and the changes often made the posts slip through the ad blocker. This prompted researchers to create entirely new ways of blocking ads in order to keep pace with Facebook’s blocker-blocking workarounds.

“In the summer 2017 there was an intense battle. Every few days they would try a different solution and we would find a different way to detect that,” Dornheim said. “Then suddenly they stopped, which was awesome because Adblock Plus is only about 140 people and Facebook probably has ten times that on their developer team alone, so it was hard to keep up.”

But about a month ago, ABP users started complaining that the sponsored posts were showing up in their Facebook feed again. With Facebook’s latest changes, Dornheim said, the code now looked nearly identical to normal posts.