PPC – Ad customizers just got a whole lot more powerful

PPC - Ad customizers just got a whole lot more powerful


I’m always looking for an edge in PPC so that my campaign’s performance will shine in a very competitive landscape. Back in 2013, I started talking about how to use programming to set up time-saving and performance-boosting automations with AdWords Scripts, at the time among the newest capabilities in AdWords. But now that we’re about to head into 2017, there’s an entirely different AdWords power feature that is starting to let us use programming to improve performance: ad customizers (“customizers” for short).

Customizers sit at the intersection of two of my favorite topics: feed-based advertising and programming. I’ll cover some innovative ways to use the older feed-based capabilities, but I’ll also cover some of the brand-new programming-based ways to use the feature to show different ads based on the device or the audience list a user is on.

Ad customizers just got new capabilities

The customizers’ capabilities that have now been available for a few years are most easily thought of as a very powerful variant of dynamic keyword insertion (DKI). Rather than just giving advertisers the ability to insert the keyword into the ad, any piece of text can be inserted from a spreadsheet that is maintained in the Business Data section of AdWords.


The brand-new customizer capabilities use simple functions and code to customize the text. For example, there is a function to show a countdown timer, as well as a brand-new IF function (not yet available in all accounts). These IF statements can be used to do different things depending on certain conditions, like the device a user is on or an audience list the user is a member of.

Ad customizers reduce account complexity

One of the advantages of customizers is that they reduce the need to maintain multiple campaigns when you want to slightly vary the messaging depending on different conditions. For example, while you could achieve the same by maintaining two campaigns — one for smartphones and one for computers — you can use customizers to show different ads while still using just a single campaign. This can be desirable when you’re close to hitting account size limits, or when you want to simplify account management (e.g., no need to add a new keyword in two places).

Ad customizers can now use default fallback text

Besides the new “IF” function in customizers, another welcome new addition is the availability of default text. In the past, any ad groups using ad customizers required the use of a fallback ad that didn’t use customizers. For advertisers doing manual A/B ad testing, this made things complicated because in addition to calculating winners and losers, they also had to account for the fact that if the fallback ad was deleted, the entire ad group would no longer be eligible to serve ads. And while it’s relatively easy to identify ad groups with no active ads (in Editor, for example), it’s much harder to find ad groups that are effectively in the same boat, not because there are no ads, but because there are only ad customizer ads.

Now you can include a default insertion when using customizers, making it unnecessary to write a fallback ad. Just like with the default text for DKI, if a particular dynamic insertion makes the ad too long, the default will be used instead.

The format to include default text is just the same as for DKI: simply add a colon and the default before the closing curly bracket, e.g., {=DataSetName.AttributeName:Default Text}.

Show a countdown timer

The countdown feature shows how much time remains, for example, before the end of a special promotion, or the last time to qualify for free shipping before Christmas. As the end date nears, the countdown will go from saying how many days are left to how many hours, and eventually, how many minutes, e.g., “3 days,” “5 hours,” “10 mins.” The feature works in all languages and can optionally be set to only start showing a countdown as you get relatively close to the end date — a useful feature, since saying that there are “just 50 days left before Christmas” isn’t likely to instill any real sense of urgency and may quite possibly have the opposite effect.

The feature can count down based on your account time zone, which is useful if you’re running a contest and there is a global cutoff time for submissions (e.g., the contest closes at midnight Central European Time, regardless of where in the world the participant is located).

To use this, insert {=GLOBAL_COUNTDOWN(“2016/11/30 13:30:00″,”en-US”,5)} into your ad. The date refers to the end date, “en-US” refers to the language to insert into the text, and the number 5 tells the system to only start the countdown when there are five or fewer days left before the end.

By default, the countdown is based on the time zone of the user and would look like this in your ad: {=COUNTDOWN(“2016/11/30 13:30:00″,”en-US”,5)}

The easiest way to set this up correctly is to use the ad builder interface on the AdWords website.


