Google Ad Manager (previously called DoubleClick for Publishers or DFP) is one of the most popular ad servers in the market and for good reason- a simple user interface coupled with powerful features such as key-value targeting. Key-value targeting enables publishers to organize inventory, target ads to a specific audience, webpage, and ad slots, and improve reporting.
Before we go further, let’s refresh on a few basic Google Ad Manager terms:
- Ad inventory: All the space on your website where you intend to run ads.
- Ad unit: The inventory is made up of ad units, which represent sections of your website.
- Ad tags: The code that resides within ad units and sends ad requests to the ad server.
- Line item: An ad / creative from the advertiser.
What is Key-Value Targeting?
Key-value targeting is an inventory feature in Google Ad Manager that allows publishers to define custom targeting criteria, such as search terms or specific pages.
If a line items targets a key-value, the ad server will only serve ads to ad tags on your website that include the specified key-value, provided that other criteria such as specified ad size and frequency capping parameters are also being met.
Predefined & Freeform Values
Google Ad Manager offers two types of key-values based on what you’re trying to target.
Use predefined key-values when you know the possible range of values. For example, if you’re targeting a line item to users based on their age, you can create a key-value and enter the range as the values (“20-30”, “30-40”, “40-50”, …). Now when you create a line item, you will be able to select the ‘Age’ key-value and select the range you want to target. Predefined key values are hard-coded in the ad tag.
In comparison, freeform key-values are used when you need to dynamically pass values to the ad tag. For instance, if you need to target based on the search terms they have used on your website. This way, freeform key-values allow you to have thousands of possible values without defining each one of them ahead of time. Generally speaking, if the key has more than 200 values, use freeform targeting.
Also Read: Key-Value Targeting Parameters For Ad Publishers
Targeting Specific Site Pages and Ad Slots
Using key-value targeting, it is possible to target ads to specific pages and even ad slots on the website. Here’s how you can get it done:
To target pages, create a freeform key-value called pageID
. Provide a unique value such as pageID=12345
to the ad tags on the pages, now you can target line items to that key-value. In this case, you can think of key-value as a secondary dimension that you can use to create a structure for your ad inventory, without the need to create hundreds of independent ad units to achieve the same result.
To target ad slots, you can create a key-value called position
and assign values based on how you organize your inventory such as top
, sidebar
, and bottom
. Once you add the key value in the ad tags, you can start targeting line items to ad slots. This is useful when you want to bundle your above-the-fold inventory and sell it at a premium price, to do this, you can create a key-value position=top
and add this to your ad tags, now you can target desired line items to above-the-fold ad slots.
Key-value Formatting Rules
Keys and values have some predefined formatting specifications:
- Neither keys nor values are case-sensitive.
- Key names cannot be prefixed with a number.
- All values are treated as strings. For example, instead of age >= 18 AND <= 34, age=”18-34″.
- The following characters aren’t allowed in key and value names: ” (double quotes), ‘ (apostrophe), = (equal sign), ! (exclamation point), + (plus sign), # (hash sign), * (asterisk), ~ (tilde), ; (semicolon), ^ (caret), () (parentheses), < > (angle brackets), [ ] (square brackets), , (comma), & (ampersand)
- Spaces aren’t allowed in a key name, but are allowed in value names. For example,
sports car=porsche
is not valid, butcar=red porsche
is valid.
Also Read: Manage Ads.txt: Visually Manage Your Ads.txt Files
Key-value Match Types
The “match types” describe how to target variations of key-values. Match types only apply to free-form key-values and are not supported by predefined key-values.
- Exact match: If you don’t add any special modifiers to a targeted value, the user search must match it exactly. For example, if you target
travel
,travelers
andtravels
don’t match. - “Begins with” match: Use an asterisk (*) at the end of a value to match items that begin with the value but have additional characters at the end. For example,
travel*
would match values liketraveler
andtraveling
, as well astravel the world
, because these terms begin withtravel
. It would not match terms such aswhere to travel
orfasttravel
. - “Include” match: Use a tilde (~) at the beginning of a value to include values that have the entire word in them, in any location. For example,
~travel
would match values likeadventure travel
andtravel insurance
, but nottravelers
ortravelers insurance
. - “Begins with” and “include” match: Now we’re getting fancy. You can use both a tilde and an asterisk on a value:
~travel*
. The “begins with” part of the value can now appear anywhere in the value, not just at the beginning. Our example would matchtravelers
,luxury travelers
,travel insurance
,traveling penalty
, but notre-travel
. - Values with spaces: When you’re using match types, spaces are treated as characters within the value. For example,
travel deal*
would matchtravel deals
andtravel dealership
, but nottraveling deal
.
Adding Key-values to GPT Tags
You can use the setTargeting()
function with syntax ("key", ["value1", "value2", "value3"])
to pass keys and values to the ad tags. You can use either slot-level or page-level targeting options depending on the use case.
Slot-level targeting: Using this, you can set key-value attributes for individual ad slots on a webpage. Use .setTargeting
to utilize slot-level targeting. It is recommended to use this function when you want to setup granular targeting based on a large number of key values.
Page-level targeting: For broad targeting use cases, for instance targeting ads based on gender or age, page-level targeting is recommended because it requires less code to be added to the tags. Use googletag.pubads().setTargeting
to set page-level targeting.
Learn more about implementation with Google Publisher Tag Samples.
Enabling Custom Reporting with Key-values
Note: This is a beta feature.
Custom reporting allows you to select keys, include them in reports, and use them as a secondary dimension to customize your Ad Manager reports.
STEP 1: Add targeting keys to reporting:
- Click Inventory > Key-values
- Click the name of the key you want to use in reporting
- Click Yes next to “Report on Values”
- Click Save
Once your keys are “reportable”, you can start using them as a custom dimension.
STEP 2: Converting predefined keys into custom dimensions:
- Click Inventory > Key-values
- Click the name of the key you want to include in Ad Manager reports
- Click Yes next to “Make a Dimension”
- Add the targeting values you want to include in Ad Manager reports.
- Click Save
And, finally…
STEP 3: Viewing the report
- Click Reports > Queries > New query
- In the “Dimensions” section, click Custom Dimensions
- Click the name of one or more keys you’ve added as a custom dimension
- Add other report settings, dimensions, and metrics as needed
- Click Run
Enabling reporting using keys as a custom dimension can help you deep-dive in your revenue reporting by measuring and comparing ad performance based on ad positions, search terms, user demographics, and any custom parameter that you have set as a key value.
Shubham is a digital marketer with rich experience working in the advertisement technology industry. He has vast experience in the programmatic industry, driving business strategy and scaling functions including but not limited to growth and marketing, Operations, process optimization, and Sales.