Reklamy AMP HTML zamiast RTB

Na tej stronie dowiesz się, jak zacząć korzystać Reklamy AMP HTML z RTB. Więcej informacji znajdziesz w materiałach poniżej. o reklamach AMP HTML i narzędziach, które pomogą Ci zrobić pierwsze kroki.

Podejście ogólne

Pytanie o stawkę RTB

Pytanie o stawkę RTB wskazuje, czy żądanie pochodzi ze strony AMP. i wymaganiami dotyczącymi reklam AMP HTML.

OpenRTB

strona AMP

message SiteExt {
  enum AmpPage {
    // This is not an AMP page.
    DIALECT_HTML = 0;

    // This is an Amp page.
    DIALECT_HTML_AMP = 1;
  }

  // Whether this is an AMP page or not. Omitted if unknown.
  optional AmpPage amp = 1;
  enum VisibilityState {
    VISIBILITY_STATE_UNKNOWN = 0;

    // The page is at least partially visible. For example, in the foreground
    // tab of a non-minimized window.
    VISIBILITY_STATE_VISIBLE = 1;

    // The page is not visible to users. For example, when the page is in a
    // background browser tab, or in a minimized window.
    VISIBILITY_STATE_HIDDEN = 2;
  }

  // The visibility state of the web page containing the ad slot.
  // See https://www.w3.org/TR/page-visibility/.
  // [AdX: BidRequest.page_visibility]
  optional VisibilityState page_visibility = 2 [default =
    VISIBILITY_STATE_UNKNOWN];

  // Information about a browser window's user activation state. See
  // https://html.spec.whatwg.org/multipage/interaction.html#the-useractivation-interface.
  message UserActivation {
    // Indicates whether a user has completed an interaction since page load.
    optional bool wasact = 1;

    // Indicates whether a user is currently interacting with the page.
    optional bool isact = 2;
  }

  // User activation information from the browser for the current request, if
  // the request is for a web page.
  optional UserActivation uact = 5;

  // The set of possible web navigation types that predicate a page load. Each
  // of these types may have different performance characteristics. For example,
  // users going back and forth might experience a faster site than users
  // performing navigation for the first time or submitting forms. See
  // https://w3c.github.io/navigation-timing/#dom-performancenavigationtiming-type.
  enum NavigationType {
    NAVIGATION_TYPE_UNKNOWN = 0;

    // Navigation started by clicking a link, entering the URL in the browser's
    // address bar, form submission, or initializing through a script operation
    // other than reload and back_forward.
    NAVIGATION_TYPE_NAVIGATE = 1;

    // Navigation is through the browser's reload operation, location.reload(),
    // or a Refresh pragma directive like
    // <meta http-equiv="refresh" content="300">.
    NAVIGATION_TYPE_RELOAD = 2;

    // Navigation is through the browser's history traversal operation.
    NAVIGATION_TYPE_BACK_FORWARD = 3;

    // Navigation is initiated by a prerender hint (deprecated). See
    // https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/rel/prerender.
    NAVIGATION_TYPE_PRERENDER = 4;
  }

  // The type of browser navigation that led to the current page. Unset for
  // non-web ad requests.
  optional NavigationType ntype = 6;

  // Indicates that the request is using semi-transparent branding,
  // which means only a truncated version of the request URL will
  // be provided. This decision is made by the publisher, see
  // https://support.google.com/admanager/answer/4584891#urls for context.
  optional bool is_semi_transparent_request = 3;

  // The domain of the partner (of the site owner) with ownership
  // of some portion of ad inventory on the site. The partner's ads.txt file
  // will be hosted here. More detail at
  // http://iabtechlab.com/wp-content/uploads/2021/03/ctv-app-ads-explainer-guide.pdf
  optional string inventorypartnerdomain = 4;
}

Wymagania dotyczące reklam AMP HTML

