Reklamy natywne

Reklamy natywne są formatowane w taki sposób, aby pasowały do otaczających je treści i ich wyglądu, co zwiększa prawdopodobieństwo, że użytkownicy je obejrzą i klikną. Zasoby reklamowe w reklamach natywnych są dostępne w aplikacjach mobilnych, a także na stronach internetowych na komputery i urządzenia mobilne. Więcej informacji o reklamach natywnych znajdziesz w artykule Omówienie reklam natywnych.

Reklamy natywne są obsługiwane zarówno w przypadku programu Authorized Buyers, jak i Otwartego ustalania stawek.

Oto proces tworzenia reklam natywnych:

  1. Do Google wysyłane jest wywołanie reklamy natywnej. Wywołanie określa jeden lub oba z tych szablonów reklam natywnych, z których każdy określa preferowane pola natywne.
  2. Google wysyła do kupujących zapytanie o stawkę RTB zawierające listę pól, o które prosi.
  3. Zainteresowani kupujący wypełniają wymagane pola.
  4. Google przeprowadza aukcję, aby wybrać zwycięską stawkę, i wysyła komponenty kreacji dostarczone przez kupującego do wydawcy.
  5. Wydawca umieszcza komponenty w reklamie natywnej i stylizuje je tak, aby pasowały do projektu strony.

Formaty wiadomości

Google obsługuje specyfikację OpenRTB zarówno w formacie JSON, jak i Protobuf.

W przypadku reklam natywnych OpenRTB Protobuf te pola różnią się od specyfikacji:

JSON Typ JSON Protobuf Typ Protobuf
BidRequest.imp[].native.request string BidRequest.imp[].native.request_native NativeRequest
BidResponse.seatbid[].bid[].adm string BidResponse.seatbid[].bid[].adm_native NativeResponse

Pola OpenRTB Protobuf to wiadomości Protobuf, a nie ciągi znaków.

Jeśli używasz implementacji OpenRTB Protobuf, Twój punkt końcowy otrzymuje żądania stawek zawierające BidRequest.imp.native.request_native, a nie BidRequest.imp.native.request. Dodatkowo endpoint musi zwracać odpowiedzi na pytania o stawkę, które wypełniają parametr BidResponse.seatbid.bid.adm_native, a nie BidResponse.seatbid.bid.adm, ponieważ w przeciwnym razie zostanie odfiltrowany z aukcji.

Jeśli do renderowania reklam natywnych używasz pakietu SDK kupującego, musisz dołączyć obraz typedeclared_ad, gdy przesyłasz kreację do sprawdzenia.

Szablony reklam natywnych

Szablony reklam natywnych opisują komponenty reklamy natywnej i określają zawartość oraz strukturę elementu NativeRequest w usłudze OpenRTB lub elementu NativeAdTemplate w usłudze przesyłającego reklamy, który jest przestarzałym protokołem Google RTB. Google obsługuje 2 najpopularniejsze szablony reklam natywnych w przypadku reklam natywnych z obrazem i bez obrazu:

Istnieją też inne szablony, które mogą mieć inne wymagania dotyczące pól, wymiarów i rozmiarów.

Szablon reklamy promującej instalację aplikacji

W tabelach poniżej pola są oznaczone jako Wymagane lub Zalecane. Obowiązują następujące zasady:

  • Pola oznaczone jako Wymagane są wymagane przez licytującego.
  • Pola oznaczone jako Zalecany nie są wymagane przez licytującego, a wydawca może je wyświetlać lub nie (np. ocenę w gwiazdkach).
  • Wezwanie do działania jest zawsze oznaczone jako Zalecane, ponieważ jeśli oferent nie przesyła wezwania do działania, jest ono domyślnie przypisywane, ale zawsze będzie wyświetlane, jeśli zostanie przesłane.

W tabeli poniżej znajdziesz listę pól szablonu reklamy namawiającej do zainstalowania aplikacji. Aplikacje mobilne używają tych pól do tworzenia reklam natywnych promujących instalacje aplikacji.

Pole Opis Wymagany czy zalecany? Zawsze wyświetlane? Zalecany rozmiar obrazu/maksymalna liczba znaków Przykład
Nagłówek nazwę aplikacji; Wymagane Tak 25 znaków Flood-It!
Obraz zrzut ekranu z aplikacji lub inny odpowiedni obraz. Wymagane Nie 1200 x 627 pikseli lub 600 x 600 pikseli w zależności od wymaganego przez wydawcę współczynnika proporcji. <Zrzut ekranu z gry Flood-It!>
Treść Główny tekst aplikacji Wymagane Nie 90 znaków Podstępnie proste i kusie wyzwaniami = wciągające!
Ikona aplikacji Ikona aplikacji Wymagane Nie 128 x 128 piks. <ikona aplikacji Flood-it!>
Wezwanie do działania Preferowane działanie użytkownika Zalecane Tak 15 znaków Zainstaluj
Ocena w gwiazdkach Liczba gwiazdek (0–5) reprezentująca ocenę aplikacji w sklepie z aplikacjami Zalecane Nie 0–5 4,5
Cena Koszt aplikacji Zalecane Nie 15 znaków Wersja bezpłatna

Uwagi dotyczące długości tekstu

Jeśli kupujący prześle zasób tekstowy (np. tekst w polu treści), który jest dłuższy niż sugerowana maksymalna liczba znaków, Google lub wydawca może go przyciąć i użyć elipsy. Pamiętaj, że limity obcinania tekstu są w przypadku języków chiński, japoński i koreański o połowę mniejsze. Na przykład limit nagłówka w języku angielskim wynosi 90 znaków, a w chińskim – 45.

