Reklamy natywne

Reklamy natywne to reklamy sformatowane tak, by pasowały do otaczających je treści i projektu wizualnego, co zwiększa prawdopodobieństwo ich obejrzenia i kliknięcia przez użytkowników. Zasoby reklam natywnych są dostępne w aplikacjach mobilnych oraz w witrynach 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 ramach Authorized Buyers, jak i Otwartego ustalania stawek.

Oto procedura w przypadku reklam natywnych:

  1. Google otrzymuje wywołanie reklamy natywnej. Wywołanie określa co najmniej jeden z poniższych szablonów reklam natywnych, z których każdy określa preferowane pola.
  2. Google wysyła do kupujących pytanie o stawkę RTB z listą wymaganych pól.
  3. Zainteresowani kupujący odpowiadają za pomocą wymaganych pól.
  4. Google przeprowadza aukcję, aby wybrać zwycięską stawkę i wysyłać wydawcy zasoby kreacji dostarczone przez kupującego.
  5. Wydawca łączy zasoby w reklamę natywną i dostosowuje je do projektu witryny.

Formaty wiadomości

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

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

Specyfikacja pliku JSON
(PROTOCOL_OPENRTB_2_4)
Typ JSON Implementacja OpenRTB
(PROTOCOL_OPENRTB_PROTOBUF_2_4)
Typ OpenRTB
BidRequest.imp[].native.request string BidRequest.imp[].native.request_native NativeRequest
BidResponse.seatbid[].bid[].adm string BidResponse.seatbid[].bid[].adm_native NativeResponse

Pola OpenRTB zawierają komunikaty Protobuf, a nie ciągi tekstowe.

Jeśli korzystasz z implementacji Protobuf OpenRTB, nie otrzymasz BidRequest.imp[].native.request i musisz odpowiedzieć za pomocą BidResponse.seatbid[].bid[].adm_native. Odpowiedzi na stawkę z parametrem BidResponse.seatbid[].bid[].adm są odfiltrowywane. Identyfikatory zasobów nie są wymagane w przypadku odpowiedzi na stawkę OpenRTB Protobuf.

Jeśli do renderowania reklam natywnych używasz pakietu SDK dla kupujących, przesyłając kreacje do sprawdzenia, musisz w declared_ad umieścić obraz type.

Szablony reklam natywnych

Google obsługuje 2 najpopularniejsze szablony reklam natywnych innych niż wideo i reklamy wideo:

Istnieją też inne szablony, które mogą mieć inny zestaw wymagań dotyczących pól, wymiarów i rozmiarów.

Szablon reklamy promującej instalacje aplikacji

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

  • Pola oznaczone jako Wymagane są wymagane przez licytującego.
  • Pola oznaczone jako Zalecane nie są wymagane przez system licytujący, a po ich dodaniu wydawca może je wyświetlić (np. w postaci gwiazdek).
  • Wezwanie do działania jest zawsze oznaczone jako Zalecane, ponieważ ustawienie domyślne jest przypisywane, jeśli nie zostanie wysłane przez licytującego, ale będzie ono zawsze widoczne po wysłaniu.

W tabeli poniżej znajdziesz pola szablonu reklam promujących instalacje 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 tytuł aplikacji; Wymagane Tak 25 znaków Flood-It!
Obraz zrzut ekranu z aplikacji lub inny powiązany obraz. Wymagane Nie 1200 x 627 pikseli lub 600 x 600 pikseli w zależności od formatu obrazu wymaganego przez wydawcę. <Zrzut ekranu z gry Flood-It!>
Treść Główny tekst aplikacji Wymagane Nie 90 znaków Niepomyślnie prosta + intrygujące wyzwanie = przyjemnie uzależniające.
Ikona aplikacji Ikona aplikacji Wymagane Nie 128 x 128 piks. <Ikona aplikacji Flood-it!>
Wezwanie do działania Preferowane działanie użytkownika Polecane Tak 15 znaków Zainstaluj
Ocena w gwiazdkach Liczba gwiazdek (0–5) reprezentujących ocenę aplikacji w sklepie z aplikacjami Polecane Nie 0–5 4.5
Cena Koszt aplikacji Polecane Nie 15 znaków bezpłatnie

