Brad Geddes / PPC Geek
Official Google Ads Seminar Leader.
Author of Advanced Google AdWords.
Co-Founder, Adalysis.
(703) 828-5811‬
Brad Geddes's Theories on Marketing How to Create a State of the Art PLA Campaign

How to Create a State of the Art PLA Campaign

There was an interesting question on the forum the other day: What’s the best structure for a product listing ads (PLA) campaign? And what’s the best way to get started? As it turns out, a state of the art PLA campaign structure is very powerful, but actually not that hard to set up. All you need is the AdWords Editor, a spreadsheet, and a simple step by step process. But let’s start at the beginning…

The Default PLA Structure

Google has made sure that everyone can get started with product listing ads quickly: Create a campaign and make sure it has the product extension, add an ad group and put in the catch-all product target All products and possibly an ad. This can be done in five minutes and it’s a good way to get your first PLA campaign on the road. The resulting structure will look like this:

The default PLA structure

This setup is fairly simple and comes with some limitations. Since ads are assigned to ad groups and there’s only one ad group covering all products, this means that you can’t have different ads for different products. Bids can be applied at the product target level, but since there’s only one product target for all products the result is the same: One bid is applied to all products.

Not everyone needs different ads, but having the same bid for all products is a serious limitation. With only one bid you can’t treat your best selling products any different than your slow sellers. The bid you apply will have to work for the blended average of all products, with the bestsellers’ profits offsetting the losses from the shelf warmers.

Another drawback is that AdWords won’t show any statistics beyond your product targets. You can get some of the information from other sources, but AdWords won’t tell you anything about individual products.

A State of the Art PLA Structure

To overcome these limitations, a better structure is needed. The following setup solves all of these problems:

Granular PLA campaign structure

Here, each product has its own ad group. Inside each ad group there’s a product target that is linked to a single product using the product’s id attribute in the target’s definition.

This setup allows you to bid on individual products, which you can do at product target or the ad group level. It also gives you the most flexibility to tune your ads to your products and it lets you see stats for each individual product.

How to Build a Super-Granular PLA Campaign

To build such a granular PLA campaign, you need access to your product feed and some tools. A good approach is to use a combination of Excel (or some other spreadsheet application) and the AdWords Editor.

These are the necessary steps:

1) Create a PLA campaign and add the product extension. Note: A campaign can hold up to 20,000 ad groups. If you have more products, you will need more than one campaign.

2) Download the campaign into AdWords Editor. Add an example ad group. Then put in an example product target with id=12345. Select the target, right click, and copy it.

Step 2: Copy the product target

3) Get your product feed and open it in a spreadsheet. Make sure you have a table with all of your products.

4) Paste the product target from the editor right next to the table. This should get you a column Campaign, then a column Ad Group, then Product Target Condition 1, then Product Target Value 1 and some more. This demonstrates what you’ll need.

Put the copied product target next to your products

5) Now use simple formulas to replace the example values with real values. Leave the campaign name. As ad group, use the product’s name (formula “=B2”, for example). For Product Target Value 1 put in the ID (again, use a formula like “=A2”).

Use simple formulas to create the real product targets

6) After you’ve done this for one product, do this for all the other products by copying the line with the formulas down next to all other products.

7) Select the columns with all the product targets and copy them. Go back to AdWords Editor and to the product targets tab. Click on the button Make multiple changes and then select Add/update multiple product targets.

In the AdWords Editor click Add/update multiple product targets

Check the box top left (“My product target information below includes columns for campaign and ad group names”). Paste the columns from the spreadsheet into the field below. Then click Process and accept the changes afterwards.

Import your product targets

8) This creates a lot of ad groups as well. Go to the ad groups tab and give those ad groups a bid.

9) Add an example product ad in the editor and use the same process (steps 4-7) to create ads for all of your ad groups as well. Using the same ad text for all products is perfectly fine, but you also have the flexibility to customize your ads.

10) That’s it – you’ve just created a state of the art PLA campaign. Don’t forget to upload everything. Make sure to keep the spreadsheet.

There is one downside to such a granular campaign: you have to keep it up to date. It’s no problem if a product is no longer available: If it’s dropped from the feed, AdWords won’t promote it. But if you have new products, you’ll have to update your targets. You can re-use the spreadsheet to do this quickly when needed.