Uwagi na temat rozmiaru obrazu

Wydawcy mogą:

  • Przytnij główny obraz symetrycznie o maksymalnie 20% w jednym wymiarze (wysokość lub szerokość).
  • Zmień rozmiar obrazu bez zmiany jego formatu.
  • Obrazy o proporcjach znacznie różniących się od tych sugerowanych przez wysokość i szerokość mogą zostać odfiltrowane.

Szablon reklamy z treścią

Tabela poniżej zawiera listę pól szablonu reklamy z treścią. wydawcy używają tych pól do tworzenia reklam natywnych z treścią.

Pole Opis Wymagany czy zalecany? Zawsze wyświetlane? Zalecany rozmiar obrazu/maksymalna liczba znaków * Przykład
Nagłówek Nagłówek reklamy Wymagane Tak 25 znaków Najniższe oprocentowanie kredytu hipotecznego
Obraz Podstawowy obraz reklamy Wymagane Nie 1200 x 627 pikseli lub 600 x 600 pikseli w zależności od wymaganego przez wydawcę współczynnika proporcji. <Główny obraz reklamy>
Treść Treść reklamy Wymagane Nie 90 znaków Twój dom w Brooklynie – tańszy i szybszy niż myślisz
Logo logo reklamodawcy lub inny odpowiedni mały obraz. Zalecane Nie 128 x 128 piks. <NY Mortgage Inc.'s logo>
Wezwanie do działania Preferowane działanie użytkownika Zalecane Nie 15 znaków Uzyskaj wycenę
Reklamodawca Tekst, który określa reklamodawcę lub markę Wymagane Nie 25 znaków NY Mortgage Inc.

Szablon reklamy wideo promującej instalację aplikacji

Pole Opis Wymagany czy zalecany? Zawsze wyświetlane? Zalecany rozmiar obrazu/maksymalna liczba znaków * Przykład
Wideo Odpowiedź wideo VAST zawierająca wszystkie zasoby niezbędne do odtworzenia reklamy wideo. Wymagane Nie - URL pliku XML VAST zawierającego Flood-It! Reklama wideo
Nagłówek nazwę aplikacji; Wymagane Tak 25 znaków Flood-It!
Obraz Obraz (miniatura) wyświetlany w odtwarzaczu przed kliknięciem reklamy wideo lub podczas jej wczytywania. Wymagane Nie Powinien pasować do formatu obrazu filmu (np. 1280 x 720 w przypadku filmu 16:9, 640 x 480 w przypadku filmu 4:3). Zrzut ekranu z gry Flood-It! lub z poziomu filmu
Treść Główny tekst aplikacji Wymagane Nie 90 znaków Podstępnie proste i kusie wyzwaniami = wciągające!
Ikona aplikacji Ikona aplikacji Wymagane Nie 128 x 128 piks. Ikona aplikacji Flood-It!
Wezwanie do działania Preferowane działanie użytkownika Wymagane Tak 15 znaków Zainstaluj
Ocena w gwiazdkach Liczba gwiazdek (0–5) reprezentująca ocenę aplikacji w sklepie z aplikacjami. Zalecane Nie 0–5 4,5
Cena Koszt aplikacji Zalecane Nie 15 znaków Wersja bezpłatna

Ograniczenia

  • Wideo: wszystkie filmy muszą mieć postać adresu URL VAST lub tagu VAST. Nie można wskazywać nieprzetworzonego pliku wideo, takiego jak WebM, MP4 itp.

  • Długość tekstu: jeśli kupujący określi w odpowiedzi komponent tekstowy, np. body, może on zostać skrócony przez Google lub wydawcę. Pamiętaj, że limity znaków są w językach chińskim, japońskim i koreańskim o połowę mniejsze. Na przykład limit nagłówka w języku angielskim wynosi 90 znaków, a w chińskim – 45.

  • Rozmiar obrazu: wydawcy mogą:

    • Przytnij główny obraz symetrycznie o maksymalnie 20% w jednym wymiarze (wysokość lub szerokość).
    • Zmień rozmiar obrazu bez zmiany jego formatu.

Przykład reklamy promującej instalację aplikacji

natywne kreacje wideo

Szablon reklamy wideo z treścią

Pole Opis Wymagany czy zalecany? Zawsze wyświetlane? Zalecany rozmiar obrazu/maksymalna liczba znaków * Przykład
Wideo Odpowiedź wideo VAST zawierająca wszystkie zasoby niezbędne do odtworzenia reklamy wideo. Wymagane Tak - URL pliku XML VAST zawierającego Flood-It! Reklama wideo
Nagłówek Nagłówek reklamy Wymagane Tak 25 znaków Najniższe oprocentowanie kredytu hipotecznego
Obraz Obraz (miniatura) wyświetlany w odtwarzaczu przed kliknięciem reklamy wideo lub podczas jej wczytywania. Wymagane Nie Powinien pasować do formatu obrazu filmu (np. 1280 x 720 w przypadku filmu 16:9, 640 x 480 w przypadku filmu 4:3). zrzut ekranu z filmu,
Treść Treść reklamy Wymagane Nie 90 znaków Twój dom w Brooklynie – tańszy i szybszy niż myślisz
Logo logo reklamodawcy lub inny odpowiedni mały obraz. Zalecane Nie 128 x 128 piks. Logo NY Mortgage Inc.
Wezwanie do działania Preferowane działanie użytkownika Wymagane Nie 15 znaków Uzyskaj wycenę
Reklamodawca Tekst, który określa reklamodawcę lub markę Wymagane Nie 25 znaków NY Mortgage Inc.

Pola meta

Wszystkie obsługiwane szablony reklam udostępniają te metadane:

Protokół Google RTB Odpowiednik OpenRTB Opis
NativeAd.click_link_url Link.url Adres URL, który przeglądarka wywoła, gdy użytkownik kliknie reklamę. Może być pierwszym krokiem łańcucha przekierowań, który prowadzi do strony docelowej. W przypadku reklam natywnych zalecamy użycie pola click_link_url do określenia miejsca docelowego, do którego użytkownik ostatecznie trafi. W przypadku dynamicznych stron docelowych użycie tego pola jest wymagane.
Ad.click_through_url Bid.adomain

Musi być ustawiony, jeśli licytujący zamierza licytować. To zbiór docelowych adresów URL fragmentu, w tym adresów URL, do których użytkownik trafi po kliknięciu wyświetlanej reklamy, oraz adresów URL widocznych w wyrenderowanej reklamie. Nie uwzględniaj pośrednich wywołań serwera reklam, które nie są powiązane z ostateczną stroną docelową. Odpowiedź BidResponse, która zwraca fragment kodu lub reklamę wideo, ale nie deklaruje wartości click_through_url, zostanie odrzucona. Ustaw to pole tylko wtedy, gdy zmienne środowiskowe html_snippet, video_url lub native_ad są ustawione. Dane te są używane jako deklaracja docelowego adresu URL, np. do filtrowania adresów URL zablokowanych przez wydawcę lub kategoryzowania reklam. Podczas korzystania z reklam natywnych zapoznaj się z informacjami w artykule NativeAd.click_link_url.

W przypadku reklam niestandardowych nie jest on używany do śledzenia kliknięć ani do innych funkcji reklamy. Służy tylko do deklaracji docelowego adresu URL.

W przypadku reklam natywnych, jeśli parametr NativeAd.click_link_url nie jest ustawiony, do przekierowania użytkownika na stronę docelową używana jest pierwsza wartość parametru click_through_url. Dodatkowo wszystkie wartości są używane jako deklaracje docelowych adresów URL (podobnie jak w przypadku niestandardowych).

NativeAd.click_tracking_urls Link.clicktrackers Opcjonalnie: Dodatkowe adresy URL, które umożliwiają reklamodawcom śledzenie kliknięć reklamy przez użytkowników.
Ad.ad_choices_destination_url BidExt.ad_choices_destination_url link do strony z ustawieniami reklam lub strony z opcją rezygnacji z reklam; Jeśli występuje, do kreacji natywnej zostanie dodana standardowa ikona AdChoices i połączona z tym adresem URL. Jest to obsługiwane w przypadku reklam natywnych, ale nie jest częścią wiadomości natywnej w odpowiedzi na stawkę.
Ad.impression_tracking_url NativeResponse.imptrackers Impresje natywnych powinny być śledzone za pomocą protokołu impression_tracking_url w ramach określania stawek w czasie rzeczywistym w programie Authorized Buyers lub śledzenia wyświetleń w ramach OpenRTB.

required_fieldsrecommended_fields są określane przez wydawcę. Pokazujemy, jak przetłumaczyć te pola bitowe, aby określić, czy pole jest wymagane, czy zalecane.

Pole bitowe używa każdego bitu wartości binarnej do przechowywania stwierdzenia „prawda” lub „fałsz”. Jest to równoznaczne z wysyłaniem wielu sygnałów logicznych, takich jak is_logo_required lub is_header_required, ale wszystkie razem.

Przykład

W tym przykładzie użyjemy wartości required_fields 1085.

Najpierw znajdź odpowiednią wartość binarną:10000111101

Gdy masz wartość binarną, możesz sprawdzić bity, aby dowiedzieć się, czy pole jest wymagane (1) czy nie (0).

W tabeli poniżej pola są powiązane z ich miejscem w wartości binarnej. Dane binarne odczytuje się od prawej do lewej, przy czym 1-bit odpowiada miejscu po prawej stronie wartości binarnej.

Pole Umieszczanie wartości binarnych (od prawej do lewej)
HEADLINE 1
BODY 2
CALL_TO_ACTION 4
ADVERTISER 8
IMAGE 16
LOGO 32
APP_ICON 64
STAR_RATING 128
PRICE 256
STORE 512
VIDEO 1024

W przykładzie wartości binarnej 10000111101 bit 1 (najbardziej na prawo) ma wartość 1, co oznacza wymaganą wartość. Zgodnie z tabelą 1 bit odpowiada HEADLINE.

2-bit (druga wartość od prawej) to 0, co oznacza, że nie jest wymagane. 2-bitowy odpowiada BODY.

Oto wszystkie zinterpretowane wymagane pola w naszym przykładzie:

Wartość Opis Wymagany?
1 VIDEO Tak
0 STORE Nie
0 PRICE Nie
0 STAR_RATING Nie
0 APP_ICON Nie
1 LOGO Tak
1 IMAGE Tak
1 ADVERTISER Tak
1 CALL_TO_ACTION Tak
0 BODY Nie
1 HEADLINE Tak

Reprezentacja szablonu reklamy natywnej w pytaniu o stawkę

Gdy otrzymasz pytanie o stawkę zawierające natywny zasób reklamowy, będzie ono zawierać szablon reklamy natywnej w różnych formach w zależności od używanego protokołu. Zalecamy korzystanie z OpenRTB, ponieważ protokół Google został wycofany.

W OpenRTB szablon reklamy natywnej jest opisany za pomocą wiadomości NativeRequest. W protokole Google RTB jest on opisany za pomocą atrybutu NativeAdTemplate. Te wiadomości zawierają te informacje o asortymencie reklam natywnych:

  • pola wymagane lub zalecane.
  • Wymiary obrazów, logo i ikon aplikacji.
  • Specyfikacja stylu, w jakim renderowana jest reklama.

Identyfikatory komponentów OpenRTB

OpenRTB przekazuje tablicę komponentów w żądaniu stawki, które opisują strukturę reklamy natywnej, którą należy zwrócić w odpowiedzi. Każdy zasób w żądaniu będzie mieć identyfikator, który musi być podany w przypadku odpowiedniego zasobu w odpowiedzi. Przykłady zgodności tych identyfikatorów między żądaniem a odpowiedzią znajdziesz w przykładowym żądaniu o stawkę w wersji natywnejprzykładowej odpowiedzi na żądanie o stawkę w wersji natywnej.

Prezentacja reklamy natywnej w odpowiedzi na stawkę

Podczas określania stawek za natywne zasoby reklamowe kupujący musi wypełnić wymagane pola wskazane w pytaniu o stawkę. W OpenRTB możesz to zrobić za pomocą parametru BidResponse.seatbid.bid.adm_native, jeśli używasz Protobufa, lub za pomocą parametru BidResponse.seatbid.bid.adm, jeśli używasz kodu JSON. W przypadku przestarzałego protokołu Google odbywa się to za pomocą pola BidResponse.ad.native_ad.

Przykładowe pytania o stawkę

Pytania o stawkę dotyczące reklam innych niż wideo

Zserializowane żądanie
id: "l6210s8bS8Uc726V81B821"
imp {
  id: "1"
  tagid: "3019814809"
  bidfloor: 0.06
  bidfloorcur: "USD"
  secure: true
  native {
    ver: "1.2"
    request_native {
      ver: "1.2"
      assets {
        id: 1
        required: true
        title {
          len: 25
        }
      }
      assets {
        id: 2
        required: true
        data {
          type: DESC
          len: 90
        }
      }
      assets {
        id: 3
        data {
          type: CTATEXT
          len: 15
        }
      }
      assets {
        id: 4
        required: true
        img {
          type: MAIN
          wmin: 1200
          hmin: 627
        }
      }
      assets {
        id: 5
        img {
          type: LOGO
          wmin: 100
          hmin: 100
        }
      }
      eventtrackers {
        event: IMPRESSION
        methods: IMG
      }
      privacy: true
      [com.google.doubleclick.native_ext] {
        style_id: 497439
        style_height: 1
        style_width: 1
        style_layout_type: FLUID
      }
    }
  }
  exp: 3600
  metric {
    type: "click_through_rate"
    value: 0.0006697923527099192
    vendor: "EXCHANGE"
  }
  metric {
    type: "viewability"
    value: 0.05
    vendor: "EXCHANGE"
  }
  [com.google.doubleclick.imp] {
    billing_id: 50577321529
    dfp_ad_unit_code: "/3711494/google/test"
    ampad: AMP_AD_ALLOWED_AND_NOT_EARLY_RENDERED
    buyer_generated_request_data {
      data: "Test Data"
    }
    excluded_creatives {
      buyer_creative_id: "EXCLUDED_BUYER_CREATIVE_ID"
    }
    excluded_creatives {
      buyer_creative_id: "EXCLUDED_BUYER_CREATIVE_ID"
    }
    open_bidding {
      is_open_bidding: true
    }
    creative_enforcement_settings {
      policy_enforcement: POLICY_ENFORCEMENT_PLATFORM_POLICY
      publisher_blocks_enforcement: PUBLISHER_BLOCKS_ENFORCEMENT_OVERRIDDEN
    }
    auction_environment: SERVER_SIDE_AUCTION
    ae: SERVER_SIDE_AUCTION
  }
}
site {
  page: "https://www.google.com"
  publisher {
    id: "pub-1111111111111111"
    [com.google.doubleclick.publisher] {
      country: "FR"
    }
  }
  content {
    livestream: false
    language: "fr"
  }
  [com.google.doubleclick.site] {
    amp: DIALECT_HTML
    page_visibility: VISIBILITY_STATE_VISIBLE
    inventorypartnerdomain: ""
    ntype: NAVIGATION_TYPE_NAVIGATE
  }
}
device {
  ua: "OMITTED"
  geo {
    lat: 0.0
    lon: 0.0
    country: "FRA"
    region: "FR-C"
    zip: "63120"
    type: IP
    utcoffset: 120
    accuracy: 6948
    [com.google.doubleclick.geo] {
      geo_criteria_id: 9112278
    }
  }
  ipv6: "2a01:cb14:8183::"
  os: "Windows"
  devicetype: PERSONAL_COMPUTER
  lmt: false
  pxratio: 1.0
  sua {
    browsers {
      brand: "Chromium"
      version: "130"
      version: "0"
    }
    browsers {
      brand: "Microsoft Edge"
      version: "130"
      version: "0"
    }
    platform {
      brand: "Windows"
      version: "15"
      version: "0"
    }
    mobile: false
    architecture: "x86"
    bitness: "64"
    source: CLIENT_HINTS_HIGH_ENTROPY
  }
}
user {
  [com.google.doubleclick.user] {
    consented_providers_settings {
      consented_providers: 1712
      consented_providers: 2316
      additional_consent: "OMITTED"
    }
    consent: "OMITTED"
    eids {
      source: "OMITTED"
      uids {
        id: "12JD92JD8078S8J29SDOAKC0EF230337"
      }
    }
  }
}
at: FIRST_PRICE
tmax: 350
cur: "USD"
regs {
  gpp: "OMITTED"
  [com.google.doubleclick.regs] {
    gdpr: true
  }
}
source {
  schain {
    complete: true
    nodes {
      asi: "testssp.com"
      sid: "pub-1111111111111111"
      hp: true
    }
    ver: "1.0"
  }
  [com.google.doubleclick.source] {
    schain {
      complete: 1
      nodes {
        asi: "testssp.com"
        sid: "pub-1111111111111111"
        hp: 1
      }
      ver: "1.0"
    }
  }
}
[com.google.doubleclick.bid_request] {
  google_query_id: "ANy-zyo598-4J62UYQ5J70Wm78t166uKD8322K98ik4X5496cn305Sp16t94Mhegp514jh1v"
  fcap_scope: FREQUENCY_CAPPING_SCOPE_NONE
}
{
  "id": "l6210s8bS8Uc726V81B821",
  "imp": [
    {
      "id": "1",
      "tagid": "3019814809",
      "bidfloor": 0.06,
      "bidfloorcur": "USD",
      "secure": 1,
      "native": {
        "ver": "1.2",
        "request": "{\"ver\":\"1.2\",\"assets\":[{\"id\":1,\"required\":1,\"title\":{\"len\":25}},{\"id\":2,\"required\":1,\"data\":{\"type\":2,\"len\":90}},{\"id\":3,\"data\":{\"type\":12,\"len\":15}},{\"id\":4,\"required\":1,\"img\":{\"type\":3,\"wmin\":1200,\"hmin\":627}},{\"id\":5,\"img\":{\"type\":2,\"wmin\":100,\"hmin\":100}}],\"eventtrackers\":[{\"event\":1,\"methods\":[1]}],\"privacy\":1,\"ext\":{\"style_id\":497439,\"style_height\":1,\"style_width\":1,\"style_layout_type\":1}}"
      },
      "exp": 3600,
      "metric": [
        {
          "type": "click_through_rate",
          "value": 0.0006697923527099192,
          "vendor": "EXCHANGE"
        },
        {
          "type": "viewability",
          "value": 0.05,
          "vendor": "EXCHANGE"
        }
      ],
      "ext": {
        "billing_id": [
          "50577321529"
        ],
        "dfp_ad_unit_code": "/3711494/google/test",
        "ampad": 3,
        "buyer_generated_request_data": [
          {
            "data": "Test Data"
          }
        ],
        "excluded_creatives": [
          {
            "buyer_creative_id": "EXCLUDED_BUYER_CREATIVE_ID"
          },
          {
            "buyer_creative_id": "EXCLUDED_BUYER_CREATIVE_ID"
          }
        ],
        "open_bidding": {
          "is_open_bidding": 1
        },
        "creative_enforcement_settings": {
          "policy_enforcement": 1,
          "publisher_blocks_enforcement": 2
        },
        "auction_environment": 0,
        "ae": 0
      }
    }
  ],
  "site": {
    "page": "https://www.google.com",
    "publisher": {
      "id": "pub-1111111111111111",
      "ext": {
        "country": "FR"
      }
    },
    "content": {
      "livestream": 0,
      "language": "fr"
    },
    "ext": {
      "amp": 0,
      "page_visibility": 1,
      "inventorypartnerdomain": "OMITTED",
      "ntype": 1
    }
  },
  "device": {
    "ua": "OMITTED",
    "geo": {
      "lat": 0.0,
      "lon": 0.0,
      "country": "FRA",
      "region": "FR-C",
      "zip": "63120",
      "type": 2,
      "utcoffset": 120,
      "accuracy": 6948,
      "ext": {
        "geo_criteria_id": 9112278
      }
    },
    "ipv6": "2a01:cb14:8183::",
    "os": "Windows",
    "devicetype": 2,
    "lmt": 0,
    "pxratio": 1.0,
    "sua": {
      "browsers": [
        {
          "brand": "Chromium",
          "version": [
            "130",
            "0"
          ]
        },
        {
          "brand": "Microsoft Edge",
          "version": [
            "130",
            "0"
          ]
        }
      ],
      "platform": {
        "brand": "Windows",
        "version": [
          "15",
          "0"
        ]
      },
      "mobile": 0,
      "architecture": "x86",
      "bitness": "64",
      "source": 2
    }
  },
  "user": {
    "ext": {
      "consented_providers_settings": {
        "consented_providers": [
          "1712",
          "2316"
        ],
        "additional_consent": "OMITTED"
      },
      "consent": "OMITTED",
      "eids": [
        {
          "source": "OMITTED",
          "uids": [
            {
              "id": "12JD92JD8078S8J29SDOAKC0EF230337"
            }
          ]
        }
      ]
    }
  },
  "at": 1,
  "tmax": 350,
  "cur": [
    "USD"
  ],
  "regs": {
    "gpp": "OMITTED",
    "ext": {
      "gdpr": 1
    }
  },
  "source": {
    "schain": {
      "complete": 1,
      "nodes": [
        {
          "asi": "testssp.com",
          "sid": "pub-1111111111111111",
          "hp": 1
        }
      ],
      "ver": "1.0"
    },
    "ext": {
      "schain": {
        "complete": 1,
        "nodes": [
          {
            "asi": "testssp.com",
            "sid": "pub-1111111111111111",
            "hp": 1
          }
        ],
        "ver": "1.0"
      }
    }
  },
  "ext": {
    "google_query_id": "ANy-zyo598-4J62UYQ5J70Wm78t166uKD8322K98ik4X5496cn305Sp16t94Mhegp514jh1v",
    "fcap_scope": 1
  }
}
Zserializowane żądanie
id: "\213\371#\236Mh\214uJ\356\225qW88=7|\2448\315Wx"
ip: "\300\250"
user_agent: "OMITTED"
url: "https://www.google.com"
detected_language: "it"
adslot {
  id: 1
  excluded_attribute: 14
  excluded_attribute: 32
  allowed_vendor_type: 42
  allowed_vendor_type: 144
  excluded_sensitive_category: 36
  excluded_sensitive_category: 19
  matching_ad_data {
    billing_id: 74792558829
    billing_id: 11204117851
    minimum_cpm_micros: 390000
  }
  matching_ad_data {
    billing_id: 44428418146
    billing_id: 91112044263
    minimum_cpm_micros: 110000
  }
  slot_visibility: BELOW_THE_FOLD
  excluded_product_category: 10366
  excluded_product_category: 11504
  ad_block_key: 8767661977
  publisher_settings_list_id: 7807286827624818876
  publisher_settings_list_id: 8186380472781289268
  allowed_restricted_category: 32
  allowed_restricted_category: 33
  excluded_creatives {
    buyer_creative_id: "EXCLUDED_BUYER_CREATIVE_ID"
  }
  excluded_creatives {
    buyer_creative_id: "EXCLUDED_BUYER_CREATIVE_ID"
  }
  iframing_state: UNKNOWN_IFRAME_STATE
  viewability: 6
  allowed_restricted_category_for_deals: 32
  allowed_restricted_category_for_deals: 33
  click_through_rate: 0.0010397299
  allowed_ad_types: ALLOWED_AD_TYPE_NATIVE
  is_amp_page: DIALECT_HTML
  amp_ad_requirement_type: AMP_AD_ALLOWED_AND_NOT_EARLY_RENDERED
  secure_signals {
    data: "Test Data: bw44G12BFZ"
    source: "OMITTED"
  }
  consented_providers_settings {
    tcf_consent_string: "OMITTED"
    additional_consent_string: "OMITTED"
  }
  regs_gdpr: true
  native_ad_template {
    required_fields: 17
    recommended_fields: 0
    headline_max_safe_length: 90
    body_max_safe_length: 90
    call_to_action_max_safe_length: 15
    advertiser_max_safe_length: 25
    image_width: 1200
    image_height: 627
    style_id: 749853
    style_layout_type: FLUID
    style_height: 1
    style_width: 1
  }
  creative_enforcement_settings {
    policy_enforcement: POLICY_ENFORCEMENT_PLATFORM_POLICY
    publisher_blocks_enforcement: PUBLISHER_BLOCKS_ENFORCEMENT_APPLIES
  }
  auction_environment: SERVER_SIDE_AUCTION
  impression_expiration_seconds: 3600
  supported_auction_environment: SERVER_SIDE_AUCTION
}
is_test: false
timezone_offset: 120
geo_criteria_id: 1008463
bid_response_feedback {
  request_id: "\314\354d\177=@0\271\226a^\250\302u\037\301"
  creative_status_code: 1
  event_notification_token: "token"
  buyer_creative_id: "test_creative_id_744913"
  minimum_bid_to_win: 220000
  feedback_type: BID_FEEDBACK
}
bid_response_feedback {
  request_id: "\2354\335\340\347!\341~\265\n\206\327\300\005\370G"
  creative_status_code: 80
  event_notification_token: "token"
  buyer_creative_id: "test_creative_id_744913"
  minimum_bid_to_win: 3450000
  feedback_type: BID_FEEDBACK
}
publisher_type: PUBLISHER_OWNED_AND_OPERATED
device {
  device_type: PERSONAL_COMPUTER
  platform: "Windows"
  screen_pixel_ratio_millis: 1000
  limit_ad_tracking: false
}
publisher_country: "IT"
publisher_id: "pub-1111111111111111"
response_deadline_ms: 350
google_query_id: "ANy-zJXQF6-ob5v09r508m39543114QNHDY20RX67Ajs996K62nkEpcMuvWam950XP9486e6"
auction_type: FIRST_PRICE
geo {
  lat: 0.0
  lon: 0.0
  country: "ITA"
  region: "IT-MI"
  city: "Milan"
  utcoffset: 120
  accuracy: 6821
}
user_agent_data {
  platform {
    brand: "Windows"
    version: "10"
    version: "0"
  }
  mobile: false
  architecture: "x86"
  browsers {
    brand: "Chromium"
    version: "128"
    version: "0"
  }
  browsers {
    brand: "Not;A=Brand"
    version: "24"
    version: "0"
  }
  bitness: "64"
  source: CLIENT_HINTS_HIGH_ENTROPY
}
page_visibility: VISIBILITY_STATE_VISIBLE
supply_chain {
  complete: true
  nodes {
    advertising_system_identifier: "testdomain.com"
    seller_identifier: "pub-1111111111111111"
    handles_payment: true
  }
  version: "1.0"
}
frequency_capping_scope: FREQUENCY_CAPPING_SCOPE_NONE
privacy_treatments {
  allow_user_data_collection: true
}
inventory_partner_domain: "OMITTED"

