Different Ad Rotations, Different Times

Posted on January 5, 2015 in

Why would you want your ad rotation settings different at different times of the day? I mean, that sound like a crazy idea doesn’t it? But I think one thing is apparent in many of my blog posts, users at different times of the day perform fundamentally different. A visitor at 1pm is not the same visitor at 1am, even if they are the same user!

We can break this down further by categorizing the Geography, Intent, Device, and Time as being your primary quadrants on a user graph without getting into demographics and psycho-graphics. So often you are concerned with the first three that the time of day or week gets overlooked in importance.


The Problem

In the world of Pay-per-Click, and Google AdWords more specifically, you must contend with the user and Google. The user response rate, or conversion rate, is part of the equation that makes up a marketer’s cost-per-action. But if you’re only focused on the user, over time, Google can become quite heavy-handed with a flagging Quality Score drop. Sure, you’d prefer to only get the clicks that are likely to turn into conversions, but ad copy that chases too many users away will create the drop in click-through-rate you’re really worried about.

I had one of those “oh no” moments recently. I was working to get the cost-per-action down on account, working hard. I was doing everything to get users to convert I could image. I looked at the queries every day to find negatives or new positive keywords. I was watching the ad copy testing for conversion trends. The conversions were improving and for a week… for a week it was good. I was so myopic about the conversions that I went almost two full weeks without checking the Quality Scores. And that’s when I saw that some of the keywords were spiraling downward. After that, I was bailing water to get the Quality Scores back up.

While your landing page should be performing some of the function of ensuring high conversion rates, you can’t ignore the user Intent. In the world of Search, that Intent is referred to as the ‘query intent’, which in-turn controlled by the keywords, match types, and negative keywords. However, the ad copy is the only part of an AdWords campaign that is visible to the user. And that’s where the ad rotation setting is levied to test which copy nets you the highest click-through-rate vs the highest conversion-rate.


The Solution

But what if you could have your cake and eat it to? What if you set your ad copy rotation to focus on conversion during peak times, and then have it switch back during the rest of the times? And now, introducing the AdWords Script you never thought you’d want. The entire idea is to balance out your conversion needs with your Quality Score needs.

As a bonus, you can also run this as a one time double-check to make sure all of your accounts are using a particular ad rotation type setting.


A couple notes: First, the script is looking to use the label, ‘Non-Brand’. Feel free to change the label it is looking for. Second, Conversion Optimizer and Enhanced CPC create a secret setting for your campaigns that make them rotate by conversion automatically, regardless of what the campaign says. Unfortunately, no Script will override that, so make sure to set your bidding settings to manual.

The Script>

// Change Ad Rotation Settings
// Author: Kevin Adams
// Date: 2014-12-18

// The script runs on campaigns with the label "Non-Brand"
// but feel free to change that

// Impement the script one-time to double-check settings
// Implement the script more than once each day to set
// the ad rotation to optimize for conversions at
// peak-times, and optimize for CTR at off-times

// Possible settings are OPTIMIZE, CONVERSION_OPTIMIZE,

// The script will not work on campaigns with 2+ labels
// The scrpt only works on campaigns with manual bidding

function main() {
    var campaignSelector = AdWordsApp.campaigns()
        .withCondition('LabelNames CONTAINS_ANY["Non-Brand"]');

    var campaignIterator = campaignSelector.get();
    while (campaignIterator.hasNext()) {
        var campaign = campaignIterator.next();


This is an idea I’ve considered for years, but until now I’ve never had a way to handle it through automation, and with out automation, it’s useless. You’ll have to test for yourself whether the concept works well or not.

Now, go make some money!

By Kevin Adams

Kevin Adams has been doing PPC since 2004. He has managed many accounts from local service companies to large mortgage companies. His primary proficiencies are Google AdWords, Google Analytics, and Bing Ads. He continually stays up-to-date on the latest tricks, tools and trends provided by the search engines. If there is one thing that Kevin excels at most is making his clients money with Pay-per-Click advertising.