Are you sure that you know what are Google AdWords Scripts? For those who are not absolutely sure that they are worth using, this article features 10 best AdWords scripts as well as additional information about them.
Useful AdWords scripts – definition
How to start working with AdWords scripts
Free AdWords scripts – how to use them
Scripts may work well for you if you manage large campaigns and you or a colleague have scripting skills. You can put these skills to work to make broad changes to your account, saving yourself time. Scripts can also be used to modify multiple accounts through a manager account.
Once you’ve created a script, you can manage your scripts and review actions taken by scripts within your account.
Common use cases of top AdWords scripts
- quick one-time tools
- highly customized reporting
- account alerts
- external feed-based triggers
- ad parameterization
You can view this video that will explain many basics about AdWords scripts:
Below you will find free scripts to use in your AdWords campaigns, coming with screenshots and brief descriptions.
1. Link Checker (for a single account)
Adding, deleting of pages as well as making other amendments on your site may cause broken links appearance. The synchronization of such changes with AdWords campaigns setup may become challenging for many advertisers. Use this tool for checking links to avoid payments for clicks leading to the pages that don’t exist.
This tool collates URL of all advertisements, keywords, and additional links to website pages address. The results of the checkout (including data about the status of each checked URL) are recorded in the table. When the pages that don’t exist are being detected, you get a notification via email.
The system has pre-installed limitations on the time of script execution and the number of sessions. That is why the accounts that have too many URL are being checked during several script execution sessions. In this case, the script backs up data about the checked URL and it doesn’t come back to it at the further stages. The full cycle of all account URL check is called “analysis” and can include several executions.
You can input the main script set up in the table you see below.
Every time you run the script it determines what is requisite to do: continue the analysis or start the new one (the frequency of analysis execution is being set at the Days between analyses line). No matter the frequency of the analysis you want to run set the hourly script execution. This way, URL check will take less time.
For instance, if the number of days between analyses equals 1, the script will start new analysis not once a day. If it takes an hourly running script to check all the URL for less than a day, it will be started only the next day, when it will be necessary to do the next analysis.
The script creates tags to mark the checked ads, keywords, and additional links in order not to review them next time. After analysis completion (all URL check), the script removes those tags.
The check of regular and mobile end URL is being performed by means of UrlFetchApp.
2. Account Anomaly Detector (separate account)
Account Anomaly Detector tool notifies the advertiser about serious deviations in AdWords account work. When the problem is detected, the script sends the user a notification via email (not more than 1 a day).
The script compares statistics for the current day with the previous statistics for that day of the week. For instance, the data for Tuesday is compared to the data for 26 previous Tuesdays. Time needed for retrospective analysis depends on the date of account creation and the stability of its performance.
The maximal efficiency is reached after hourly script performance. If this frequency is too high, try to plan daily performance in the middle of the day.
This is how it works. Supposing the script is being run on Tuesdays, 19.00. Due to the possible 3 hour delay in AdWords statistics update, the script will take into consideration only data available till 16:00.
The script compares average indices for the current day with data for 26 previous Tuesdays.
Not more than one notification of each type is being formed daily. If you want to discard the notification, delete the value in Alerting cell.
3. Declining Ad Groups Report (separate account)
AdWords scripts allow comparing companies efficiency as to their statistical indices for different periods of time.
This report lets to identify groups of advertisements with decreasing efficiency.
These groups should meet the following requirements:
- The group is Active and belongs to the Active company (i.e.: being displayed).
- CTR index of the group is dropping during 3 weeks in a row.
It is possible to use more complicated criteria for identifying inefficient groups if necessary.
The script puts down the acquired data in the electronic table you see below:
As the script considers data for 3 weeks to make up a report, it is recommended to plan its weekly execution.
This script tracks AdWords competitors over time. Here’s how to use it:
Go to your Google Drive and click the “NEW” button. It is red, so you will notice it. Then click on “Google Sheets.” Click on “Tools” in the top menu and then “Script editor” Inside the new spreadsheet.
Your previous actions will open a script editor in a new tab. There you need to click on “Google Sheets Add-on.”
You will see some sample code, which you need to delete and paste the script available on the page with script description. You can change some settings at the top if you wish. Use dateFormat and currencySymbol variables for editing the format.
When you go to “File” and save the script, it will ask you for a project name. Name it whatever you want, it doesn’t really matter.
Get the Auction Insights report In AdWords. To obtain it, go to the campaign, ad group or keyword tab. Pick out the campaigns, ad groups, or keywords you want the report for. Click the “Details” button, which is placed between “Edit” and “Bid strategy”. Then, click “Selected” under Auction Insights.
What you want to do is make sure that the date range is the one you want to cover. Then you can download the report, adding a segment for “Month” or “Week”. This depends on the time range you’re reviewing.
When you get your CSV file, open it in a text editor, like Notepad. Copy it into Sheet1 of your Google spreadsheet.
After you paste the report, the onEdit function should trigger automatically, we mean it should create a sheet for every column heading of the report and fill them with data and charts.
Would you like to add CPC data? OK, add another sheet to the spreadsheet and copy any AdWords report containing the clicks and costs within the date range.
Here the onEdit function will trigger again. It will update the ‘REARRANGE’ functions so that they included the CPCs. Why is it useful to have your CPC? Because this way you can see the effect the auction caused by your bid changes. Besides, you will be aware if a new competitor induced clicks to become more expensive.
Quality Score Tracker script is aimed at tracking the quality scores of a selected keyword over time. If a quality score changes, it can notify you via email. Additionally, the script uses a Google spreadsheet to track the quality score of each keyword. As time goes by, it logs the complete quality score history of your keywords in a comfy, usable spreadsheet.
What can you use this script for? You can use it to track quality scores regularly and observe changes over time. You can use it to diagnose a set of keywords when needed, as well. Surely, you can use the history for your own analysis later.
To run the script, you need to click the ‘Run script now’ button. AdWords asks you to authorize the script before the first run.
You should be ready that AdWords Scripts aren’t lightning fast. Their execution takes some time. But this doesn’t mean that you have to wait for the script to finish. If the script finds any changes, it sends you an email notification at the end. Notifications are also being logged and you can find them right under the View details link in the script logs. The script is not likely to find any changed quality scores during the first run.
Whenever you have special requirements, like a new keyword that you want to track, or an old keyword that you don’t want to track anymore, you can change the set of keywords in the spreadsheet at any moment. All you need to do is add keywords to the first sheet, aka Input Keywords.
Would you like to analyze the quality score history of your keywords? Check the second sheet, QS history. You can hardly break anything there, but it’s better to copy the history into a new spreadsheet and only then play with the data there. Now you can filter out the zeros from the Change column and view only quality scores changed over time.
A few words about limitations
Just like any other AdWords Script, Quality Score Tracker has a big, frustrating limitation. It is the execution time. Due to the fact that AdWords Scripts are slow and not supposed to run more than five minutes, the number of quality scores you can track is limited accordingly.
But what’s even worse, performance fluctuates, which makes it impossible to determine this number. Provided that the set of keywords is the same, on some days the script is able to check only 50, on others 150 quality scores. Nevertheless, the system seems to be getting faster. It seems that with 80 keywords or less you’re playing on the safe side.
The script allows tracking quality scores of a limited number of keywords. But their number is still big. Please keep in mind that you can run this script as often as required. However, it is not advised to overdo this.
As the practice shows with this script and similar ones, that there are more quality score fluctuations than you might think. Unlikely that you will be able to find any reason for that change. Sometimes a quality score changes in an instant (overnight) and then returns to the original value the next day. As a rule, when you notice the first change, especially if it’s a drop, it makes you worry and take hasty, unnecessary steps. This can even cause a distress for some people.
We don’t want you to go crazy over this, so advise to track from ten to twenty most important keywords and pay no attention to changes too quickly without a really good reason for that.
Please note that as of Jan 26, an AdWords Quality Score Tracker Version 2.0, which is the new version of this script is available.
This AdWords script lets you bid 24 times a day, 7 days a week. That ROI and conversion rates don’t stand still at different times of the day and on different days of the week. However, the standard Google Ad Scheduling allows for six bidding windows in one day only, which is not nearly enough.
24 hour bidding script is a scheduling tool that changes bids every hour, every day. Before running the script, you need to make sure you’ve got the correct settings first of all. Here are a few things to configure:
- As the bid multipliers run from a Google spreadsheet, the URL needs to be inserted into the code as spreadsheetUrl. It is suggested to copy this template sheet and set your bids up in it. Your doc should look like this:Input the bid multipliers in cells B2 to H25. A 0% bid multiplier doesn’t change any bids, and a 25%/-25% bid multiplier increases/decreases bids by 25%. -100%. An empty cell means the ads will be turned off.
Would you like to use mobile multipliers? OK, you can find them on the second sheet of the same spreadsheet.
- Do you want to use it for shopping campaigns? Set the variable shoppingCampaigns to true. Do you want to use it for Search or Display campaigns? Set the variable to false.
- Do you want to change your mobile bid adjustments every hour? Set runMobileBids to true. Do you only want to change the ad schedule? Set runMobileBids to false.
- Do you want to use these multipliers on some campaigns only? Use excludeCampaignNameContains and includeCampaignNameContains to state what should or shouldn’t be in the campaign names.
Then you will need to set up a schedule to make the script run hourly. Why doesn’t script set all schedules up in advance? Because AdWords won’t allow enough bidding windows. So, it will continually update the ad schedules instead. In other words, the next few hours are always filled in. What will happen after more than a few hours away? The schedule will be filled with a 0% modifier as a safety feature.
7. Heat Maps
Handy Heat Maps script lets you see how your account performs every hour. The script generates heat maps. As you know, heat maps are visual representations of search behavior, which is segmented by time and device.
Here’s how it looks:
This example vividly demonstrates click-through rate at different hours of each day. The AdWords metric can be adjusted the same way and maps can also be segmented by the device.
What you should know is that the script automatically averages the data. This allows you to see trends more easily because the noise of random variation is reduced. It is recommended to keep the account activity for at least six weeks before using it.
The takeaway is that this tool is an excellent first step in understanding performance for any PPC account you manage and providing insights into how you might optimize your bidding.
8. Keyword Performance Report (one account)
With the help of Keyword Performance Report, AdWords advertisers can analyze additional characteristics like quality index and average position of ads in Google search results. The acquired data is represented in the form of a Google spreadsheet with several spread diagrams.
At every script run, a new report is being created. It is saved to Google Drive. Moreover, you can set the report sending to certain recipients via email.
The script uses data for the previous week to make up a report, so you’d better plan its execution weekly, on Mondays.
How it works
The script creates the copy of the spreadsheet template with all standard diagrams. Further, the data values are put on the Report sheet. The relevant diagrams are automatically built on their basis.
Here is the simple logic behind the script. Take a campaign and duplicate it twice. Label each one. Let the titles be “control” and “experiment”, for instance. Add your labels to the script and then run it on an hourly schedule.
How does the script work? It alternates the campaigns on hourly schedules, which means that when one goes on, the other goes off. They alternate all day for a few weeks before you build a rough impressions on each. Now you can visit the Dimensions tab, view Campaign Labels, and there you’ll have rich A/B data on your campaign performance.
This logic is not perfect because the script can only run every hour. If you’re lucky enough, it’s possible to do this via the AdWords API and run more regular switching.
You’ll also notice that Google rarely serves each campaign evenly, which is partly down to Quality Score and partly down to chance.
Placement Cleaner AdWords script was developed to simplify the process of cleaning the Google Display Network (GDN) placement`s list. Of course, you can clean it manually, but it takes time and efforts. If you use GDN but do not clean your placement`s list, you waste your money on sites about games, recipes, films, fun, etc., so, cleaning is requisite.
Let us explain the main idea. Bad placements get the most traffic from organic search. And setting right words in Title HTML tag is utterly important for SEO.
Here is an example:
If a webmaster wants to promote the site in search terms about games or fun, they need to include those words in site`s Title tag.
So, all we need to do is compare placement`s titles tags with a predefined list of bad words templates. It`s enough to remove placement if title tag consists of the word “game” or “gta”, etc. in any place.
That`s why Placement Cleaner script parses placements titles, compares them with bad words templates and adds bad placements to Negative list in the Shared library.
Separate scripts are used for collecting data about placements and for cleaning. This happens because it takes time to parse placement`s titles. Titles are parsed via Google SpreadSheet.
Parsing process time depends on placement count, that`s why there are 2 versions of script
- Impression script version analyzes placements with more than 3 impressions but without clicks and conversions (i.e.: for yesterday placement report) and works on daily basis.
- Click script version analyzes placements with clicks but without conversions (for 7 placement report) and works weekly.
Actually, we could analyze only placements with clicks. But in this case, we remove bad placement only when it has already spent our money. So, there is additional script version which analyses and cleans placements with impressions. Thus, we remove bad placements before it spends any money.
Final Script Process:
Run Report script (send data to Google SpreadSheet) → Google SpreadSheet parses placement titles → Run Cleaning script (compare parsed titles and bad words template, set also in Google SpreadSheet).
As mentioned above for title parsing, we use Google SpreadSheet. And you remember that parsing takes time. To be more accurate it’s usually 50-100 placement`s titles per hour. Do you have a lot GDN traffic? Then, we advise you to schedule script the next way:
For Impression version
- First Run – Start report script manually (after 3 a.m., also recommended before 3 p.m.)
- Set for cleaning script schedule at 2 a.m. daily
- Set for report script schedule at 3 a.m. daily
In this way, the time delay between sending data to Google SpreadSheet equals time on parsing process and cleaning, which is 23 hours.
For Click version
- Set for report script schedule at 3 a.m. on Monday weekly
- Set for cleaning script schedule at 3 a.m. Tuesday weekly
Down below you see an example of scripts schedule:
Google SpreadSheet For Parsing And Store Bad Words Templates
SpreadSheet consists of 3 sheets:
Column A — placement`s domain names
Column B — parsed titles (by Google Spreadsheet formulas)
Do you see the common templates for bad words? You can add additional templates to this list. You need to add new templates in column A. You can remove some templates as well. Everything depends on the audience you want to show your ads to.
Here first report script sends data from placement report in AdWords filtered by impressions or clicks as a set.
Be careful and never change “Source” and “RawDataReport” sheets.
That’s pretty much of it. Now you know more about AdWords scripts and can even add free scripts to use to your toolkit. Do you have any comments, suggestions, whatever? Please drop them in the comments section.
Do you already use AdWords Scripts? Will you use them after reading this article?
In both cases we wish your AdWords campaigns to be more efficient than ever.