指定鍵/值

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

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