Uwagi na temat długości tekstu

Jeśli kupujący wyśle komponent tekstowy (np. tekst główny) o długości przekraczającej sugerowaną maksymalną liczbę znaków, Google lub wydawca może go skrócić i skrócić. Pamiętaj, że limity obcinania w języku chińskim, japońskim i koreańskim są 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 maksymalnie o 20% w jednym wymiarze (wysokość lub szerokość).
  • Przeskaluj obraz bez zmiany jego proporcji.
  • Obrazy o współczynniku proporcji znacznie odbiegającym od wysokości i szerokości mogą zostać odfiltrowane.

Szablon reklam w sieci reklamowej

W tabeli poniżej znajdziesz pola szablonu reklam 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 W nagłówku reklamy Wymagane Tak 25 znaków Najniższe raty kredytów hipotecznych
Obraz Podstawowy obraz reklamy Wymagane Nie 1200 x 627 pikseli lub 600 x 600 pikseli w zależności od formatu obrazu wymaganego przez wydawcę. <Główny obraz reklamy>
Treść Treść reklamy Wymagane Nie 90 znaków Twój dom na Brooklynie jest tańszy i szybciej, niż Ci się wydaje!
Logo Logo reklamodawcy lub inny odpowiedni mały obraz Polecane Nie 128 x 128 piks. <logo NY Mortgage Inc.>
Wezwanie do działania Preferowane działanie użytkownika Polecane 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 instalacje 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 do pliku XML VAST zawierającego tag Flood-It! reklama wideo
Nagłówek tytuł aplikacji; Wymagane Tak 25 znaków Flood-It!
Obraz Obraz (miniatura) wyświetlana w odtwarzaczu przed kliknięciem reklamy wideo lub podczas jej wczytywania. Wymagane Nie Powinien pasować do formatu filmu (na przykład 1280 x 720 dla filmu 16 x 9, 4 x 3 dla filmu 640 x 480). Zrzut ekranu z gry Flood-It! lub z poziomu filmu
Treść Główny tekst aplikacji Wymagane Nie 90 znaków Niepomyślnie prosta + intrygujące wyzwanie = przyjemnie uzależniają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ących ocenę aplikacji w sklepie z aplikacjami Polecane Nie 0–5 4.5
Cena Koszt aplikacji Polecane Nie 15 znaków bezpłatnie

Ograniczenia

  • Film: wszystkie filmy muszą mieć postać adresu URL VAST lub tagu VAST. Nie można określić nieprzetworzonego pliku wideo, np. WebM, MP4 itp.

  • Długość tekstu: jeśli kupujący określi w odpowiedzi zasób tekstowy, np. body, może on zostać skrócony i obrócony przez Google lub wydawcę. Pamiętaj, że limity obcięcia są o połowę mniejsze w języku chińskim, japońskim i koreańskim. 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 maksymalnie o 20% w jednym wymiarze (wysokość lub szerokość).
    • Przeskaluj obraz bez zmiany jego proporcji.

Przykład reklamy promującej instalacje aplikacji

natywna reklama wideo

Szablon reklamy z treścią wideo

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 do pliku XML VAST zawierającego tag Flood-It! reklama wideo
Nagłówek W nagłówku reklamy Wymagane Tak 25 znaków Najniższe raty kredytów hipotecznych
Obraz Obraz (miniatura) wyświetlana w odtwarzaczu przed kliknięciem reklamy wideo lub podczas jej wczytywania. Wymagane Nie Powinien pasować do formatu filmu (na przykład 1280 x 720 dla filmu 16 x 9, 4 x 3 dla filmu 640 x 480). Zrzut ekranu z filmu
Treść Treść reklamy Wymagane Nie 90 znaków Twój dom na Brooklynie jest tańszy i szybciej, niż Ci się wydaje!
Logo Logo reklamodawcy lub inny odpowiedni mały obraz Polecane 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.

Metapola

Te metapola są używane przez wszystkie obsługiwane szablony reklam:

Bufor protokołów w czasie rzeczywistym w Authorized Buyers Odpowiednik Authorized Buyers OpenRTB Opis
NativeAd.click_link_url Link.url Adres URL, który zostanie wywołany przez przeglądarkę po kliknięciu reklamy przez użytkownika. Może być pierwszym etapem łańcucha przekierowań, który ostatecznie prowadzi do strony docelowej. W przypadku reklam natywnych zalecamy użycie pola click_link_url jako pola umożliwiającego ustawienie miejsca docelowego, do którego kierowani są użytkownicy. Jest to pole wymagane w przypadku dynamicznych stron docelowych.
Ad.click_through_url Bid.adomain

Musi być ustawiony, jeśli licytujący zamierza ustalać stawki. Jest to zestaw docelowych adresów URL fragmentu kodu, w tym adresy URL, na które użytkownik trafi po kliknięciu wyświetlonej reklamy oraz wszystkie adresy URL widoczne w wyrenderowanej reklamie. Nie umieszczaj wywołań pośrednich przesyłanych do serwera reklam, które są niezwiązane z końcową stroną docelową. Odpowiedź na stawkę, która zwraca fragment kodu lub reklamę wideo, ale deklaruje, że nie zawiera żadnej funkcji click_through_url, zostanie odrzucona. Ustawiaj to pole tylko wtedy, gdy ustawiona jest wartość html_snippet, video_url lub native_ad. Dane te są używane jako deklaracja docelowego adresu URL, np. podczas kategoryzacji lub filtrowania adresów URL zablokowanych przez wydawcę. Jeśli korzystasz z reklam natywnych, przeczytaj sekcję NativeAd.click_link_url powyżej.

W przypadku reklam innych niż natywne nie można go używać do śledzenia kliknięć ani do korzystania z innych funkcji reklam. Służy tylko jako deklaracja docelowego adresu URL.

W przypadku reklam natywnych, jeśli zasada NativeAd.click_link_url nie jest skonfigurowana, pierwsza wartość click_through_url służy do kierowania użytkowników na stronę docelową. Poza tym wszystkie wartości są używane jako deklaracje docelowego adresu URL (podobnie jak w przypadku innych niż natywne).

NativeAd.click_tracking_urls Link.clicktrackers Opcjonalnie. Dodatkowe adresy URL, które pozwalają reklamodawcom śledzić kliknięcia reklamy przez użytkowników.
Ad.ad_choices_destination_url BidExt.ad_choices_destination_url Link do strony z ustawieniami reklam lub na stronie rezygnacji. Jeśli dostępna jest standardowa ikona Informacja, jest dodawana do kreacji natywnej i powiązana z tym adresem URL. Jest obsługiwane w przypadku reklam natywnych, ale nie jest zawarte w wiadomości natywnej w odpowiedzi na stawkę.
Ad.impression_tracking_url NativeResponse.imptrackers Wyświetlenie natywne należy śledzić za pomocą protokołu impression_tracking_url w protokole określania stawek w czasie rzeczywistym w Authorized Buyers lub w natywnych modułach do śledzenia wyświetleń w obrębie OpenRTB.

Wartości required_fields i recommended_fields są określane przez wydawcę. Pokazujemy, jak tłumaczyć pola bitowe w celu określenia, czy pole jest wymagane czy zalecane.

Pole bitowe wykorzystuje każdy bit wartości binarnej do przechowywania wyrażenia prawda lub fałsz, co odpowiada wysyłaniu wielu sygnałów logicznych, takich jak is_logo_required, is_header_required itp., ale są one spakowane w całości.

Przykład

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

Najpierw znajdź równoważną wartość binarną: 10000111101

Po uzyskaniu wartości binarnej możesz sprawdzić bity, aby sprawdzić, czy pole jest wymagane (1) czy nie jest wymagane (0).

Tabela poniżej mapuje te pola na ich miejsce w wartości binarnej. Odczytaj kod binarny od prawej do lewej, gdzie 1-bitowa odpowiada skrajnemu miejscu na prawo w wartości binarnej.

Pole Rozmieszczenie 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

Gdy spojrzymy na przykładową wartość binarną 10000111101, 1-bitowa (najbardziej od prawej) to 1, co oznacza wymaganą wartość. Zgodnie z tabelą wartość 1-bitowa odpowiada wartości HEADLINE.

