指定鍵/值

比起廣告單元,鍵/值可讓您在指定廣告時,設定比廣告單元更精細的條件。進一步瞭解鍵/值

您可以為每個廣告請求傳遞一或多個鍵,每個鍵都會對應至一或多個相關值。系統會根據在 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