Pytania o stawkę dotyczące filmów

{
  id: "\\\123/f\000\t\456&\n\789\1234\"\001a\123",
  ip: "\0338\355",
  google_user_id: "CAESEJ1ur2l94_8ruuu",
  cookie_version: 1,
  cookie_age_seconds: 5184000,
  hosted_match_data: "W9ABDAAAAGR67nl0",
  user_agent: "Mozilla/5.0 (Linux; Android 5.1; CP8298_I00) Mobile Safari/537.36",
  publisher_country: "IN",
  geo_criteria_id: 1007796,
  timezone_offset: 330,
  publisher_id: "pub-2230723027927371",
  seller_network_id: 989,
  url: "https://m.example.com",
  detected_language: [en],
  google_query_id: "ANy-zJEgdus4l0MishbSmH0eOcXUA1Fbo4_tKROsbR37q",
  auction_type: "SECOND_PRICE",
  device: {
    device_type: "HIGHEND_PHONE",
    platform: "android",
    brand: "coolpad",
    model: "cp8298_i00",
    os_version: {
      major: 5,
      minor: 1
    },
    carrier_id: 70210,
    screen_width: 360,
    screen_height: 640,
    screen_pixel_ratio_millis: 2000
  },
  mobile: {
    is_app: false,
    is_mobile_web_optimized: true,
    DEPRECATED_platform: "android",
    DEPRECATED_mobile_device_type: "HIGHEND_PHONE",
    DEPRECATED_brand: "coolpad",
    DEPRECATED_model: "cp8298_i00",
    DEPRECATED_os_version: {
      os_version_major: 5,
      os_version_minor: 1
    },
    DEPRECATED_screen_width: 360,
    DEPRECATED_screen_height: 640,
    DEPRECATED_carrier_id: 70210,
    DEPRECATED_device_pixel_ratio_millis: 2000
  },
  publisher_type: "ADX_PUBLISHER_OWNED_AND_OPERATED",
  adslot: [{
    id: 1,
    ad_block_key: 2882274820,
    width:   [300,250],
    height:   [250,250],
    excluded_attribute:   [114,22,34,25,27,13,14,15,16,17,18,19,20,25,27,22],
    allowed_vendor_type:   [42,144,575,698,704,743,776,785,793,797,808,828,832,885],
    excluded_sensitive_category:   [36,27,19,4,23,30,10,3,31,5,8,37,18],
    excluded_product_category:   [10031,11669,13423,13525,13566,13589,13612,13740],
    excluded_creatives:   [{
      buyer_creative_id: "1234567.1234567890-ssl"
    }],
    matching_ad_data:   [{
      billing_id:     [6629616415,51386650457],
      minimum_cpm_micros: 1380000,
      direct_deal:     [{
        direct_deal_id: 410401,
        fixed_cpm_micros: 1360000,
        deal_type: "PREFERRED_DEAL",
        publisher_blocks_overridden: true
      },{
        direct_deal_id: 240644,
        fixed_cpm_micros: 1500000,
        deal_type: "PREFERRED_DEAL",
        publisher_blocks_overridden: true
      }]
    },{
      billing_id:     [1234567890],
      minimum_cpm_micros: 1380000
    }],
    publisher_settings_list_id:   [12109930661871909476,11138951146123409010],
    slot_visibility: "BELOW_THE_FOLD",
    viewability: 30,
    click_through_rate: 0.0010072842,
    iframing_state: "UNKNOWN_IFRAME_STATE",
    native_ad_template:   [{
      required_fields: 1065,
      recommended_fields: 4,
      headline_max_safe_length: 25,
      body_max_safe_length: 90,
      call_to_action_max_safe_length: 15,
      advertiser_max_safe_length: 25,
      logo_width: 100,
      logo_height: 100,
      style_id: 199892,
      style_height: 250,
      style_width: 300
    }],
    sticky_settings: {

    },
    renderer: "GOOGLE",
    is_amp_page: "DIALECT_HTML",
    amp_ad_requirement_type: "AMP_AD_ALLOWED_AND_NOT_EARLY_RENDERED",
    allowed_ad_types:   [ALLOWED_AD_TYPE_BANNER,ALLOWED_AD_TYPE_NATIVE],
    session_depth: 1,
    internal_data: {

    }
  }],
  response_deadline_ms: 122,
  is_test: false
}

