Categories: Tips

Using DFP Key-values to structure inventory


At OKO we often start the process of Ad Inventory Management by overhauling the publisher’s DFP inventory. It isn’t unusual to find relatively simple sites with hundreds of ad units defined. This is most common with older accounts, where complexity has been added over time to answer various targeting or reporting requirements, but we’ve seen it on brand new accounts too.

How things get out of control

Take the simple example below of a website with just three page types: Home, Category and Story. Each page has three ad units, in different position and it makes perfect sense to create nine ad units:

These would likely be named something like:

  • home-masthead
  • home-mpu1
  • home-mpu2
  • cat-leaderboard
  • cat-mpu
  • cat-sidebar
  • etc, etc..  9 units in total

Then ad-sales speak up

The ads sales team need to be able to sell ads directed at the different parts of the website; News, sports, events etc. Although there are only 5 categories (plus home page), this gives us 39 ad units made up of:

  • 3 units for the home page
  • 3 units for the category page X 6 categories = 18 ad units
  • 3 units for the story page X 6 categories = 18 ad units

39 ad units is getting heavy, but it still manageable for most. Then…

The ad optimizer gets involved

The ad optimizer wants to understand how performance differs between users who are logged in and logged out, but then also wants to run a multi-variant test to play off three networks.  Suddenly we’re looking at 234 ad units before anyone even utters the word “mobile”.

The current “record” we have seen is 401 active ad units for a moderately simple website.

How many ad units would I create?

Three. Yes, just three, and I wouldn’t lose any of the targeting and reporting benefits of using 239 either.

Enter our hero: Key-value targeting

We can use fewer ad-units without losing the benefits thanks to DFP’s key-value targeting feature. Key-value targeting (formally called “Custom Targeting Criteria”) allows us to add an extra dimension to our targeting and reporting.  This has many applications, including often allowing us to remove the need for additional ad units.

I’ll cover setting up key-value targeting in a later post. In simple terms though it just allows you to specify a key (such as “PageType”) that can have different values (such as “Home” or “Category”).  These values can then be targeting by line-items to keep our ad-sales team happy. If the potential values are defined before hand they can also be used in reporting**

**Attention Googlers! I know that there are a number of Googlers who read this blog. If any of you are on the DFP team please, please, please allow reporting of free-form values.  I have a special spot on the wall next to my desk that I use to bang my head against several times a week when this issue comes up! Thanks :)

How this would work in practice

Let’s have a look at how this would work in practice with our earlier example.  Each page type is just using three units, so we can call these whatever we want. It doesn’t matter that they show different sizes, we just map sizes to them that are appropriate on each page.

We then simply create keys and add values for each of the dimensions that we want to use:

  • PageType home / category / story
  • Category news / sports / events / entertainment / business / other
  • LoggedIn yes / no
  • TestVariant A / B / C


Mat Bennett :

View Comments (3)

  • Soooo, We could just use one Ad Unit. Allowing all sizes. And use Key/Values to target specific sizes as well. No need for three ad Unit?

    • Technically, yes. This might become uncumbersome in practice, but it would work. This approach is sometimes used for passback tags too.

  • Key values are great for targeting, but the biggest issue I've found is reporting when I want to report on multiple key-values in the same report. For example, if I have a position key value and a page type key value, I can't generate a report for position on page type. Is there any way to get this kind of reporting?