Here’s An AdWords Script That Lets You Optimize Bids Every Hour Of The Day
Columnist Daniel Gilbert shares Brainlabs' AdWords script that lets you set 24 different hourly bid multipliers, 7 days a week.
Optimizing your keyword and ad group bids in order to maximize performance can be a tricky affair. Setting up a schedule to manage your bids is a great way to make sure that you’re not spending too much at the wrong times and more importantly that valuable traffic is getting to you at the right times.
AdWords’ built-in tool for modifying bids based on the time of day — ad scheduling — only allows you up to six bidding windows per day.
For large-scale accounts that demand a more granular approach, with bids that need to be changed every hour, the above limitations just won’t do. As an example, conversion rates for Domino’s vary dramatically during different hourly slots on different days; the company doesn’t want to bid at the same levels at 7:00 p.m., 9:00 p.m., and 11:00 p.m. on Wednesdays and Saturdays.
So the mathematical marketers at Brainlabs (my company) wrote an AdWords script — published in its entirety below — that gives you control of your bids for every hour of the day. If you’ve never used scripts, you can read our recent series on AdWords Scripts or just copy and paste the code into your account to get started.
The script works by altering the ad schedule bid modifier by referring to a central managing spreadsheet. Your first job will be to set up a correct spreadsheet. Copy and paste this generic ad schedule into a Google doc of your own. Be sure to rename the sheet to the actual account name from which you will be running the script.
Next, enter your own bid modifier values into the table. Entering 100% will leave the bid as is, while 150% will be a 1.5 multiplier.
Make a note of your spreadsheet URL because you’ll need it for the next section.
The next step is to copy and paste the script at the bottom of the article into your account. There are a few options to set. Have a look at the initial part of the script labeled Options.
- Set the firstRun variable to true; as it’s the first the time script is being executed, there is an initialization procedure.
- Enter the URL for the Google Sheet you used earlier for the spreadsheetUrl, replacing the value currently there.
- excludeCampaignNameContains will exclude all campaigns which have this in their name. Leave blank not to exclude any campaigns.
- includeCampaignNameContains will only include campaigns which have this in their name. Leave blank to include all campaigns.
Once the optional settings have been entered, run the script manually once, then change the firstRun variable to false.
Now you’re ready to set up a schedule for the script. We recommend you run the script hourly. If you’re not sure what your conversion rates are at different times, we’ll be following up with another article on how to calculate hourly bidding multipliers.
Note: For all affected campaigns, this script will delete all existing ad schedules.
Opinions expressed in this article are those of the guest author and not necessarily Search Engine Land. Staff authors are listed here.