A good addition to such a campaign is a catch-all target (All products). This way even new products are at least somewhat covered. Put a very low bid on it – much lower than all the other ones – to make sure it doesn’t interfere with your other bids.

Two Bonus Advantages of a Granular PLA Structure

In addition to full bidding control, individual ads, and individual statistics for each product, a granular PLA structure has a two more advantages. The first one is that it gives you the option to bid on the ad group level instead of the product target level. This allows you to use automated rules and AdWords Scripts, which can be applied to ad groups, but not to product targets.

The other advantage concerns the search query report. Especially with large and diverse feeds an account manager often struggles to make sense of search queries. For example, is the query “gel 3030” relevant or should it be excluded? Having ad groups named after a product can provide some context since, in the report, the ad group’s name is right there next to the query. For example it would be easy to see that “gel 3030” is indeed a relevant query for the product “Asics Gel 3030 Running Shoe”.


With the AdWords Editor, a spreadsheet and a simple step by step process it’s possible to create a state of the art PLA campaign. The process outlined here can be adapted to suit your needs. For example, you could put additional information in the ad group names, mention brands in the ads, or add custom bids depending on prices or other criteria.

So I hope this helps you build the perfect PLA campaign. If it does, or if you have questions, I’m looking forward to your feedback.

This article was written by Martin Roettgerding, Head of SEM at SEO/SEM agency Bloofusion Germany. You can read more from him at his Advanced PPC Blog PPC Epiphany, or contact him on Twitter @bloomarty.

Opinions expressed in the article are those of the guest author and not necessarily bgTheory. If you would like to write for Certified Knowledge, please let us know.


  1. trenoult
    March 27, 2013 at 2:17 pm · Reply

    Great ! another great post

  2. bloomarty
    March 30, 2013 at 7:38 pm · Reply

    Thank you!

  3. Eric Dean
    April 4, 2013 at 5:24 pm · Reply

    Martin – Thank you for the post. I just updated my PLA’s.

    Should we also be including destination URL data when we bulk upload?

  4. ppcproz
    April 7, 2013 at 2:53 am · Reply

    thank you. its not possible to add promotional ad copy via editor en masse. maybe online.

  5. bloomarty
    April 7, 2013 at 3:56 am · Reply

    Yes it’s possible; the same way as product targets and everything else. Have you maybe not accepted the changes made in the previous step? Then the button for bulk changes is missing until you approve everything.

  6. rew72
    April 8, 2013 at 5:35 am · Reply


    Firstly this is an awesome structure and I’ve used it.

    I think that there is a 2nd part to the setup that is also critical to get right and that is product attributes as I “think” that these will determine what searches your ads show for.

    Am I right, and if so, is there any best practice for setting up attributes?


  7. bloomarty
    April 9, 2013 at 5:06 pm · Reply

    No, not unless there is a good reason. If a product’s URL changes and the feed is updated, everything is fine. But if there’s a change and you’ve overwritten the URL’s to something fixed URL’s of your own, you’ll have to update the URL’s again.

    Thank you! To be honest, I don’t really buy into the concept of feed optimization. Maybe it’s just the skeptic in me, but so far I have yet to see any evidence that keyword optimization for feeds can make a difference.

    The thing with feed optimization is, there are always things like MPN’s and GTIN’s. With these things, Google matches your products to products in your competitors’ feeds. Now, any keyword you add to your product information would have to be as relevant for your product as for everyone else’s products – if your product is relevant for term X and other people have the exact same product, everyone’s product must be relevant for term X. So everything you’d do in terms of keyword optimization would also apply to your competitors…

    What certainly does help is everything that helps your CTR. The most important things are product image and price. Yes, Google shows titles often enough and also highlights keywords there, but I doubt that makes much of a difference in terms of CTR and therefore quality score.

    I guess I should put a disclaimer on this: Just my personal opinion…

  8. ppcproz
    April 17, 2013 at 3:23 am · Reply

    i’ve added the promotional ad text online, but i can’t for all products, as there are too many. i’ve only seen a few imppressions on these, but not the other product adgroups, so my conclusion thus far are:
    1. promotional text helps with impressions
    2. category targeting takes precedence over id targeting.

    I may try another experiment… pausing category targeting.

  9. JasonStinnett
    May 20, 2013 at 5:23 pm · Reply

    One note on Step 8 – I found it easier to include a ‘Max CPC’ column on the spreadsheet rather than setting the bids in AdWords editor once the ad groups are imported.

    The other advantage of using the spreadsheet for bids is that sorting the spreadsheet allows you to quickly assign intelligent preliminary bids. For instance, you can sort by product price and set a starting bid of $0.XX for everything from $50 – $75. Or, you can sort by product type and give everything in a certain category a more or less aggressive bid, sort by brand if you have better or worse margins on certain brands, etc.

    Thanks Martin for sharing this process – it is a real time saver.

  10. arielouie
    July 12, 2013 at 6:15 am · Reply

    Hi Martin,
    A great article. Can you please provide more detail about how to add multiple ads for same ad group via Adwords editor?
    Thank you!

  11. bloomarty
    July 15, 2013 at 4:48 am · Reply

    To add ads you essentially need the three colums Campaign, AdGroup, and Promotion. For adding multiple ads you could just copy those and import them again. I’m afraid there’s no way to do this in one step.

  12. amitramani
    August 25, 2013 at 7:42 pm · Reply

    Many thanks for explaining this topic so clearly. I enjoyed reading your well-written instructions and then implementing them. I did follow a slightly different approach. I used ‘adword_grouping’ instead of ‘id’ for classifying the product targets. In my case, I need to understand which of my product groups I should focus on more.
    Now to my question:
    Once I have this setup, is there anyway to tell which landing page is being shown for each keyword/search term? I looked under “Customize Columns” but don’t see a URL anywhere.
    Any help would be appreciated.

  13. bloomarty
    August 26, 2013 at 9:16 am · Reply

    Glad you liked it 🙂

    Seeing the URL’s in AdWords isn’t possible, let alone connecting them to search terms.
    Since it’s the individual product’s URL (from the feed) that is used, you would need to know the product that triggered a search term. With the setup above that’s easy to see, but if you focus on groups you won’t know which product triggered which search term. Web analytics like Google Analytics could help with that, but it’s not as easy as this way.

  14. amitramani
    September 9, 2013 at 10:56 am · Reply

    Hi Martin
    I was able to successfully set up the granular PLA campaign as per your instructions. Now, I am able to adjust bids and view keywords-to-Ad group mapping nicely.
    However, I am noticing my ads are being shown for generic products. So for example, when people are searching for a generic product (without any brand name), my ad which is specific to the product but also has brand information in it, is shown.
    I was wondering if adding Negative Keywords at the Ad Group level is advisable? I am yet to receive any conversions and my budget is being used up in entirety everyday.
    What do you suggest? Should I also add “exact match” and “phrase match” keywords for each of my Ad groups?

  15. cargoodrich
    October 10, 2013 at 4:45 am · Reply

    Hi Martin. Where you say “3) Get your product feed and open it in a spreadsheet.” My product feed is a .xml. Sorry to ask what is probably a silly question, but how do I get my .xml product feed into a spreadsheet without the format breaking?

  16. jordanmcclements
    October 15, 2013 at 1:38 am · Reply

    cargoodrich – .xml is indeed a complete pain compared to .csv.

    For one client who insists on using it, I was able to open it in Excel Starter 2010 (The only version of excel I have on my PC(I usually use Open Office)). *disclaimer – I didn’t make changes an save them again with this particular feed.

    You’d think that in this day and age Open Office and Google Docs would allow you to open and edit .xml in the same way as .csv…

  17. jordanmcclements
    October 15, 2013 at 1:40 am · Reply

    Also – Thanks for the article Martin – I’d be interested if you have any further comments / helpful observations to add now you’ve been doing this for a while?

  18. Jesper
    November 13, 2013 at 2:14 pm · Reply

    How many PLA campaigns can you have? Can you split you campaigns in such way:

    Campaign01. Brand1 – Adgroup = product 1 (target id)
    – Adgroup = product 2 (target id)
    – Adgroup = all products

    Campaign01. Brand1 – Adgroup = product 1 (target id)
    – Adgroup = product 2 (target id)
    – Adgroup = all products

    Campaign02. Brand1 – Adgroup = product 1 (target brand)
    – Adgroup = product 2 (target brand)
    – Adgroup = all products

    Campaign02. Brand1 – Adgroup = product 1 (target brand)
    – Adgroup = product 2 (target brand)
    – Adgroup = all products

    Or are you only allowed to have one PLA campaign?

    Super great post, really nice reading.

Leave a Reply