// Ad Exchange extensions for the Imp object.
message ImpExt {
...
  // Possible requirement types for AMP ads.
  enum AmpAdRequirementType {
    // AMP ad requirements unknown.
    UNKNOWN_AMP_AD_REQUIREMENT_TYPE = 1;
    // AMP ads are not allowed.
    AMP_AD_NOT_ALLOWED = 2;
    // Either AMP ads or non-AMP ads are allowed;
    // AMP ads are not early rendered.
    AMP_AD_ALLOWED_AND_NOT_EARLY_RENDERED = 3;
    // Either AMP ads or non-AMP ads are allowed;
    // AMP ads are early rendered.
    AMP_AD_ALLOWED_AND_EARLY_RENDERED = 4;
    // AMP ads are required.
    // Ads that are non-AMP may be rejected by the publisher.
    AMP_AD_REQUIRED = 5;
    // Exchange-specific values above 500.
  }
  optional AmpAdRequirementType ampad = 8
    [default = UNKNOWN_AMP_AD_REQUIREMENT_TYPE];
}

RTB w Authorized Buyers

strona AMP

// Whether this is an AMP page or not.
enum AmpPage {
  // AMP page status unknown.
  UNKNOWN_AMP_PAGE = 0;

Wymagania dotyczące reklam AMP HTML

// Possible requirement types for AMP ads.
enum AmpAdRequirementType {
  // AMP ad requirements unknown.
  UNKNOWN_AMP_AD_REQUIREMENT_TYPE = 0;

Odpowiedź na stawkę RTB

OpenRTB

W OpenRTB 3.0 i powiązane z nim Reklamy Typowy model zawiera kilka dodatków do obsługi reklam AMP HTML najnowszą wersję roboczą specyfikacji IAB, w tym:

Stawka Pole Attr Typ Opis
Żądanie Site.amp amp liczba całkowita Pole Site.amp wskazuje, czy strona jest renderowana. w AMP, pominięty, jeśli jest nieznany:
0 = strona jest inna niż AMP
1 = strona została utworzona w formacie AMP HTML
Żądanie ampformat rend liczba całkowita Specyfikacja formatu AMP wskazuje wymagania i sposób renderowania w przypadku reklam AMP HTML:
1 = wymagania dotyczące reklam AMP są nieznane
2 = reklamy AMP są niedozwolone
3 = dozwolone są reklamy AMP lub reklamy inne niż AMP; Reklamy AMP nie są wczesne renderowanie
4 = dozwolone są reklamy AMP lub reklamy inne niż AMP, a reklamy AMP są wczesne renderowanie
5 = wymagane są reklamy AMP. Reklamy inne niż AMP mogą zostać odrzucone przez wydawcę.
500+ = wartości właściwe dla danej giełdy; należy zawiadamiać licytujących a priori
Odpowiedź display curl ciąg znaków Do odpowiedzi na stawkę dodano pole display.curl, które umożliwia przesyłanie danych za pomocą adresu URL, w tym obsługi reklam AMP HTML.
Jest to URL, pod którym zostaną znalezione znaczniki kreacji. Dotyczy typów kreacji takich jak: Reklamy AMP, VAST, DAAST i reklamy natywne. Normalnie w danej reklamie poprawny jest tylko jeden atrybut adm lub curl.

RTB w Authorized Buyers

Pole BidResponse.Ad.amp_ad_url stawki w Authorized Buyers odpowiedzi akceptują adres URL wskazujący treść reklamy AMP HTML. To samo pole już istnieje jako rozszerzenie w obiekcie Bid w narzędziu OpenRTB firmy Google implementacji.

// The URL to fetch an AMPHTML ad. Only one of the following should be set:
// html_snippet, video_url, amp_ad_url, native_ad.
optional string amp_ad_url = 23;

Weryfikacja prawidłowego formatu AMP HTML

Aby reklamy AMP HTML mogły zostać wczesne wyrenderowanie, giełda musi zweryfikować co oznacza, że reklama jest napisana w formacie kreacji amp4ads <html amp4ads>.

Reklamy zgodne z prawidłowym kodem AMP HTML będą mogły być wcześniej renderowane na stronach AMP. Reklamy niezweryfikowane jako prawidłowe reklamy AMP HTML będą renderowane z taką samą szybkością reklamy inne niż AMP HTML.

Element amp_ad_url powinien zwracać tylko reklamy AMP HTML.

Jeśli w przyszłości wydawca będzie wymagał tylko reklam AMP HTML, reklamy niepodpisane jako AMP HTML nie będzie renderowane.

W Authorized Buyers licytujący nadal będą obciążani płatnościami, jeśli zwrócą reklamę inną niż AMP HTML do boksu reklamowego wymagającego reklam AMP HTML.

Pobieranie po stronie serwera

Aby reklamy AMP HTML były wczesne renderowane, treść reklamy AMP HTML musi być renderowana bez konieczności wykonywania dodatkowych przeskoków ze strony klienta. Ma to na celu uniknięcie negatywne wrażenia użytkowników ze względu na czas oczekiwania na reklamy i dodatkowe wywołania po stronie klienta.

Gdy licytujący wygra aukcję, giełda wykona żądanie między serwerami umożliwiające pobranie treści reklamy AMP HTML znajdującej się pod adresem URL dostępne w języku: amp_ad_url. Serwery kreacji muszą odpowiadać i zwracać w ciągu 300 ms.

Reklama AMP HTML zwrócona z serwera kreacji zostanie wstrzyknięta do parametru boks reklamowy, a następnie renderowany. Pamiętaj, że prawidłowa reklama AMP HTML nie może zawierać Elementy iframe lub inne tagi <amp-ad>. Zobacz artykuł na temat AMP HTML specyfikację reklam.

Funkcja dostępna tylko w wersji beta: w razie potrzeby skontaktuj się z zespołem ds. kont

Podczas pobierania reklamy AMP HTML między serwerami (określonej w polu amp_ad_url), kupujący z Authorized Buyers mogą przekazywać nagłówek HTTP i adres IP. z przeglądarki użytkownika na serwer kreacji. Dzięki temu kreacja serwer odbiera informacje podobne do wysyłanych ze standardowej po stronie klienta pobrać. W niektórych przypadkach adres IP może zostać skrócony tylko do 3 pierwszych bajtów. (IPv4) lub pierwsze 6 bajtów (IPv6). W razie potrzeby skontaktuj się z zespołem ds. kont funkcji. Oto przykładowy nagłówek HTTP:

Linki monitorujące wyświetlenia i makra kliknięć

Kupujący, którzy korzystają z RTB, często umieszczają moduły do śledzenia wyświetleń jako uporządkowane pole. (czyli Bid.burl, „adres URL powiadomienia o płatności” w OpenRTB 2.5).

W Authorized Buyers będą one uruchamiane po stronie klienta. amp-pixel. uruchamia linki monitorujące podczas renderowania kreacji. amp-analytics może radzić sobie z bardziej zaawansowanymi zastosowaniami śledzenia, nie tylko podczas renderowania.

Reklamy AMP HTML muszą zawierać prawidłowe makro kliknięcia w: AMP HTML. Zwykle ma ono postać podobną do tej:

<a href="%%CLICK_URL_UNESC%%http%3A%2F%2my.adserver.com%2Fsome%2Fpath%2Fhandleclick%3Fclick%3Dclk"></a>
<a href=”https://my.adserver.com/click?google_click_url=%%CLICK_URL_ESC%%”></a>

Kreacje często zawierają pliki cookie w kodzie kreacji. W reklamach AMP HTML można stosować amp-pixel. i amp-analytics dla tego zastosowania. Jeśli Twój przypadek użycia nie może zostać uwzględniony przy użyciu amp-analytics lub amp-pixel, otwórz Problem z GitHubem do omówienia opcje alternatywne. Zachęcamy do tworzenia nowych rozszerzeń, z których mogą korzystać wiele różnych firm. Zobacz szczegółowo wytycznych lub techniczne tworzenia nowego rozszerzenia.

Przykładowe adresy URL reklam AMP do testowania

Do testowania możesz użyć tej przykładowej treści reklamy AMP HTML:

Zasoby

W ramach projektu AMP we współpracy z Google udostępniliśmy zasoby, które ułatwiają rozpoczęcie pracy:

Tworzenie reklam w AMP
Oferty pakietowe RTB przeznaczone dla grup IAB / OpenRTB