Pary klucz-wartość umożliwiają bardziej precyzyjne kierowanie reklam niż według jednostek reklamowych. Dowiedz się więcej o parach klucz-wartość.
Przy każdym żądaniu reklamy możesz przekazać co najmniej 1 klucz, a każdy z kluczy może mieć co najmniej 1 powiązaną wartość. Te pary klucz-wartość będą oceniane na podstawie opcji kierowania skonfigurowanych na poziomie elementu zamówienia w usłudze Ad Manager. Jeśli np. przekażesz w tagu niestandardową parę klucz-wartość age=18-34, będą mogły wyświetlać się reklamy z elementów zamówienia kierowanych na przedział wiekowy 18–34 lata, o ile zostaną spełnione wszystkie pozostałe kryteria.
Ustawianie kierowania
Możesz określić pary klucz-wartość, aby skonfigurować kierowanie na poziomie boksu reklamowego i strony zgodnie z potrzebami sieci.
- Na poziomie slotu
- Umożliwia ustawienie par klucz-wartość w poszczególnych boksach reklamowych na stronie. - Kierowanie na poziomie boksu umożliwia konfigurowanie kierowania na poziomie boksu. Jest to przydatne, gdy poszczególne boksy na tej samej stronie wymagają innego kierowania, ale może być nieskuteczne w sytuacjach, gdy do wszystkich boksów stosujesz te same pary klucz-wartość. Aby użyć kierowania na poziomie slotu, użyj funkcji Slot.setTargeting(), jak w tym przykładzie. 
- Poziom strony
- Umożliwia ustawienie par klucz-wartość we wszystkich boksach reklamowych na stronie. - Kierowanie na poziomie strony zapewnia, że wszystkie boksy reklamowe będą miały ten sam zestaw par klucz-wartość. W niektórych przypadkach może to zmniejszyć łączną ilość kodu potrzebnego do skonfigurowania kierowania. Aby wykorzystać kierowanie na poziomie strony, użyj funkcji googletag.pubads().setTargeting(), jak w tym przykładzie. 
<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>
W tym przykładzie zdefiniowano 2 boksy reklamowe, które określają jednostkę reklamową /6355419/Travel/Asia i rozmiar reklamy 728x90. Następnie stosuje się kierowanie według pary klucz-wartość, aby jeszcze bardziej ograniczyć i zróżnicować reklamy, które mogą się wyświetlać w każdym miejscu docelowym.
Gdy używane jest kierowanie na poziomie boksu i strony, pary klucz-wartość są łączone, a wyświetlanie w danym boksie będą mogły uzyskać tylko reklamy, które spełniają wszystkie kryteria. W tym przykładzie skuteczne kierowanie w przypadku każdego boksu reklamowego:
| Boks reklamowy | Skuteczne kierowanie | 
|---|---|
| 1 | color=red AND position=atf AND interests=basketball | 
| 2 | position=btf AND interests=basketball | 
Kierowanie na wiele kluczy lub wartości
W powyższym przykładzie do zdefiniowania kilku kluczy kierowania na pojedynczy boks reklamowy użyto kombinacji kierowania na boks i kierowania na stronę. Oto kilka alternatywnych metod kierowania, które dają taki sam efekt:
kierowanie tylko na poziomie slotu,
W tym przykładzie wspólne pary klucz-wartość są powtarzane w przypadku każdego boksu reklamowego.
// 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');
Kierowanie domyślne na poziomie strony
W tym przykładzie kierowanie domyślne jest ustawione na poziomie strony i w razie potrzeby zastępowane na poziomie slotu.
// 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());
Możesz też ustawić kierowanie na wiele wartości dla jednego klucza, podając tablicę wartości podczas wywołania funkcji setTargeting():
// Page-level targeting with multiple values for a single key.
googletag.pubads().setTargeting('interests', ['baseball', 'basketball']);
Wyczyść kierowanie
Po ustawieniu kierowania skonfigurowane pary klucz-wartość będą wysyłane z każdym żądaniem reklamy przez cały czas istnienia boksu reklamowego. W niektórych okolicznościach może jednak być pożądane, aby kierowanie zmieniało się z upływem czasu. Chociaż za pomocą funkcji setTargeting() można dodawać i nadpisywać pary klucz-wartość, nie można ich w ten sposób usuwać.
W tym celu należy użyć metody Slot.clearTargeting() lub 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();
Gdy funkcja clearTargeting() jest wywoływana z określonym kluczem (na poziomie slotu lub strony), jest usuwany tylko ten klucz. Jeśli nie podasz klucza, wszystkie ustawienia kierowania na tym poziomie zostaną usunięte. 
W powyższym przykładzie skuteczne kierowanie boksu reklamowego po każdym kroku to:
| Krok | Skuteczne kierowanie | 
|---|---|
| 0 | color=red AND position=atf AND interests=basketball | 
| 1 | position=atf AND interests=basketball | 
| 2 | position=atf |