Skip to content
  • Texas | Arizona | Virginia | Idaho | Illinois
  • (888) 705-0930
  • info@therawragency.com
Facebook-f Twitter Instagram Linkedin-in
rawr logo short
  • Home
  • About
  • Solutions
    colorized icons 04
    B2B Marketing
    colorized icons 05
    B2C Marketing
    colorized icons 06
    Online Visibility Management
  • Industries
    colorized icons 07
    Healthcare
    colorized icons 08
    Manufacturing
    colorized icons 10
    Home Services
    colorized icons 09
    Professional Services (B2B)
    colorized icons 11
    Retail
  • Services
    colorized icons 01
    Brand Strategy
    • Graphic Design
    • Corporate Brand Identity
    • Sales Enablement
    • Editorial Calendar Management
    colorized icons 02
    Website Design
    • WordPress Website Development
    • Conversion Rate Optimization
    • eCommerce Development
    • Content Strategy & Copywriting
    colorized icons 03
    Digital Marketing
    • Digital Marketing Strategy
    • Search Engine Optimization (SEO)
    • Pay-Per-Click (PPC) Management
    • Content Marketing & Digital PR
    • Account Based Marketing (B2B)
    • Marketing Automation
    • Social Media Management
  • Blog
  • Contact
Let's Talk

Automatically manage exclusions with this bad placement cleaner script

image5 2 1
  • February 10, 2020
  • General
  • Agency
Facebook
Twitter
LinkedIn
Email

Fighting bad placements in Google’s display network can be a daunting task for many. Especially when performance reviews and placement exclusions are done manually. But this account level script can lessen some of the pain points and help advertisers save money by automatically excluding bad placements.

These are the problems the script is trying to solve:

  1. Exclusions of bad placements based on domain endings
  2. Exclusions of bad placements in standard display campaigns
  3. Exclusions of bad placements in video campaigns
  4. Exclusions of bad placements in mobile apps

It sounds like a perfect script, right? Well, there are some limitations you should be aware of:

  1. Google Ads scripts cannot really modify any “smart” campaigns – so if you run Smart Shopping Campaigns OR Smart Display campaigns, you are out of luck until Google adds support for modifying these campaign types as well.
  2. Google Ads scripts cannot exclude specific YouTube channels nor profiles. Again, this is a limitation of the scripting environment as of now. Essentially, the script helps to exclude bad video placements outside YouTube.
  3. Google Ads scripts can only exclude entire domains, not their subpages so the script can exclude google.com but not google.com/some-page
  4. If your campaigns contain commas in their name, the script will fail.

So what does the script exactly do? 

The shorter version:

  1. The script identifies bad placements
  2. The script creates exclusions lists
  3. The script assigns the exclusions lists to campaigns

The longer version:

  1. The script loads the values from your config spreadsheet.
  2. The script runs placement performance report for “today” – this is for the domain ending exclusion module.
  3. The script identifies all placements matching all your unwanted domain endings and adds them to the exclusion list.
  4. The script downloads campaign performance data in order to determine what’s a Display and what’s a Video campaign.
  5. The script runs two placement performance reports – one for Display, one for Video. The results are separately exported to your config spreadsheet.
  6. The results are aggregated for each placement on account level – regardless of its campaign and adgroup. If you click around the config sheet, you will see sheets with these aggregations after you run the script.
  7. Once aggregations are done, the script filters for bad placements according to your configuration. You can check out the results of the filtering after the script finishes running – just visit the config spreadsheet. The sheet names are pretty self-explanatory.
  8. Finally, the filtered tables are the lists of “bad placements.”
  9. The script creates four exclusion lists – one for Domain Endings, one for Display, one for Video, one for Apps.
  10. The exclusions lists are filled with bad placements (in case bad placements are found).
  11. Enabled Display campaigns are assigned with Domain Endings, Display, and App exclusion list.
  12. Enabled Video campaigns are assigned with Domain Endings, and Video exclusion list.

It’s important to mention that the config spreadsheet is heavily used during the evaluation process. There are many helper sheets created and clicking through the helper sheets will give you a better idea of how exactly the script works.

Running the script

These are the steps you need to take before running the script:

  1. Create a configuration spreadsheet by visiting https://docs.google.com/spreadsheets/d/137gOQcaNPW3gRjA6U-VyecaliJs2jpeY1fDz0kMV5KQ/copy
    The best practice is to have one configuration spreadsheet for one account.
  2. Setup the configuration spreadsheet. Basically, go row by row and define which modules of the script you actually want to run (Domain Endings, Display, Video, Apps) and define your thresholds.
  3. Get the code of the script here: https://drive.google.com/file/d/1hluz2E7wcM_Vx8R46qgn9HOvdi6OYlLX/view?usp=sharing
  4. Paste the code of the script into Google Ads script console.
  5. Enter spreadsheet ID of your configuration spreadsheet into ssId variable in the script.
  6. Run the script, approve all the needed scopes. Do not run the script in the preview mode – the script will likely fail because it needs exclusion lists to exist at the latter stages and the lists are not created in the preview mode.
  7. Schedule the script – probably anywhere from hourly to weekly cadence.

Threshold definitions

It’s important to understand how to define the thresholds correctly – in other words – how to define bad placements. You can see that example in the Display module. You have a variety of metrics available for the definition of bad placements:

You need to realize that all metrics are applied. So even if you don’t really care about all the metrics, you need to set threshold correctly for all the metrics anyway so the conditions can be met for the metrics you care about. 

With this being said, the above example would exclude all placements with CTR higher than 90% (and the remaining metrics >= 0 would always fit too).

This is how the rule for the exclusion of all mobile placements would like:

As soon as a mobile placement gets one impression, the script will add that placement to the exclusion list.

What do I do if I don’t like the results?

Locate the exclusion lists in your Google Ads account, then remove all the assigned campaigns, and then remove the list. These steps will take you back “before the script period.” It’s that simple. 

Troubleshooting

The script runs more than 30 minutes and fails

It’s possible that your account is simply too big. Try increasing the impression threshold and shortening the lookback window at the top of the configuration spreadsheet.

The config spreadsheet grows too big and the script fails

The same solution as above.

Sheet ID XYZ does not exist

A random error you may encounter without a clear cause. It’s usually a temporary problem in Google Sheets. Re-running the script should help.

Other errors

If you encounter a new error, contact me directly at mail@danzrust.cz.

Summary

The script is not perfect but it can still save you tons of your advertising dollars. While the configuration may be a little more complicated at first sight, it will get much easier with every subsequent account.

The post Automatically manage exclusions with this bad placement cleaner script appeared first on Search Engine Land.


Source: IAB

Facebook
Twitter
LinkedIn
Email

Recent Blog Posts

9 Hidden Revenue Blockers Every CRO Needs to Eliminate

February 3, 2025

What Is B2B Appointment Setting?

November 29, 2024

Leveraging LinkedIn for Targeted Growth

November 12, 2024

Mastering B2B Prospecting: Key Strategies for Sales Success

November 4, 2024

Maximize Marketing ROI: How Cost per Lead Can Fuel Your Business Growth

June 13, 2024
View More
rawr logo short
Facebook-f Twitter Instagram Linkedin-in
Get In Touch
  • Texas | Arizona | Virginia | Idaho | Illinois
  • (888) 705-0930
  • info@therawragency.com
Send An Email

"*" indicates required fields

Copyright 2025 | The RAWR Agency, LLC. |

Sitemap | Privacy Policy

We use cookies to ensure that we give you the best experience on our website. If you continue to use this site we will assume that you are happy with it.OkNo