A Primer On Automating AdWords With Structured Data

Columnist Frederick Vallaeys explains several ways you can use structured data to create relevant and customized PPC search ads.


One of the PPC trends I mentioned in my last post — where I described 11 things to keep your AdWords healthy in 2016 — was the rise of ads from structured data.

There are several campaign types where AdWords currently handles the automatic creation of ads and targeting based on structured data, including Dynamic Search Ad campaigns and Shopping campaigns.

The momentum of ads from structured data is evident in Merkle RKG’s report from the last quarter of 2015, where they show continued growth in clicks for shopping ads and a dramatic increase in the share of that traffic coming from partner sites.

In this post, I’ll cover some additional ways you can start to leverage your structured data to automate the creation of highly relevant and customized ads, starting from the simplest and taking you all the way to a solution that uses AdWords Scripts.

What Is Structured Data?

Before going into what the available solutions are, let me explain what is meant by the “structured data” which is needed to be able to automate the ads.

Structured data is simply data that you maintain in a standardized and organized way. It could be as simple as a text file where you have one keyword per line or as complex as a relational database of products that includes product details, inventory levels and sales data for each item.

The key is that the data are maintained with a consistent structure so that you can reliably know what each piece of data is — for example, whether it’s a keyword, a product name, a price or something else.

Most companies already have structured data, usually in a database. However, you don’t need a database to be able to turn your data into ads automatically. In fact, it’s often easier if you have the data in a spreadsheet, since that’s what you can upload to AdWords.

Generating a spreadsheet from the data in a database should be a simple task for your database administrator (or you can do a simple CSV export using most common database management tools).

So if you have the data in a spreadsheet, whether an Excel file or a Google Sheet, you’re ready to start automating ads from a template.


Why Make Ads From Structured Data?

There is some effort in the initial setup of automated ads, so I want to make sure you understand the benefits so that you can decide if it’s worth the effort for your situation.

I covered this in my previous post, but there are several reasons why it makes sense to turn structured data into ads:

  1. You can ensure you have better coverage on all relevant searches.
  2. You can create customized ads at scale.
  3. You can free up your time to work on more strategic projects.

When you want to advertise more than a couple of hundred items, I think automating some portion of this will pay off.

Dynamic Keyword Insertion

The simplest way to use structured data to create more relevant ads is by using dynamic keyword insertion (DKI). Given that you’re reading Search Engine Land, my talking about DKI is perhaps akin to a flight attendant demonstrating to a frequent flyer how to use a seat belt on a plane, but let me do it anyway. You can always skip to the more advanced stuff if you want.

I think DKI is a great example of structured data in its simplest form. Your list of keywords is the structured data: when you added them to AdWords, you told Google this was a list of keywords, and that’s when that list of words became structured data. By adding {KeyWord} in your ad text, you can instantly leverage that data to create more relevant ads.

dynamic keyword insertion

