En esta página, se describe cómo comenzar a usar Anuncios HTML de AMP con o RTB. Consulta los Recursos más abajo para obtener información adicional sobre los anuncios HTML de AMP y las herramientas para ayudarte a comenzar.
Enfoque general
Solicitud de oferta RTB
La solicitud de oferta de RTB indica si la solicitud proviene de una página de AMP. y los requisitos para los anuncios HTML de AMP.
OpenRTB
página de 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; }
Requisitos de anuncios HTML de 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 de Authorized Buyers
página de AMP
// Whether this is an AMP page or not. enum AmpPage { // AMP page status unknown. UNKNOWN_AMP_PAGE = 0;
Requisitos de anuncios HTML de AMP
// Possible requirement types for AMP ads. enum AmpAdRequirementType { // AMP ad requirements unknown. UNKNOWN_AMP_AD_REQUIREMENT_TYPE = 0;
Respuesta a la oferta de RTB
OpenRTB
En OpenRTB 3.0 y los archivos de Publicidad En el Modelo común, se incluyen varias incorporaciones para admitir anuncios HTML de AMP. más recientes de la IAB, incluidas las siguientes.
Oferta | Campo | Attr | Tipo | Descripción |
---|---|---|---|---|
Solicitud | Site.amp |
amp |
integer | El campo Site.amp indica si se renderiza la página
En AMP, se omite si se desconoce:0 = La página no es de AMP1 = La página se creó con HTML de AMP |
Solicitud | ampformat |
rend |
integer | La especificación de formato de AMP indica los requisitos y la renderización
Comportamiento de los anuncios HTML de AMP:1 = Se desconocen los requisitos de los anuncios de AMP2 = No se permiten los anuncios de AMP3 = Se permiten anuncios de AMP o que no sean de AMP. Los anuncios de AMP no se dibujan antes de tiempo4 = Se permiten anuncios de AMP o que no sean de AMP, y los anuncios de AMP se dibujan antes5 = Los anuncios de AMP son obligatorios. Es posible que el publicador rechace los anuncios que no sean de AMP500+ = Valores específicos de intercambio; debe informarse a los ofertantes con anticipación |
Respuesta | display |
curl |
string | En la respuesta a la oferta, se agregaron display.curl para poder enviar
a través de una URL, incluida la compatibilidad con anuncios HTML de AMP.Esta es la URL en la que se encontrará el lenguaje de marcado de la creatividad. Se aplican a tipos de creatividades como los siguientes: como anuncios de AMP, VAST, DAAST y nativos. Normalmente, solo uno de los atributos adm o curl es válido para un anuncio determinado. |
RTB de Authorized Buyers
El campo BidResponse.Ad.amp_ad_url
en la oferta de Authorized Buyers
aceptan una URL que dirija al contenido de anuncios HTML de AMP. Existe el mismo campo
como una extensión en el objeto Bid
en OpenRTB de Google
para implementarlos.
// 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;
Verificación de HTML de AMP válido
Para que los anuncios HTML de AMP se dibujen de forma anticipada, el intercambio debe verificar y
fírmalo, lo que indica que el anuncio está escrito en formato de creatividad <html
amp4ads>
de amp4ads.
Las páginas de AMP podrán renderizar anticipadamente los anuncios HTML de AMP válidos. Anuncios que no estén verificados como HTML de AMP válidos, se renderizarán a la misma velocidad que anuncios que no son HTML de AMP.
Solo se deben mostrar anuncios HTML de AMP en amp_ad_url
.
En el futuro, si un publicador solo requiere anuncios HTML de AMP, los anuncios que no estén firmados No se renderizará HTML de AMP.
Con Authorized Buyers, se les seguirá cobrando a los ofertantes si devuelven un un anuncio que no sea HTML de AMP a un espacio publicitario requerido por este tipo de anuncio.
Recuperación del servidor
Para que los anuncios HTML de AMP se dibujen de forma anticipada, se debe renderizar el contenido del anuncio HTML de AMP sin requerir saltos adicionales del cliente. Esto se diseñó para evitar experiencias del usuario deficientes debido a la latencia del anuncio y las llamadas adicionales del cliente.
Después de que un ofertante gana la subasta, el intercambio realizará una
solicitud de servidor a servidor para recuperar el contenido del anuncio HTML de AMP ubicado en la URL
proporcionados en amp_ad_url
. Los servidores de creatividades deben responder y regresar
dentro de 300 ms.
El anuncio HTML de AMP que muestra el servidor de creatividades se insertará en la
espacio publicitario y, luego, renderizado. Tenga en cuenta que un anuncio HTML de AMP válido no puede incluir
iframes y otras etiquetas <amp-ad>
. Consulte el HTML de AMP
especificaciones de anuncios para obtener más detalles.
Función solo en versión beta: Comunícate con el equipo de cuentas si la necesitas
Durante la recuperación servidor a servidor del anuncio HTML de AMP (especificado en
amp_ad_url
), es posible que Authorized Buyers pase el encabezado HTTP y la IP
del navegador del usuario al servidor de la creatividad. Esto garantiza que la creatividad
recibe información similar a la enviada desde una interfaz de cliente estándar
recuperar. En algunos casos, es posible que la dirección IP se trunque solo para los primeros 3 bytes
(IPv4) o los primeros 6 bytes (IPv6). Si necesitas esto, comunícate con el equipo de cuentas
. Este es un ejemplo de encabezado HTTP:
URL de seguimiento de impresiones y macros de clics
Los compradores de RTB suelen incluir rastreadores de impresiones como un campo estructurado en
respuesta a oferta (es decir, Bid.burl
, la “URL del aviso de facturación” en
OpenRTB 2.5).
En el caso de Authorized Buyers, estas acciones se activarán del cliente. píxel-amp activa las URLs de seguimiento cuando se renderiza la creatividad. amp-analytics pueden manejar casos de uso de seguimiento más avanzados más allá de la renderización.
Los anuncios HTML de AMP deben contener una macro de clics válida en el HTML de AMP. Esto suele tener la forma de algo como esto:
<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>
Concordancia de cookies
Las creatividades suelen incluir cookies
píxeles coincidentes dentro del código de la creatividad. Los anuncios HTML de AMP pueden usar la
píxel-amp
y amp-analytics.
para este caso de uso. Si su caso de uso no se puede adaptar
amp-analytics
o amp-pixel
, abre un
Problema de GitHub para analizar
opciones alternativas. Aceptamos nuevas extensiones que puedan usarse
varias empresas diferentes. Consulta
detallada
lineamientos o
técnico
guía para crear una extensión nueva.
Ejemplos de URL de anuncios de AMP para pruebas
Puede usar el siguiente ejemplo de contenido del anuncio HTML de AMP para realizar las pruebas:
Recursos
El proyecto AMP y Google lanzaron una serie de recursos para ayudarte a comenzar:
- Cómo crear anuncios en AMP
- HTML de AMP Especificaciones de formato de creatividad de anuncio (GitHub)
- HTML de AMP Descripción general de Google Ads (GitHub)
- Anuncios HTML de AMP Sitio web del proyecto AMP
- Ejemplo Anuncios HTML de AMP
- Velocidad Comparación de la velocidad de carga de un anuncio HTML de AMP anuncio normal. Mejor visualización con una conexión 3G.
- Propuestas específicas de RTB a IAB / OpenRTB Group