指定鍵/值

鍵/值可用來指定廣告目標,比廣告單元更精細。進一步瞭解鍵/值

您可以針對每個廣告請求傳遞一或多個鍵,每個鍵都有一或多個相關聯的值。我們會根據鍵在 Ad Manager 委刊項層級所設定的指定目標選項,評估這些鍵/值。舉例來說,如果您傳送自訂鍵/值 age=18-34,凡是指定年齡層 18-34 的委刊項均可放送 (前提是符合所有其他條件)。

設定指定目標

您可以根據聯播網的需求,在版位層級和網頁層級指定鍵/值設定指定目標。

版位層級

可讓您為網頁上的個別廣告版位設定鍵/值。

版位層級指定目標可讓您設定每個版位的指定目標。 如果同一個頁面中的個別廣告版位需要不同的指定目標,這項功能就非常實用,但如果是將相同的鍵/值套用至所有運算單元,則可能效率較低。使用 Slot.setSpec() 以使用版位層級指定目標,如以下範例所示。

網頁層級

可讓您為網頁上的所有廣告版位設定鍵/值。

網頁層級指定目標可確保所有廣告版位都擁有同一組鍵/值。在某些情況下,這可能會減少設定指定目標所需的程式碼總數。使用 googletag.pubads().setSpec() 以使用網頁層級指定目標,如以下範例所示。

<head>
  <script async src="https://securepubads.g.doubleclick.net/tag/js/gpt.js"></script>
  <script>
    window.googletag = window.googletag || {cmd: []};

    // GPT slots
    var adSlots = [];

    googletag.cmd.push(function() {
      // 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.clear 指定目標()googletag.pubads().clear 指定目標()

// 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