Simply type ‘{K’ into an ad text field in AdWords to activate the dynamic keyword insertion dialog.

I periodically talk to advertisers who worry that their ads will end up looking really strange, or even offensive, when the user’s query gets inserted into their DKI ad, but keep in mind that the “K” in DKI stands for “keyword” and not query.

What Google automatically inserts in the ad is the keyword that triggered it, and not the query that the user typed, so fears of showing really weird ads are unfounded so long as your keywords are on topic.

The requirements to start using DKI are very simple: you just need decent Quality Score (QS). If your QS is too low, Google may revert to the default insertion text rather than using the keyword that triggered the ad.

In other words, don’t consider DKI as the lazy alternative to building good account structure. I still recommend creating tightly themed ad groups of five to 30 keywords each to help enforce some level of relevance by keeping things tightly themed.

Ad Customizers

While DKI is super-easy to use, it’s obviously a bit limited because you can only insert the keyword into the ad text. What if you wanted to automatically create an ad that also includes some other details about the product or service being advertised?

Rather than doing this manually, you can maintain a spreadsheet with as many additional columns of data to use for insertion as you’d like. At a minimum, each row on the spreadsheet needs to contain the target campaign, ad group and keyword. Then, you can go as crazy as you’d like with additional information to include in the ads.

Here’s an example of the structured data for a car dealer who wants to automate the creation of ads to include the minimum price, the number of seats and the color of the car they’re selling.


Once this Ad Customizer data has been uploaded in AdWords through the Shared Library in the Business Data section, you’re ready to create the ad template that will use this data.


Instead of creating a static ad text, type the “{” character in the Headline field to open a dialog box. From there, you can choose to create the ad template from your business data. You’ll be given the choice of all your available sets of business data — in this case, I selected the set I named “cars” — and then it shows the options for all the available insertion fields, like the seating capacity and starting price of the vehicle.


Here’s a complete ad template that leverages several of the pieces of structured data:


The resulting ad would read something like this if the user searched for “6 passenger odyssey”:


Now when the user searches for one of the target keywords in the spreadsheet, the ad will automatically include all the relevant information associated with that line from the sheet.

When the inventory changes, there’s no need to edit the ads — simply update the spreadsheet and re-upload the data to Google to make sure the ads reflect the latest availability and pricing.

Target Location In Ad Customizers

A newer capability in Ad Customizers is the option to insert different data for an ad depending on where the user is located. To do this, simply duplicate each row for each target area, add a column with the target location and change the data as needed.

Then, when your ad is shown, Google knows where the user is located and will automatically pick the right data for insertion in the ad template. This can be very useful if you have different specials in different parts of the world.

location targeting in ad customizers

Add a column for the target location to be able to show different ads depending on where the user is located.

Ad Parameters

Before there were Ad Customizers, it was possible to dynamically insert numbers into an ad by using ad parameters: {param1:default} and {param2:default}. The benefit of using these params is that the ad would not require a new review whenever the value of a param changed.

This is ideal for advertisers who want to update their ads frequently. For example, an airline could use one of the parameters to show the lowest fare between a pair of cities, or a plumber could use the parameter to show the quickest time they could send a plumber to each city where they do business.

The parameters can be set either at the keyword or ad group level, making them pretty flexible to work with most common account structures.

The downside of params is that they can only be updated using the API or AdWords Scripts. This means that while you can maintain the values of the params in a Google Spreadsheet, you need to have a piece of code that handles sending the data from the spreadsheet to AdWords.

While this code is not particularly difficult, it may present a hurdle for non-technical advertisers. Here’s some code you can copy and paste into your account to update params from a spreadsheet.

Sample spreadsheet to update ad param data using a script from FreeAdWordsScripts.com

Sample spreadsheet to update ad param data using a script from FreeAdWordsScripts.com

Because of the need to use code, and because params can only be used with numerical data, I recommend you use Ad Customizers instead of params. However, keep in mind that while Ad Customizers are easier to use out of the box, if you really want to scale things, you’ll have to programmatically send the most current data files to Google rather than doing it manually, and this will eventually involve programming, too.

AdWords Scripts

So if you will end up having to do a little programming anyway, you should consider going one step further than what either params or Ad Customizers can do and use AdWords Scripts to maintain an entire campaign, including both ads and keywords from your structured data.

Remember that for business data, you have to specify a target keyword. What if you wanted the keyword itself to be created from your structured data? Going even further, what about automatically assigning the keyword to the right ad group, and creating new ad groups on the fly as needed? A script makes that possible.

To achieve this, you need two things:

  • Business data on a spreadsheet — if you have tried ad customizers, you already have this.
  • Description of the template for the ad group name, the keyword text and the ad text.

With this, you can use a script that goes through the following steps:

  1. Read each line on the sheet.
  2. Use the template to figure out the target ad group. Create it if it doesn’t exist yet.
  3. Use the template to figure out the keyword text and add it.
  4. Use the template to determine the ad text, and add it if it doesn’t exist yet.

maintain an entire adwords campaign with structured data and adwords scripts

At my session on AdWords Scripts at SMX West, I will cover how to use Scripts to maintain an entire campaign from structured data.

The reason I like the scripts approach is that after building these basic blocks, it can be extended in some pretty cool ways.

For example, you could have different ad templates for different product categories or depending on how many units you have in stock. You could even set different starting bids based on an algorithm that uses your business data. You could even automate pausing ad groups that are no longer required.

While the initial script may be simple, you can start to add layers of complexity as needed, something that’s much harder to do if you’re reliant on Google’s built-in solutions.


As you can see, there are many options for turning structured data into ads besides Dynamic Search Ads and Shopping campaigns. The options range from simple DKI to an advanced AdWords Script that takes over the management of an entire campaign.

I hope you’ll give some of these ways a try, because they can make your ads more relevant, help you scale your account and save you time — all while ensuring you have coverage on the widest possible range of queries relevant to your business.


[Article on Search Engine Land.]

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

(Some images used under license from Shutterstock.com.)


Marketing Land – Internet Marketing News, Strategies & Tips


Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.