2-bitowa (druga wartość od prawej) to 0, która oznacza, że nie jest wymagana. Wartość 2-bitowa odpowiada wartości BODY.

Oto wszystkie zinterpretowane pola wymagane w naszym przykładzie:

Wartość Opis Wymagana?
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

Wiadomość NativeAdTemplate

Otrzymane pytanie o stawkę zawierające natywne zasoby reklamowe będzie zawierało wypełnione pytanie BidRequest.adSlot[].native_ad_template. Komunikat NativeAdTemplate zawiera specyfikacje:

  • Pola wymagane lub zalecane.
  • Wymiary obrazów, logo i ikon aplikacji.
  • Specyfikacje stylu, w którym jest renderowana reklama.
message BidRequest {
  //...
  message AdSlot {
    //...

    message NativeAdTemplate {
      // Defines the bits used in required_fields and recommended_fields.
      // There is one bit for each of the fields in BidResponse.Ad.NativeAd
      enum Fields {
        NO_FIELDS = 0x0;
        HEADLINE = 0x1;
        BODY = 0x2;
        CALL_TO_ACTION = 0x4;
        ADVERTISER = 0x8;
        IMAGE = 0x10;
        LOGO = 0x20;
        APP_ICON = 0x40;
        STAR_RATING = 0x80;
        PRICE = 0x100;
        DEPRECATED_STORE = 0x200;
        VIDEO = 0x400;
      }

      // Bitfield describing which fields are required by the publisher. Bid
      // responses with no value for these fields will be rejected. Click
      // and view tracking urls are always implicitly required.
      optional int64 required_fields = 1;

      // Bitfield describing which fields are recommended by the publisher.
      // All recommended field are supported, but not all recommended fields
      // are required.
      optional int64 recommended_fields = 2;

      // max_safe_length indicates the maximum number of Unicode characters that
      // are guaranteed to be shown without truncation. Longer strings may be
      // truncated and ellipsized by Ad Exchange or the publisher during
      // rendering.
      optional int32 headline_max_safe_length = 3;
      optional int32 body_max_safe_length = 4;
      optional int32 call_to_action_max_safe_length = 5;
      optional int32 advertiser_max_safe_length = 6;
      optional int32 price_max_safe_length = 15;

      // The width and height from which to calculate the required aspect ratio.
      // You can provide a larger image in the response. Images that have aspect
      // ratios substantially different than those implied by the height and
      // width may be filtered.
      optional int32 image_width = 7;
      optional int32 image_height = 8;
      optional int32 logo_width = 9;
      optional int32 logo_height = 10;
      optional int32 app_icon_width = 11;
      optional int32 app_icon_height = 12;

      // Globally distinct id for the specific style, HTML, and CSS with which
      // the native ad is rendered.
      optional int32 style_id = 16;

      // Type of style layout for each native ad template.
      enum LayoutType {
        PIXEL = 0;
        FLUID = 1;
      }
      optional LayoutType style_layout_type = 17 [default = PIXEL];

      // If the style_layout_type is Pixel, width and height of the
      // entire native ad after rendering. If the style_layout_type is
      // Fluid, the style_height and style_width may optionally
      // not be populated.
      optional int32 style_height = 18;
      optional int32 style_width = 19;
    }
    repeated NativeAdTemplate native_ad_template = 51;
  }

    // NativePlacementType describes placement of native ad slot with respect to
    // surrounding context.
    enum NativePlacementType {
      PLACEMENT_UNKNOWN = 0;
      // In the feed of content - for example as an item inside the organic
      // feed/grid/listing/carousel.
      PLACEMENT_IN_FEED = 1;
      // In the atomic unit of the content - for example, in the article page or single
      // image page.
      PLACEMENT_ATOMIC_UNIT = 2;
      // Outside the core content - for example in the ads section on the right
      // rail, as a banner-style placement near the content, etc.
      PLACEMENT_OUTSIDE = 3;
      // Recommendation widget, most commonly presented below the article
      // content.
      PLACEMENT_RECOMMENDATION = 4;
    }

    optional NativePlacementType native_placement_type = 45;

  // ...
}

Wiadomość reklamy natywnej