While you can run this feature without the need for a business data spreadsheet, you can optionally set the end date in the spreadsheet and then reference it in the ad as follows: {=COUNTDOWN(AdCustomizerFeed.Date, ‘es’, 3)}, where “AdCustomizerFeed.Date” refers to the business data file, followed by a dot and the column header in the spreadsheet that contains the date.

Show device-specific ads

As I explained in my recent column about what elements make the perfect Expanded Text Ad, there is actually a way to show different ETAs on mobile devices and on desktops. It’s done by adding two rows to Business Data, one that includes the text for mobile devices and another that contains the text for non-mobile devices. The reality of using this is that it’s a lot of extra work to maintain an entire spreadsheet with the text variations when the only thing you’re trying to do is show device-specific ads.


As I mentioned in my last post, Google was working on an easier alternative, and now we know what this is: “IF functions” in Customizers. The concept is very simple: you specify an IF condition, and then write the desired text for when that condition is met.

Here’s an example from Google:

{=IF(device=mobile,text to insert):optional default text}

The text “optional default text” is really the text you want to show when the user is not on a mobile device, so here’s how I would formulate that same example:

{=IF(device=mobile,hello mobile user):hello desktop user}

Show audience-specific ads

Another brand-new capability that comes with using IF functions in Customizers is to use it to vary the ads for different audiences. Until now, showing different ads for different audiences required creating separate ad groups, each with a different audience target and a unique ad text. Now it is possible to maintain both different bids and different ads within a single ad group, which reduces the need to bloat an account with extra structure.

Just as with device-specific ads, the syntax for audience specific ads looks as follows:

{=IF(audience IN(returning visitors,cart abandoners),30%):25%}

“returning visitors,cart abandoners” is a comma-separated list of audience names.

Show product-driven ads

Jason Puckett gave a good overview recently of how to turn an e-commerce feed into relevant ads . This is basically using Customizers as a super-advanced variant of DKI. It’s a concept we’ve taken even a step further at my company, Optmyzr, to allow not only ads, but also ad group names and keywords to be generated on the fly based on spreadsheet data.

One issue we commonly see at Optmyzr is that merchant center data feeds are not well-suited to dynamic ad generation because the title and description fields are too long for use in ads, and there are often not enough product attributes to make it easy to create a good ad from a template. However, with a bit of thought about the templated structure that ads should follow, it’s usually possible to create a new spreadsheet of data that will be well suited for this task.

Show location-specific ads

Customizers also have targeting attributes which let you do different things in different scenarios that depend on any of the targeting options shown in this table from Google:


One way to use this is to show different ad variations in different locations without requiring entirely new campaigns that target each location.

A nice example would be for a same-day plumbing service. Customizer data could be used to maintain a list of how quickly a plumber could show up to different cities. Rather than maintaining the times in hard-coded ads, now the time can be dynamically inserted from the business data.

Schedule business data to be updated

When using customizers to keep ads in sync with inventory, service times and other elements that may change frequently, it’s probably a good idea to schedule the data to be automatically uploaded to Google.


Data can be sent to Google automatically as often as every six hours, and the source can be a Google Sheet or a file on your web or FTP server.

By using a Google Sheet as the source, now even a non-technical person who doesn’t know how to upload files to FTP or a web server can be put in charge of periodically updating the inventory in an easy-to-use tool like Sheets to have that automatically uploaded to change the ads.

Show different ads at different hours

Another nice capability of Customizers is to connect them with ad schedules. One of the standard attributes is for ad schedules. Here is the full list of standard attributes from Google:


Rather than maintaining both ads as separate entities, now you can use Business Data to mix things up. For example, you could put two variations of headline 2 in a spreadsheet, and then call it dynamically in the ad using something like this: {=MyData.headline2:default headline 2 text}.


Ad customizers are far more powerful than most advertisers realize (except for Matt Umbro), and with new capabilities like default insertion text, IF functions for devices and for audiences, and automated upload schedules for business data, the power of this feature has dramatically increased and can help us show even more relevant ads than before.

Some opinions expressed in this article may be those of a guest author and not necessarily Search Engine Land. Staff authors are listed here.

Leave a Reply

Your email address will not be published. Required fields are marked *