Overview
Key-value pairs enable publishers to deliver targeted ads, enhancing user relevance and increasing ad revenue by attracting advertisers seeking precise audience segments.
Page-level Targeting
Use googletag.setConfig({ targeting: { ... } }) to set page-level key-values. Push the config into freestar.queue after freestar.config.enabled_slots. Keys are case-sensitive.
targeting accepts a key with a single value or an array of values.
JavaScript
//a key with a single value
freestar.queue.push(function() {
// One value only
googletag.setConfig({ targeting: { key: 'value' } });
});
//a key with an array of values
freestar.queue.push(function() {
// More than one value
googletag.setConfig({ targeting: { key: ['value 1', 'value 2', 'value 3'] } });
});Slot-level Targeting
Target the ad div ID to set key-value pairs on individual slots.
Pass freestar.config.targeting into the Freestar head code after freestar.config.enabled_slots. You can target multiple placements in the same config.
Lines 3 and 9 below target example div IDs like those found in your site's tags.txt file.
// Slot level targeting
freestar.config.targeting = [{
"mysite_incontent_leaderboard_1": {
"key1": ["value 1", "value 2", "value 3"],
"key2": "value"
}
},
{
"mysite_incontent_leaderboard_2": {
"key1": ["value 1", "value 2", "value 3"],
"key2": "value"
}
}
];
Example
A complete example of page- and slot-level targeting (lines 8-28) within the Freestar head code.
<script data-cfasync="false" type="text/javascript">
var freestar = freestar || {};
freestar.queue = freestar.queue || [];
freestar.config = freestar.config || {};
freestar.config.enabled_slots = [];
// Page level targeting
freestar.queue.push(function () {
// Multiple values
googletag.setConfig({
targeting: { example1: ["value 1", "value 2", "value 3"] },
});
// Single value
googletag.setConfig({ targeting: { example2: "value" } });
});
// Slot level targeting
freestar.config.targeting = [
{
mysite_incontent_leaderboard_1: {
example3: ["value 1", "value 2", "value 3"],
example4: "value",
},
},
{
mysite_incontent_leaderboard_2: {
example5: ["value 1", "value 2", "value 3"],
example6: "value",
},
},
];
freestar.initCallback = function () {
freestar.config.enabled_slots.length === 0
? (freestar.initCallbackCalled = false)
: freestar.newAdSlots(freestar.config.enabled_slots);
};
</script>
<script src="https://a.pub.network/mysite-com/pubfig.min.js" async></script>
Available Keys
The following keys are pre-configured and available for sites using Freestar's Google Ad Manager.
| Keys | |||
| articleID | Author | campaign | Category |
| content | env | keywords | Member |
| org | pageId | pagetype | plan |
| pos | post | PostID | section |
| section_type | segment | SiteURL | status |
| Subcategory | Tag | url |