Ustalając stawki za natywne zasoby reklamowe, kupujący musi uzupełnić BidResponse.ad[].native_ad polami zadeklarowanymi w odpowiednich polach BidRequest.adSlot[].native_ad_template.

message BidResponse {
  //...
  message Ad {
    //...

    message NativeAd {
      // A short title for the ad.
      optional string headline = 1;

      // A long description of the ad.
      optional string body = 2;

      // A label for the button that the user is supposed to click.
      optional string call_to_action = 3;

      // The name of the advertiser or sponsor, to be displayed in the ad
      // creative.
      optional string advertiser = 4;

      // Next tag to use: 4
      message Image {
        optional string url = 1;

        // Image width and height are specified in pixels. You may provide a
        // larger image than was requested, so long as the aspect ratio is
        // preserved.
        optional int32 width = 2;
        optional int32 height = 3;
      }

      // A large image.
      optional Image image = 5;

      // A smaller image, for the advertiser's logo.
      optional Image logo = 6;

      // The app icon, for app download ads.
      optional Image app_icon = 7;

      // The video file. Only set this field if the video field is requested.
      oneof video {
        // The URL to fetch a video ad. The URL should return an XML response
        // that conforms to VAST standards.
        string video_url = 13;

        // The VAST document to be returned.
        string video_vast_xml = 16;
      }

      // The app rating in the app store. Must be in the range [0-5].
      optional double star_rating = 8;

      // The URL that the browser/SDK will load when the user clicks the ad.
      // This can be the landing page directly, or the first step of a redirect
      // chain that eventually leads to it. For backward compatibility, if this
      // is not set, the first Ad.click_through_url is used.
      optional string click_link_url = 14;

      // The URL to use for click tracking. The SDK pings click tracking url on
      // a background thread. When resolving the url, HTTP 30x redirects are
      // followed. The SDK ignores the contents of the response; this URL
      // has no effect on the landing page for the user.
      // This field is planned to be deprecated and we are moving to the
      // repeated click_tracking_urls field.
      optional string click_tracking_url = 11;

      // The URLs to use for click tracking. This will be used throughout the
      // serving stack and will incorporate any URL in click_tracking_urls.
      repeated string click_tracking_urls = 15;

      // The price of the promoted app including the currency info.
      optional string price = 10;

    };
    optional NativeAd native_ad = 18;

    // The set of destination URLs for the snippet. This includes the URLs that
    // the user will go to if they click on the displayed ad, and any URLs that
    // are visible in the rendered ad. Do not include intermediate calls to the
    // adserver that are unrelated to the final landing page. A BidResponse that
    // returns a snippet or video ad but declares no click_through_url will be
    // discarded. Only set this field if html_snippet or video_url or native_ad
    // are set. This data is used as a destination URL declaration, for example
    // for post-filtering of publisher-blocked URLs or ad categorization.
    //
    // For non-native ads, it is not used for click tracking or any
    // other ad functionality; it is only used as a destination URL
    // declaration.
    //
    // For native ads, if NativeAd.click_link_url is not set, the first
    // value of click_through_url is used to direct the user to the landing
    // page. In addition, all values are used as destination
    // URL declarations (similar to the non-native case).
    repeated string click_through_url = 4;

    //...

    // The URLs to call when the impression is rendered. The SDK pings
    // impression urls on a background thread and ignores the contents
    // of the response.
    repeated string impression_tracking_url = 19;

    // Link to ad preferences page. This is only supported for native ads.
    // If present, a standard AdChoices icon is added to the native ad creative and
    // linked to this URL.
    optional string ad_choices_destination_url = 21;
    // ...
  }
}

Przykładowe pytania o stawkę

Pytania o stawkę inne niż wideo

Google

Plik JSON OpenRTB

Protobuf OpenRTB

Pytania o stawkę za reklamy wideo

Przykładowe odpowiedzi na stawkę

Pamiętaj, że wartości w tych odpowiedziach nie powinny odpowiadać danym powyżej. Jeśli jednak szablon w żądaniu sugeruje wymagane/opcjonalne pola, podane tu odpowiedzi są zgodne z tymi wymaganiami.

Odpowiedzi na stawkę inną niż wideo

Google

Plik JSON OpenRTB

Protobuf OpenRTB

Odpowiedzi na stawkę wideo