Esta página descreve como começar a usar anúncios HTML para AMP com RTB. Confira os Recursos abaixo para mais informações sobre anúncios e ferramentas HTML para AMP para ajudar você a começar.
Abordagem de alto nível
Solicitação de lance de RTB
A solicitação de lance RTB indica se ela vem de uma página AMP e os requisitos dos anúncios HTML para AMP.
OpenRTB
página 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 dos anúncios HTML para 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 do Authorized Buyers
página AMP
// Whether this is an AMP page or not. enum AmpPage { // AMP page status unknown. UNKNOWN_AMP_PAGE = 0;
Requisitos dos anúncios HTML para AMP
// Possible requirement types for AMP ads. enum AmpAdRequirementType { // AMP ad requirements unknown. UNKNOWN_AMP_AD_REQUIREMENT_TYPE = 0;
Resposta do lance de RTB
OpenRTB
Em OpenRTB 3.0 e a Publicidade que o acompanha Modelo comum, incluímos várias outras adições no especificações de rascunho mais recentes do IAB, incluindo as seguintes.
Lance | Campo | Atributos | Tipo | Descrição |
---|---|---|---|---|
Solicitação | Site.amp |
amp |
número inteiro | O campo Site.amp indica se a página foi renderizada
nas AMP, omitida se for desconhecida:0 = a página não é AMP1 = a página é criada com HTML para AMP |
Solicitação | ampformat |
rend |
número inteiro | As especificações de formato AMP indicam os requisitos e a renderização
comportamento dos anúncios HTML para AMP:1 = os requisitos dos anúncios AMP são desconhecidos2 = não são permitidos anúncios AMP3 = anúncios AMP ou não AMP são permitidos; Os anúncios AMP não são renderizados cedo4 = São permitidos anúncios AMP ou não AMP, e os anúncios AMP são renderizados antecipadamente5 = os anúncios AMP são obrigatórios. Anúncios não AMP podem ser rejeitados pelo editor500+ = valores específicos da troca; deve ser comunicada aos proponentes a priori |
Resposta | display |
curl |
string | Na resposta do lance, display.curl foi adicionado para poder enviar
criativos por meio de um URL, incluindo a compatibilidade com anúncios HTML para AMP.Esse é o URL em que a marcação do criativo será encontrada. Aplicável a tipos de criativos, como: anúncios AMP, VAST, DAAST e nativos. Normalmente, apenas um de adm ou curl é válido em um determinado anúncio. |
RTB do Authorized Buyers
O campo BidResponse.Ad.amp_ad_url
no lance do Authorized Buyers
aceita um URL que aponta para o conteúdo do anúncio HTML para AMP. O mesmo campo existe
como uma extensão no objeto Bid
no OpenRTB
implementação.
// 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ção de HTML para AMP válido
Para que os anúncios HTML para AMP sejam renderizados antecipadamente, a troca precisa verificar e
assiná-las, indicando que o anúncio foi escrito no formato de criativo <html
amp4ads>
amp4ads.
Os anúncios HTML para AMP válidos poderão ser renderizados antecipadamente pelas páginas AMP. Anúncios que não foram verificados como HTML para AMP válido serão renderizados na mesma velocidade que não sejam HTML para AMP.
Somente anúncios HTML para AMP podem ser retornados no amp_ad_url
.
No futuro, se um editor exigir somente anúncios HTML para AMP, os anúncios não assinados como O HTML para AMP não será renderizado.
Com o Authorized Buyers, os bidders ainda serão cobrados se retornarem um um anúncio que não é HTML para AMP a um espaço de anúncio obrigatório do anúncio HTML para AMP.
Busca do lado do servidor
Para que os anúncios HTML para AMP sejam renderizados antecipadamente, o conteúdo do anúncio HTML para AMP precisa ser renderizado sem exigir saltos adicionais do cliente. Isso tem o objetivo de evitar experiências ruins do usuário devido à latência do anúncio e a mais chamadas do lado do cliente.
Depois que um proponente vence o leilão, a troca realiza uma
de servidor para servidor com a finalidade de recuperar o conteúdo do anúncio HTML para AMP localizado no URL
fornecido em amp_ad_url
. Os servidores de criativos precisam responder e retornar
conteúdo em 300 ms.
O anúncio HTML para AMP retornado do servidor de criativos será injetado no
espaço de anúncio
e, em seguida, renderizados. Um anúncio HTML para AMP válido não pode conter
iframes ou outras tags <amp-ad>
. Consulte o HTML para AMP
especificação de anúncios para mais detalhes.
Recurso exclusivo para a versão Beta: entre em contato com sua equipe de conta se precisar
Durante a recuperação de servidor para servidor do anúncio HTML para AMP (especificado em
amp_ad_url
), o Authorized Buyers pode transmitir o cabeçalho HTTP e o IP
do navegador do usuário para o servidor de criativos. Isso garante que o criativo
recebe informações similares às enviadas de um servidor padrão
buscar. Em alguns casos, o endereço IP pode ser truncado para apenas os primeiros 3 bytes
(IPv4) ou os primeiros 6 bytes (IPv6). Entre em contato com sua equipe de conta se precisar disso
. Este é um exemplo de cabeçalho HTTP:
URLs de rastreamento de impressões e macros de clique
Os compradores de RTB geralmente incluem rastreadores de impressões como um campo estruturado no
resposta do lance (é Bid.burl
, o "URL da notificação de faturamento" em
OpenRTB 2.5).
Com o Authorized Buyers, eles são acionados pelo cliente. amp-pixel (link em inglês) dispara URLs de rastreamento quando o criativo é renderizado. amp-analytics pode lidar com casos de uso de rastreamento mais avançados além da renderização.
Os anúncios HTML para AMP precisam conter uma macro de clique válida nas do HTML para AMP. Isso normalmente fica da seguinte 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>
Correspondência de cookie
Muitas vezes, os criativos incluem recursos
correspondentes no código do criativo. Os anúncios HTML para AMP podem usar
amp-pixel (link em inglês)
e amp-analytics
para este caso de uso. Se seu caso de uso não puder ser adaptado usando o
amp-analytics
ou amp-pixel
, abra um
Problema no GitHub a ser discutido
alternativas. Aceitamos novas extensões que podem ser amplamente utilizadas pelos
várias empresas diferentes. Consulte
detalhado
diretrizes ou um
técnico
para criar uma nova extensão.
Exemplos de URLs de anúncios AMP para testes
Você pode usar a seguinte amostra de conteúdo do anúncio HTML para AMP para testes:
Recursos
O Projeto AMP e o Google lançaram vários recursos para ajudar você a começar:
- Criar anúncios em AMP
- HTML para AMP Especificações de formato do criativo do anúncio (GitHub)
- HTML para AMP Visão geral dos anúncios (GitHub)
- Anúncios HTML para AMP Site do projeto AMP
- Exemplo Anúncios HTML para AMP
- Velocidade comparação: veja a velocidade de carregamento de um anúncio HTML para AMP em comparação com um anúncio normal. Melhor visualização em uma conexão 3G.
- Propostas específicas de RTB para o IAB / grupo OpenRTB