Annunci HTML AMP su RTB

In questa pagina viene descritto come iniziare a utilizzare Annunci HTML AMP con in tempo reale. Per saperne di più, consulta le Risorse di seguito. sugli annunci HTML AMP e sugli strumenti che ti aiuteranno a iniziare.

Approccio generale

Richiesta di offerta RTB

La richiesta di offerta RTB indica se la richiesta proviene da una pagina AMP e i requisiti per gli annunci HTML AMP.

OpenRTB

pagina 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;
}

Requisiti degli annunci HTML AMP

// 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 di Authorized Buyers

pagina AMP

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

Requisiti degli annunci HTML AMP

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

Risposta all'offerta RTB

OpenRTB

Tra OpenRTB 3.0 e le relative funzionalità pubblicitarie Common Model include diverse aggiunte al supporto degli annunci HTML AMP nel le bozze di specifiche più recenti dell'IAB, tra cui le seguenti.

Offerta Campo Attrezzatura Tipo Descrizione
Richiesta Site.amp amp integer Il campo Site.amp indica se la pagina viene visualizzata in AMP, omesso se sconosciuto:
0 = la pagina non è AMP
1 = la pagina è stata creata con HTML AMP
Richiesta ampformat rend integer La specifica di formato AMP indica i requisiti e il rendering comportamento degli annunci HTML AMP:
1 = I requisiti degli annunci AMP non sono noti
2 = Gli annunci AMP non sono consentiti
3 = Sono consentiti annunci AMP o annunci non AMP; Gli annunci AMP non vengono visualizzati in anticipo
4 = Sono consentiti annunci AMP o non AMP e il rendering degli annunci AMP viene eseguito prima
5 = Gli annunci AMP sono obbligatori. Gli annunci non AMP potrebbero essere rifiutati dal publisher
500+ = valori specifici della piattaforma di scambio pubblicitario; devono essere comunicate a priori agli offerenti
Risposta display curl stringa Nella risposta all'offerta, è stato aggiunto display.curl per poter inviare creatività tramite un URL, incluso il supporto per gli annunci HTML AMP.
Questo è l'URL in cui si troverà il markup della creatività. Applicabile a tipi di creatività come: annunci AMP, VAST, DAAST e nativi. Solitamente, solo uno tra adm o curl è valido in un determinato annuncio.

RTB di Authorized Buyers

Il campo BidResponse.Ad.amp_ad_url nell'offerta di Authorized Buyers di risposta accetta un URL che rimanda al contenuto dell'annuncio HTML AMP. Esiste lo stesso campo come estensione nell'oggetto Bid nella tabella OpenRTB di Google implementazione.

// 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;

Verifica del codice HTML AMP valido

Per la visualizzazione anticipata degli annunci HTML AMP, la piattaforma di scambio deve verificare e firmale, per indicare che l'annuncio è scritto nel formato della creatività amp4ads <html amp4ads>.

Le pagine AMP possono visualizzare in anticipo gli annunci con HTML AMP valido. Google Ads non verificati come HTML AMP validi verranno visualizzati alla stessa velocità di annunci non AMPHTML.

Nell'amp_ad_url devono essere restituiti solo annunci HTML AMP.

In futuro, se un publisher richiede solo annunci HTML AMP, gli annunci non firmati come Il rendering HTML AMP non verrà eseguito.

Con Authorized Buyers, gli offerenti vengono comunque addebitati se restituiscono un da un annuncio non AMPHTML a un'area annuncio richiesta per l'annuncio HTML AMP.

Recupero lato server

Affinché gli annunci HTML AMP possano essere visualizzati in anteprima, è necessario eseguire il rendering del contenuto dell'annuncio HTML AMP senza richiedere ulteriori hop da parte del client. Questa soluzione è progettata per evitare esperienze utente negative a causa della latenza dell'annuncio e delle chiamate lato client aggiuntive.

Dopo che un offerente vince l'asta, la piattaforma di scambio pubblicitario eseguirà una richiesta server-to-server per recuperare il contenuto dell'annuncio HTML AMP presente nell'URL fornito in amp_ad_url. I server delle creatività devono rispondere e restituire entro 300 ms.

L'annuncio HTML AMP restituito dal server della creatività verrà inserito nel tag dell'area annuncio e successivamente sottoposti a rendering. Tieni presente che un annuncio HTML AMP valido non può contenere iframe o altri tag <amp-ad>. Consulta il documento AMPHTML specifiche degli annunci.

Funzionalità solo beta: se necessario, contatta il team dedicato al tuo account

Durante il recupero server-to-server dell'annuncio HTML AMP (specificato in amp_ad_url), Authorized Buyers potrebbe trasmettere l'intestazione HTTP e l'IP dal browser dell'utente al server delle creatività. Questo assicura che la creatività un server riceve informazioni simili a quelle inviate da un server lato client standard recupero. In alcuni casi, l'indirizzo IP potrebbe essere troncato ai primi 3 byte (IPv4) o i primi 6 byte (IPv6). Se necessario, contatta il team dedicato al tuo account. funzionalità. Ecco un'intestazione HTTP di esempio:

URL di monitoraggio delle impressioni e macro clic

Gli acquirenti RTB spesso includono i tracker delle impressioni come campo strutturato nella risposta all'offerta (si tratta di Bid.burl, l'"URL notifica di fatturazione" in OpenRTB 2.5).

Con Authorized Buyers, invece, vengono attivati sul lato client. pixel AMP attiva gli URL di monitoraggio quando la creatività viene visualizzata. amp-analytics consentono di gestire casi d'uso di monitoraggio più avanzati, oltre al rendering.

Gli annunci HTML AMP devono contenere una macro clic valida in HTML AMP. L'URL assume generalmente la seguente forma:

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

Le creatività spesso includono cookie con pixel corrispondenti all'interno del codice creatività. Gli annunci HTML AMP possono utilizzare pixel AMP e amp-analytics componenti per questo caso d'uso. Se il tuo caso d'uso non può essere supportato utilizzando amp-analytics o amp-pixel, apri un Problema GitHub di cui discutere opzioni alternative. Accogliamo con piacere le nuove estensioni che possono essere ampiamente utilizzate diverse aziende. Consulta dettagliato linee guida o un tecnico guida alla creazione di una nuova estensione.

URL di annunci AMP di esempio da testare

Puoi utilizzare il seguente contenuto di annuncio HTML AMP di esempio per il test:

Risorse

Il progetto AMP e Google hanno messo a disposizione una serie di risorse utili per iniziare:

Creare annunci in AMP
Proposte specifiche per RTB a IAB / OpenRTB Group