Post AXG6PytxTpoaF8ctua by jeremybmerrill@journa.host
(DIR) More posts by jeremybmerrill@journa.host
(DIR) Post #AXG6PytxTpoaF8ctua by jeremybmerrill@journa.host
2023-07-01T18:14:59Z
0 likes, 1 repeats
Is today the day to talk about the countermeasures that Facebook's anti-scraping team took to block the participants in the ProPublica Facebook Ad Collector project from sharing the ads they saw?All that effort, and I think we had a week or two of downtime over several years.
(DIR) Post #AXG6Q0q8H1wWFqqsE4 by jeremybmerrill@journa.host
2023-07-01T18:17:30Z
0 likes, 0 repeats
One time (on my birthday in 2018), they launched non-deterministic CSS for the "Sponsored" tag we used to preliminarily distinguish ads from non-ads. I distinctly remember my heart dropped when I discovered it, sitting on the patio at Golden Drops coffee shop on Clairemont.That was a mindfuck -- but ultimately not that hard to work around.
(DIR) Post #AXG6Q2XPxaA3WO6xKi by jeremybmerrill@journa.host
2023-07-01T18:23:08Z
0 likes, 0 repeats
Later, Facebook started to filter clicks on the menu containing the "Why Am I Seeing This" button that triggered fetching targeting data (e.g. ad limited to people 59+ who like Sean Hannity, Glenn Beck or Mark Levin) based on a JavaScript attribute in click events that distinguishes mouse-driven clicks from JavaScript-derived ones. That's a filter that wasn't implemented even on the Like button!! (Go have your bot make fake Likes on a minor celebrity's page all you want, I guess?)
(DIR) Post #AXG6Q4Brog6we82m1I by jeremybmerrill@journa.host
2023-07-01T18:25:41Z
0 likes, 0 repeats
Finally, they started adding extra characters, hidden with CSS,in the Sponsored label that distinguishes ads from regular posts. So, it looked like "Sponsored" when you saw it, but "SpSonSsoSredS" was the text content of the element. Trick was, screenreaders would read it as gibberish... 😬😬I forget how we worked around that one, but we did.