Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Auto click "remove" on all facebook advertisers and Twitter interests
// I did this in Chrome...
//
// Go to https://www.facebook.com/ads/preferences/
// Click the "Advertisers" section to open it up.
// Click "See more" once
// Before doing anything else, just keep clicking space bar to trigger the "see more" button
// Do this for a bit until all the advertisers are loaded
// then run this below in the dev tools console...
// (It will take a few minutes, depending how many you have, and your browser may lock up, but once it's done you will see it auto clicked the "remove" X in the top right for all of them)
// This finds all the "remove" buttons in all the ads
var fbook_ads = document.getElementsByClassName('_2b2p _4jy0 _4jy3 _517h _51sy _42ft');
console.log(fbook_ads.length, 'The number of advertisers listed! YIKES.');
// Loop the list of buttons
Array.prototype.forEach.call(fbook_ads, (e) => {
// Check if you have removed the advertiser already (sometimes ones you have already removed still show/load)
if (e.getAttribute('data-tooltip-content') === 'Remove' || e.getAttribute('data-tooltip-content') === 'Hide all ads from this advertiser') {
// click the button and remove them
e.click();
console.log('Removed!');
} else {
// Skip ones that you have already removed
console.log('Skipped!');
}
})
// For Twitter
// Go to https://twitter.com/settings/your_twitter_data/twitter_interests
// Run this below to uncheck all the interests
var twitter_interests = document.getElementsByTagName("input"),
twitter_interests_count = 0;
Array.prototype.forEach.call(twitter_interests, (e) => {
if (e.type === "checkbox" && e.checked === true) {
var interest_label = e.parentNode.parentNode.getElementsByTagName("span")[0].innerText;
// click the checkbox and remove them
e.click();
console.log('Removed "' + interest_label + '"!');
twitter_interests_count++;
}
})
if (twitter_interests_count === 0) {
console.log('horray, no interests!');
} else {
console.log(twitter_interests_count, 'The number of interests listed! YIKES.');
}
@dougwebb

This comment has been minimized.

Copy link

@dougwebb dougwebb commented Apr 11, 2019

I used a one-liner for this:
document.querySelectorAll("[data-tooltip-content='Remove']").forEach(function (element) { element.click(); })

Basically the same, but by using querySelectorAll I get just the Remove buttons, and none of the Add buttons.

@bluetidepro

This comment has been minimized.

Copy link
Owner Author

@bluetidepro bluetidepro commented Apr 11, 2019

@dougwebb yeah, def. The only benefit I found personally with finding the ones skipped was it's good to see the the full list, if you needed.

@freeAgent85

This comment has been minimized.

Copy link

@freeAgent85 freeAgent85 commented Jun 8, 2019

It looks like Facebook have updated the page, so your code doesn't work fully. You now need another selector:

document.querySelectorAll("[data-tooltip-content='Remove'],[data-tooltip-content='Hide all ads from this advertiser']").forEach(function (element) { element.click(); })
@bluetidepro

This comment has been minimized.

Copy link
Owner Author

@bluetidepro bluetidepro commented Jun 10, 2019

@freeAgent85 Good call, I updated it!

@bluetidepro

This comment has been minimized.

Copy link
Owner Author

@bluetidepro bluetidepro commented Mar 2, 2020

Update: looks like this no longer works because of the dark patterns that Facebook has updated/changed on that page. Ugh.

@freeAgent85

This comment has been minimized.

Copy link

@freeAgent85 freeAgent85 commented Mar 2, 2020

Yup, the new section for "Who Uploaded a List With Your Information" is awful. They don't even do users the courtesy of indicating which companies they've previously blocked until they click "View Controls" on the entry. And the list is randomly sorted, not in alphabetical or chronological order. This move pushed me ever-closer to simply closing my Facebook account and being done with it entirely.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment