Do you spend a lot of time reviewing placement data for your Google Display Network campaigns?

If you care about the performance of your campaigns, you probably do. It's one of those thankless but necessary tasks that can make or break the success of a Display campaign.

While you’re poking around all that sweet data, you've noticed impressions and clicks from low-quality websites with weird top-level domains. You know the ones: .xyz, .space, .top, .review. The cultural successors of the .info. The ones GoDaddy tries to up sell before check-out.

$9.99 for a .mobi? I’m losing money NOT buying it!    



Traditionally, finding and negative matching these domains was a never-ending battle. You block one and eight more show up tomorrow. On a big campaign you can literally spend a full day every week doing this.

Sure,&nbsp;you caught;But the next day comes back for revenge!

Sure, you caught But the next day comes back for revenge!

Google doesn’t have an option to automatically filter out these low-quality TLDs. So Dawson, Outshine's resident dev, created one. It saves us a ton of time every week and we want to share it with the community.

How it works

The Adwords script monitors your display placement data and automatically negative matches any URL with a TLD you don’t want. As soon as a placement from an unwanted TLD shows up, the script adds it to the negative match list. We recommend running it on an hourly schedule for maximum effectiveness.

It is built to run on either the individual account or MCC level. Using the MCC level makes it easy and efficient to exclude poor TLDs across all of your accounts.

The only work you need to do is to tell the script which TLDs to add as negative placements. In the example below, we've excluded all .xyz, .info or .tk domains. But that's only a sliver of the potential. We recommend reviewing your historical placement data and unearthing the worst domains by performance.

To exclude more TLDs from your placements, just add them to the list of TLDs starting at line 9. TLDs should start with a '.' and be comma-delimited.

If you have any troubles with the script let us know in the comments and we'll do our best to help you through the process.