Przykładowe odpowiedzi na stawkę

Odpowiedzi na stawkę w przypadku reklam innych niż wideo

Zserializowana odpowiedź
id: "22i22S9494PQl819H7Ld5K"
seatbid {
  bid {
    id: "2GTnPXOn76gg1C6574T"
    impid: "1"
    price: 0.24
    adid: "test_creative_id_713312"
    adomain: "google.com"
    crid: "test_creative_id_713312"
    exp: 300
    language: "xx"
    adm_native {
      ver: "1.2"
      assets {
        id: 1
        title {
          text: "Luxury Mars Cruises"
        }
      }
      assets {
        id: 2
        data {
          value: "Visit the planet in a luxury spaceship."
        }
      }
      assets {
        id: 3
        data {
          value: "Book today"
        }
      }
      assets {
        id: 4
        img {
          url: "https://native.test.com/image?id=123456"
          w: 1200
          h: 627
        }
      }
      assets {
        id: 5
        img {
          url: "https://native.test.com/logo?id=123456"
          w: 1200
          h: 1200
        }
      }
      link {
        url: "https://www.google.com"
        clicktrackers: "https://native.test.com/click?id=123456"
      }
      eventtrackers {
        event: IMPRESSION
        method: IMG
        url: "https://test.com/event?id=123456"
      }
      eventtrackers {
        event: IMPRESSION
        method: IMG
        url: "https://test.com/event?id=123456"
      }
      privacy: "https://adssettings.google.com/whythisad?source=display&reasons=OMITTED"
    }
    [com.google.doubleclick.bid] {
      event_notification_token {
        payload: "token"
      }
      billing_id: 50577321529
      third_party_buyer_token: "4G79rr82Ah8r51859j2XT2RBR1BW2808IQrAa2nRjf63oo5w71y8q929t794MO75n4642HmE5HQ2B1jj9a03w6BFxc4D0mVReL1NgZ42aj7l308820m77pg004705U32AC81b7nkghu7"
    }
  }
  seat: "5249:9218:332606"
}
cur: "USD"
{
  "id": "22i22S9494PQl819H7Ld5K",
  "seatbid": [
    {
      "bid": [
        {
          "id": "2GTnPXOn76gg1C6574T",
          "impid": "1",
          "price": 0.24,
          "adid": "test_creative_id_713312",
          "adomain": [
            "google.com"
          ],
          "crid": "test_creative_id_713312",
          "exp": 300,
          "language": "xx",
          "ext": {
            "event_notification_token": {
              "payload": "token"
            },
            "billing_id": "50577321529",
            "third_party_buyer_token": "4G79rr82Ah8r51859j2XT2RBR1BW2808IQrAa2nRjf63oo5w71y8q929t794MO75n4642HmE5HQ2B1jj9a03w6BFxc4D0mVReL1NgZ42aj7l308820m77pg004705U32AC81b7nkghu7"
          },
          "adm": "{\"ver\":\"1.2\",\"assets\":[{\"id\":1,\"title\":{\"text\":\"Luxury Mars Cruises\"}},{\"id\":2,\"data\":{\"value\":\"Visit the planet in a luxury spaceship.\"}},{\"id\":3,\"data\":{\"value\":\"Book today\"}},{\"id\":4,\"img\":{\"url\":\"https://native.test.com/image?id=123456\",\"w\":1200,\"h\":627}},{\"id\":5,\"img\":{\"url\":\"https://native.test.com/logo?id=123456\",\"w\":1200,\"h\":1200}}],\"link\":{\"url\":\"https://www.google.com\",\"clicktrackers\":[\"https://native.test.com/click?id=123456\"]},\"eventtrackers\":[{\"event\":1,\"method\":1,\"url\":\"https://test.com/event?id=123456\"},{\"event\":1,\"method\":1,\"url\":\"https://test.com/event?id=123456\"}],\"privacy\":\"https://adssettings.google.com/whythisad?source=display&reasons=OMITTED\"}"
        }
      ],
      "seat": "5249:9218:332606"
    }
  ],
  "cur": "USD"
}
Zserializowana odpowiedź
ad {
  adslot {
    id: 1
    max_cpm_micros: 110734
    min_cpm_micros: 0
    billing_id: 74792558829
    deal_id: 0
  }
  click_through_url: "google.com"
  attribute: 47
  attribute: 8
  buyer_creative_id: "test_creative_id_907643"
  advertiser_name: "Google"
  native_ad {
    headline: "Luxury Mars Cruises"
    body: "Visit the planet in a luxury spaceship."
    call_to_action: "Book today"
    advertiser: "Galactic Luxury Cruises"
    image {
      url: "https://native.test.com/image?id=123456"
      width: 800
      height: 800
    }
    logo {
      url: "https://native.test.com/logo?id=123456"
      width: 200
      height: 200
    }
    price: "\342\202\254 225"
    click_link_url: "https://www.google.com"
  }
  impression_tracking_url: "https://test.com/imp?id=123456"
  impression_tracking_url: "https://test.com/imp?id=123456"
  ad_choices_destination_url: "https://test.com/preferences"
  event_notification_token: "token"
  dsa_transparency {
    buyer_render: true
  }
}
processing_time_ms: 27

Odpowiedzi na stawkę w filmie

bid_response {
  ad {
    ...
    click_through_url: "https://www.exampleDomain.com"
    impression_tracking_url: "https://my_impression_tracking_url.com/"
    ad_choices_destination_url: "https://my_ad_choices_destination_url.com/"
    ...
    native_ad {
      headline: "Lowest mortgage rates"
      video_url: "https://pubads.g.doubleclick.net/gampad/ads?sz=640x480&iu=/124319096/external/single_ad_samples&ciu_szs=300x250&impl=s&gdfp_req=1&env=vp&output=vast"
      call_to_action: "Get a quote"
      advertiser: "NY Mortgage Inc."
      image {
        url: "https://www.example.net/mypromoimage.png"
        width: 1200
        height: 700
      }
      logo {
        url: "https://www.example.net/mylogo.png"
        width: 200
        height: 200
      }
      click_link_url: "https://r1.example.com/r/u1dhfh3cow00/b1_googleadx/830/41972/ ?_b_ctrl=1"
      click_tracking_urls: "https://my_click_tracking_url.com/"
    }
  }
}