键值对定位

与广告单元相比,键值对可用于更精细地定位广告。详细了解键值对

针对每个广告请求,您可以传入一个或多个键,每个键可以有一个或多个关联的值。这些键值对将根据在 Ad Manager 中订单项一级配置的定位选项进行评估。例如,如果您传递自定义键值对 age=18-34,那么定位到年龄段 18-34 的订单项便符合投放条件(假定其他所有条件均符合)。

设置定位条件

您可以根据自己的广告联盟需求,指定键值对以在广告位一级和网页一级配置定位条件。

槽级

可让您为网页上的各个广告位设置键值对。

借助广告位级定位,您可以按广告位配置定位条件。如果同一网页上的各个广告位需要不同的定位条件,这种方法非常有用,但如果将相同的键值对应用于所有广告位,这种方法可能会效率不高。使用 Slot.setTargeting() 利用槽级定位,如以下示例所示。

页面级

可让您为网页上的所有广告位设置键值对。

网页级定位可确保所有广告位具有一组相同的键值对。在某些情况下,这可能会减少配置定位所需的代码总量。使用 googletag.pubads().setTargeting() 来利用页面级定位,如以下示例所示。

<head>
   
<meta charset="utf-8" />
   
<meta name="viewport" content="width=device-width, initial-scale=1" />
   
<meta
     
name="description"
     
content="Use key-value targeting to control the ads eligible to serve to specific ad slots."
   
/>
   
<title>Key-value targeting</title>
   
<script
     
async
     
src="https://securepubads.g.doubleclick.net/tag/js/gpt.js"
     
crossorigin="anonymous"
   
></script>
   
<script>
      window
.googletag = window.googletag || { cmd: [] };

     
// GPT slots
      let adSlots
= [];

      googletag
.cmd.push(() => {
       
// Configure slot-level targeting.
        adSlots
[0] = googletag
         
.defineSlot("/6355419/Travel/Asia", [728, 90], "banner-ad-1")
         
.addService(googletag.pubads())
         
.setTargeting("color", "red")
         
.setTargeting("position", "atf");
        adSlots
[1] = googletag
         
.defineSlot("/6355419/Travel/Asia", [728, 90], "banner-ad-2")
         
.addService(googletag.pubads())
         
.setTargeting("position", "btf");

       
// Configure page-level targeting.
        googletag
.pubads().setTargeting("interests", "basketball");

       
// Enable SRA and services.
        googletag
.pubads().enableSingleRequest();
        googletag
.enableServices();
     
});
   
</script>
</head>

在此示例中,定义了两个广告位,其中指定了广告单元 /6355419/Travel/Asia 和广告尺寸 728x90。然后,系统会应用键值对定位,以进一步限制和区分可能在每个广告位中投放的广告。

同时使用广告位级和网页级定位条件时,系统会组合键值对,并且只有满足所有条件的广告才有资格投放到给定广告位。在此示例中,每个广告位的有效定位条件如下:

广告位 有效定位
1 color=red AND position=atf AND interests=basketball
2 position=btf AND interests=basketball

定位到多个键或值

在上例中,我们结合使用了广告位级定位和页面级定位,为单个广告位定义了多个定位键。以下是一些可实现同样有效定位的替代方法:

在此示例中,系统会针对每个广告位重复使用共享的键值对。

// Slot-level targeting with multiple keys.
adSlots
[0] = googletag
   
.defineSlot('/6355419/Travel/Asia', [728, 90], 'banner-ad-1')
   
.addService(googletag.pubads())
   
.setTargeting('color', 'red')
   
.setTargeting('position', 'atf')
   
.setTargeting('interests', 'basketball');
adSlots
[1] = googletag
   
.defineSlot('/6355419/Travel/Asia', [728, 90], 'banner-ad-2')
   
.addService(googletag.pubads())
   
.setTargeting('position', 'btf')
   
.setTargeting('interests', 'basketball');

在此示例中,默认定位条件是在页面级设置的,并根据需要在槽级替换。

// Page-level default targeting.
googletag
.pubads().setTargeting('interests', 'basketball')
                 
.setTargeting('position', 'btf');

// Slot-level targeting overrides.
adSlots
[0] = googletag
   
.defineSlot('/6355419/Travel/Asia', [728, 90], 'banner-ad-1')
   
.addService(googletag.pubads())
   
.setTargeting('color', 'red')
   
.setTargeting('position', 'atf');
adSlots
[1] = googletag
   
.defineSlot('/6355419/Travel/Asia', [728, 90], 'banner-ad-2')
   
.addService(googletag.pubads());

您还可以通过在调用 setTargeting() 时提供值数组,针对单个键定位多个值:

// Page-level targeting with multiple values for a single key.
googletag
.pubads().setTargeting('interests', ['baseball', 'basketball']);

明确定位条件

设置定位条件后,在广告位的整个生命周期内,系统都会随每个广告请求一起发送配置的键值对。不过,在某些情况下,您可能希望定位条件随着时间的推移而发生变化。虽然 setTargeting() 可用于添加和覆盖键值对,但无法以这种方式移除键值对。为此,必须改用 Slot.clearTargeting()googletag.pubads().clearTargeting()

// Step 0, define slot- and page-level targeting.
  adSlots
[0] = googletag
   
.defineSlot("/6355419/Travel/Asia", [728, 90], "banner-ad-1")
   
.addService(googletag.pubads())
   
.setTargeting("color", "red")
   
.setTargeting("position", "atf");

  googletag
.pubads().setTargeting("interests", "basketball");

 
// Step 1, clear slot-level color targeting.
  adSlots
[0].clearTargeting("color");

 
// Step 2, clear all page-level targeting.
  googletag
.pubads().clearTargeting();

使用特定键(在槽级或页面级)调用 clearTargeting() 时,系统只会移除该键。如果未指定键,系统会移除该级别的所有定位条件。

在前面的示例中,完成每个步骤后,广告位的有效定位条件如下:

步骤 有效定位
0 color=red AND position=atf AND interests=basketball
1 position=atf AND interests=basketball
2 position=atf