You can open the script in any notepad and paste it directly into the code section. Here you can also edit the two variables available (email and pausing the campaign).<\/p>\n\n\n\n
\nMake sure you delete the existing placeholder script before pasting in the actual script<\/strong><\/p>\n<\/blockquote>\n\n\n\nName the script (e.g. Broken pages) and save it. That’s it.<\/p>\n\n\n\nPasting the script in Google Ads<\/figcaption><\/figure>\n\n\n\nAfter you save the script, you can set the interval for which it will run (once, hourly, daily, weekly or monthly). I usually set it to run every hour. In some cases, I was able to identify changes in pages that caused downtime, much before my client did. This earned me valuable credit at the client, and also saved them some ad spend.<\/p>\n\n\n\nSetting the script’s frequency<\/figcaption><\/figure>\n\n\n\n\nAfter the script has run, you will be able to see detailed reports of its runs on the “Script History” tab in the Scripts section.<\/strong><\/p>\n<\/blockquote>\n\n\n\nScript #2: Self updating Google Sheets Report<\/h3>\n\n\n\n This is a simple script to create an automated report of your campaigns. While this can also be done using tools such as Google’s Data Studio, this script gives an out-of-the-box solution for simple dashboarding.<\/p>\n\n\n\n
You can also tweak the script to add\/remove and edit elements to the Google Sheet. These work just like a standard SQL Query, any developer can adjust these to add additional data points.<\/p>\n\n\n\n
The only variable in this script is the file’s name which you can of course edit. Currently, it’s set to ‘AccountDailyStats’.<\/p>\n\n\n\n
Create a new script and name a memorable name (e.g. Account Daily Stats). Paste the script’s content and save it. Set the script’s run frequency to daily.<\/p>\n\n\n\n
\nPlease note that using this script requires additional permissions as it will need to access your Google Drive to create and update the reports it creates<\/strong><\/p>\n<\/blockquote>\n\n\n\nGoogle Sheets report created with the script<\/figcaption><\/figure>\n\n\n\nScript #3: Pausing Inefficient Ads<\/h3>\n\n\n\n Within an account, we can run a large number of ads. Naturally, some of these ads will be inefficient, i.e. not driving enough conversions or driving conversions at a cost that’s significantly higher than the account’s average. In such cases, we would want to identify and pause these ads.<\/p>\n\n\n\n
The key factor to edit in this script is the window for conversions, i.e. the number days for which we want to evaluate the ad’s performance.<\/p>\n\n\n\n
I’ve set the script for All Time (‘ALL_TIME’), but you can also use Last 30 days (‘LAST_30_DAYS’) or any other time frame that resonates with you.<\/p>\n\n\n\n
Script #4: Hidden Keywords<\/h3>\n\n\n\n This script is one of my personal favorites.<\/p>\n\n\n\n
When we’re working on a Search campaign, we can often have keywords that are driving conversions, but since we use Phrase or BMM (Broad Match Modifiers) these aren’t part of the account’s keyword targeting.<\/p>\n\n\n\n
This script observes the keywords that have driven conversions and adds these as keywords in the relevant campaign. Now we can adjust the bids for these specific keywords (unlike BMM).<\/p>\n\n\n\n
Other examples of scripts<\/h3>\n\n\n\n You can create Google Ads scripts to run virtually any task you can imagine. Here are a few examples of scripts I’ve created over the years:<\/p>\n\n\n\n
\nOut of stock – Monitoring an eCommerce site by scraping the product page’s HTML to identify out-of-stock items and pause their ads<\/li>\n\n\n\n Feed based campaigns – Creating ads for new feed items (e.g. “Exclusive discount for 24 hours”), pausing ads when out of stock, updating product pricing in ads and more<\/li>\n\n\n\n Budget management – Pausing a campaign or account exactly at a set limit<\/li>\n\n\n\n Data injection – Infusing external data into the ad account (e.g. weather data)<\/li>\n\n\n\n Alert system – Triggering alerts on custom events from the account<\/li>\n<\/ol>\n","protected":false},"excerpt":{"rendered":"In this post, we discuss automated rules & scripts on Google Ads (including examples you can use immediately!). These tactics were extracted from an expert session given by Avishay Freund, CEO of Logos at a professional meetup hosted by Fixel. Avishay Freund is the owner and founder of Logos Internet Marketing and an expert in […]<\/p>\n","protected":false},"author":9,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[37,4],"tags":[],"class_list":["post-4991","post","type-post","status-publish","format-standard","hentry","category-blog","category-google-ads"],"_links":{"self":[{"href":"https:\/\/trackingchef.com\/wp-json\/wp\/v2\/posts\/4991","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/trackingchef.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/trackingchef.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/trackingchef.com\/wp-json\/wp\/v2\/users\/9"}],"replies":[{"embeddable":true,"href":"https:\/\/trackingchef.com\/wp-json\/wp\/v2\/comments?post=4991"}],"version-history":[{"count":6,"href":"https:\/\/trackingchef.com\/wp-json\/wp\/v2\/posts\/4991\/revisions"}],"predecessor-version":[{"id":6081,"href":"https:\/\/trackingchef.com\/wp-json\/wp\/v2\/posts\/4991\/revisions\/6081"}],"wp:attachment":[{"href":"https:\/\/trackingchef.com\/wp-json\/wp\/v2\/media?parent=4991"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/trackingchef.com\/wp-json\/wp\/v2\/categories?post=4991"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/trackingchef.com\/wp-json\/wp\/v2\/tags?post=4991"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}