Como parte do Sandbox de privacidade, o Chrome propôs a API Protected Audience, uma API no navegador que permite que anunciantes e empresas de tecnologia de publicidade mostrem anúncios segmentados por grupo de interesse sem depender de cookies de terceiros, protegendo os usuários contra o rastreamento entre sites.
O Chrome está executando um teste de origem da API Protected Audience. Os compradores do Authorized Buyers podem participar do teste da API Protected Audience no inventário do editor do Ad Manager. Ao testar a API Protected Audience, os bidders podem:
- Iterar e aprender sobre a eficácia dos fluxos da API Protected Audience.
- Gerar feedback sobre possíveis melhorias na API em fóruns públicos, como o GitHub.
- Prepare-se para oferecer suporte à publicidade personalizada pela API sem depender de cookies de terceiros.
Os compradores interessados em testar precisam consultar a seção de integração para mais detalhes.
Resumo do fluxo de veiculação
Confira um resumo do fluxo de veiculação de anúncios da Protected Audience para parceiros do Authorized Buyers:
- Um bidder trabalha com os anunciantes para manter grupos de interesse para cada anunciante. Muitas vezes, os anunciantes adicionam a tag de um bidder à página do anunciante para incluir um navegador em grupos de interesse.
- Um usuário final visita a página de um anunciante. A página pode conter a tag do proponente.
- A tag do bidder invoca a API Protected Audience
joinAdInterestGroup(). Essa chamada pede ao navegador para adicionar o usuário a um grupo de interesse. - O usuário final acessa uma página da Web do editor. O navegador do usuário solicita a tag de anúncio do editor do Google.
- A tag de anúncio do publisher do Google faz uma solicitação de anúncio contextual a um servidor do Google.
- O Google envia solicitações de lance contextual aos bidders participantes. Consulte a seção "Mudanças na solicitação de lance" para mais informações.
- O bidder retorna uma resposta de lance, incluindo a mensagem
InterestGroupBidding, que é necessária para participar do leilão do grupo de interesse. No OpenRTB, isso é especificado com o campoBidResponse.ext.igbid, e no protocolo RTB do Google descontinuado, com o campoBidResponse.interest_group_bidding. Se o bidder não especificar essas informações, o Google não vai incluir a origem do bidder eminterestGroupBuyersna configuração do leilão. OInterestGroupBiddingtambém pode conter indicadores opcionais específicos do comprador que serão transmitidos à função de lances do bidder durante o leilão no navegador. No OpenRTB, isso é especificado com o campoBidResponse.ext.igbid.igbuyer.buyerdata. No protocolo RTB do Google descontinuado, isso é especificado com o campoBidResponse.interest_group_bidding.interest_group_buyers.per_buyer_signals. Consulte a seção Mudanças na resposta do lance para mais informações. - O Google executa o leilão do lado do servidor e retorna uma resposta de lance ao navegador. O leilão do lado do servidor considera lances tradicionais do lado do servidor. A resposta do lance pode conter informações sobre um lance vencedor contextual (se houver).
- A resposta do lance contém uma configuração de leilão para o leilão
no navegador. Isso pode incluir indicadores contextuais de cada comprador participante (enviados anteriormente pelo
buyerdatado OpenRTB ou peloper_buyer_signalsdo protocolo RTB do Google descontinuado), informações sobre o vencedor contextual e configurações de qualificação para o lance. - A tag do editor do Google invoca a API Protected Audience
runAdAuction()para iniciar o leilão de grupo de interesse no dispositivo. O Google inclui apenas os compradores que foram incluídos como umInterestGroupBuyeremInterestGroupBiddingdurante a configuração do leilão. - O Google transmite os indicadores opcionais específicos do comprador de cada bidder qualificado para a configuração de leilão do Protected Audience.
- Se os grupos de interesse de um determinado bidder especificarem o
trustedBiddingSignalsUrl, o navegador fará uma solicitação para otrustedBiddingSignalsUrlde cada grupo para buscar indicadores em tempo real. Confira os detalhes na especificação da API Protected Audience. - O navegador invoca o
generateBid()do bidder para cada grupo de interesse que ativou a participação e está qualificado para participar do leilão no navegador. Esta etapa calcula o lance e seleciona um criativo.generateBid()tem acesso aos indicadores opcionais do comprador fornecidos pelo bidder e aos indicadores de lances confiáveis do grupo de interesse. - O navegador invoca o
scoreAd()do vendedor (neste caso, o Google) para atribuir uma classificação a cada lance no leilão de anúncios do grupo de interesse. Os lances são classificados e filtrados com base nas proteções do editor, nas políticas de publicidade e em outras restrições. - O navegador realiza um leilão com os lances qualificados do grupo de interesse. O lance contextual com classificação mais alta participa do leilão no navegador.
- Depois do leilão, se houver um vencedor do grupo de interesse, o navegador vai invocar
o
reportResult()do vendedor e oreportWin()do bidder para notificar cada parte sobre o vencedor do leilão no navegador. - Se um anúncio de grupo de interesse vencer, a tag do editor do Google vai renderizar o anúncio em um iframe.
Detalhes do fluxo de veiculação
Antes da veiculação de anúncios
Revisão do criativo
Os criativos precisam ser revisados e aprovados pelo Google antes de serem veiculados em leilões no navegador do Protected Audience. É possível enviar criativos para revisão
pela API Real-time Bidding ou pela
verificação automática de criativos. Os criativos para
leilões de anúncios de grupos de interesse no navegador da API Protected Audience precisam incluir
renderUrls para revisão.
Requisitos para renderUrls:
- O
renderUrlenviado pela API precisa corresponder aorenderUrlusado no leilão de anúncios do grupo de interesse. - Cada
renderUrlsó pode representar um único anunciante ou campanha publicitária. Um determinadorenderUrlnão pode ser usado para renderizar anúncios em nome de vários anunciantes. CadarenderUrlprecisa ser mapeado para um único criativo. - O
renderUrlprecisa estar acessível e ser buscável pelos sistemas de revisão de criativos off-line do Google por até 7 dias após o último lance do anúncio.
API Real-time Bidding
Os bidders podem usar a API de lances em tempo real para fazer upload de criativos para lances de grupo de interesse.
Verificação automática de criativos
Os bidders podem configurar a verificação automática de criativos que não são enviados pela API Real-time Bidding.
Se você configurar a verificação automática de criativos, o Google vai encontrar os criativos no leilão no navegador e fazer a verificação automaticamente para que eles se qualifiquem para leilões futuros.
Veja como ativar a verificação automática de criativos:
Adicione todas as origens
renderUrldo criativo do grupo de interesse à conta do Authorized Buyer.Adicione os seguintes cabeçalhos HTTP personalizados à resposta HTTP do criativo:
Authorized-Buyers-Creative-IDstring
ID do criativo específico do comprador. O comprimento máximo do ID do criativo é de 128 bytes.
Authorized-Buyers-Click-Through-URLsstring
O conjunto de URLs de destino declarados para o criativo codificado de acordo com a RFC2396.
Exemplo:
HTTP/1.1 200 OK
Date: Mon, 8 Jan 2022 12:28:53 GMT
Server: Apache/2.2.14 (Win32)
Last-Modified: Mon, 8 Jan 2022 12:01:53 GMT
Content-Length: 88
Content-Type: text/html
Connection: Closed
Authorized-Buyers-Creative-ID:123456
Authorized-Buyers-Click-Through-URLs:https://www.advertiser.com/clickUrl1,https://www.advertiser.com/clickUrl12
<html>
<body>
<h1>Hello, World!</h1>
</body>
</html>
Expiração do criativo
Os criativos são aprovados por 15 dias. Se você enviar criativos com a API Real-time Bidding, será necessário reenviar o criativo após 15 dias. Se você usa a verificação automática de criativos, o processo é repetido automaticamente.
ID de relatório do comprador
É possível detalhar as métricas de relatórios (como impressões) usando dimensões fornecidas pelo comprador (por exemplo, ID da campanha ou do anunciante). Para adicionar uma dimensão ao gasto do grupo de interesse, especifique um buyerAndSellerReportingId para seu anúncio ao adicionar o dispositivo do usuário ao grupo de interesse. Confira mais detalhes na documentação da API Protected Audience.
Confira um exemplo de como adicionar buyerAndSellerReportingId à configuração do grupo de interesse:
const myGroup = {
...
'ads': [
{
...
'buyerAndSellerReportingId':
'{"google_signals": {"buyer_reporting_id": "12345"}}',
...
}
]
}
joinAdInterestGroup(myGroup);
O buyer_reporting_id vai aparecer como uma nova dimensão na ferramenta de relatórios do Authorized
Buyer, como ID de relatório do comprador.
Leilão do lado do servidor
Mudanças na solicitação de lance
Confira a seguir as versões iniciais dos protocolos compatíveis para uso no experimento:
- Link antecipado do OpenRTB
- Protocolo RTB do Google (descontinuado) link antecipado
Indicar suporte a leilão de grupo de interesse
As solicitações de lances têm novos campos para indicar suporte a leilões de grupos de interesse:
- OpenRTB:
BidRequest.imp.ext.aeBidRequest.imp.ext.igbid
- Protocolo RTB do Google (descontinuado):
BidRequest.adslot.supported_auction_environmentBidRequest.adslot.interest_group_bidding_allowed
Use esse campo para diferenciar as oportunidades de impressão que
oferecem suporte ao leilão de grupo de interesse no navegador da API Protected Audience e aquelas que
oferecem suporte apenas ao leilão de troca tradicional do lado do servidor. O
tipo enumerado AuctionEnvironment pode ter os seguintes valores:
SERVER_SIDE_AUCTION(JSON do OpenRTB:0): o leilão que determina o anúncio vencedor é executado nos servidores da troca.ON_DEVICE_INTEREST_GROUP_AUCTION(JSON do OpenRTB:1): solicitações com suporte à API Protected Audience, em que um leilão contextual é executado nos servidores da exchange, e a disputa de grupo de interesse e o leilão final são executados no navegador.SERVER_SIDE_INTEREST_GROUP_AUCTION(JSON do OpenRTB:3): o leilão contextual é executado nos servidores da exchange, e a lógica de lances para lances de grupo de interesse e a lógica de pontuação para determinar o anúncio vencedor final são executadas nos servidores de lances e leilões.
Indicar o tamanho do espaço do anúncio da API Protected Audience
A solicitação de lance inclui os seguintes campos para fornecer o tamanho do slot de anúncio do público-alvo protegido:
- OpenRTB:
BidRequest.imp.ext.interest_group_auction.widthBidRequest.imp.ext.interest_group_auction.height
- Protocolo RTB do Google (descontinuado):
BidRequest.adslot.interest_group_auction.widthBidRequest.adslot.interest_group_auction.height
Esses campos indicam o tamanho do espaço do anúncio para o leilão do Protected Audience em pixels.
Esse tamanho pode ser diferente daqueles na solicitação contextual, como os vistos nos campos BidRequest.imp.banner.format.w e BidRequest.imp.banner.format.h do OpenRTB ou nos campos BidRequest.adslot.width e BidRequest.adslot.height do protocolo Google RTB descontinuado.
A solicitação contextual pode ter vários tamanhos. O anúncio vencedor do leilão no dispositivo deve preencher apenas um único tamanho de slot fixo.
Indicar a capacidade de renderização de anúncios da API Protected Audience
Os anúncios do Protected Audience podem ou não ser renderizados, dependendo da fase atual de integração (consulte o experimento de não renderização). O campo render_interest_group_ads na solicitação de lance indica se o anúncio vencedor da API Protected Audience será renderizado.
- OpenRTB:
BidRequest.imp.ext.interest_group_auction.render_interest_group_ads - Protocolo de RTB do Google (descontinuado):
BidRequest.adslot.interest_group_auction.render_interest_group_ads
Minimizar a dependência de identificadores de usuário
As solicitações de lances contextuais no escopo dos testes da API Protected Audience podem continuar usando identificadores tradicionais baseados em cookies quando disponíveis no navegador, como os campos BidRequest.user.id e BidRequest.user.buyerid ou BidRequest.google_user_id e BidRequest.hosted_match_data no protocolo RTB do Google descontinuado. A presença desses identificadores em solicitações de
lances está sujeita às políticas de privacidade atuais. Recomendamos que você não use identificadores baseados em cookies para segmentação e lances durante os testes. Assim, você se prepara melhor para uma compra eficiente quando os cookies de terceiros não estiverem mais disponíveis.
O Google também pode realizar experimentos em pequena escala em que os identificadores baseados em cookies são omitidos das solicitações de lances no escopo do teste da API Protected Audience. Isso é para avaliar o possível impacto da descontinuação do uso de cookies de terceiros.
Teste de descontinuação de cookies de terceiros facilitado pelo Chrome
Em preparação para a descontinuação dos cookies de terceiros (3PCD) em 2024, o Chrome agora oferece testes facilitados pelo Chrome.
Sites e fornecedores podem usar o teste facilitado pelo Chrome para testar os sistemas deles no 3PCD. No teste, os navegadores Chrome são atribuídos a um grupo experimental de 3PCD, no modo A ou no modo B. Cada navegador recebe um rótulo consistente correspondente a um grupo de teste específico de 3PCD que pode ser acessado pela API do Chrome no navegador.
O Google transmite o rótulo não modificado da API Chrome na solicitação de bid de RTB. Devido às pequenas parcelas de tráfego de um rótulo individual, o Google nem sempre inclui o rótulo em contextos com restrições de privacidade.
Confira os campos em que o rótulo aparece:
- OpenRTB:
BidRequest.device.ext.cdep - Protocolo de RTB do Google (descontinuado):
BidRequest.device.cookie_deprecation_label
Mudanças na resposta do lance
Indicar participação no leilão do grupo de interesse
Você é responsável por indicar explicitamente sua intenção de participar do leilão no navegador retornando o objeto InterestGroupBidding na resposta de lance contextual:
- OpenRTB:
BidResponse.ext.igbid - Protocolo de RTB do Google (descontinuado):
BidResponse.interest_group_bidding
Você precisa fornecer uma resposta de bid contextual. A resposta não precisa incluir um lance contextual. O objeto InterestGroupBidding precisa conter o origin para cada InterestGroupBuyer, que deve corresponder a uma das origens configuradas pelo bidder para a conta dele. O origin é adicionado ao interestGroupBuyers da configuração do leilão quando a Tag do editor do Google chama runAdAuction().
Propagar indicadores contextuais do comprador
É possível incluir os indicadores de um comprador na resposta de lance contextual, que o Google
propaga como um objeto JSON para a função de lance no dispositivo usando o argumento
perBuyerSignals. Isso pode ser incluído na resposta de lance com os seguintes campos, dependendo do protocolo:
- OpenRTB:
BidResponse.ext.igbid.igbuyer.buyerdata - RTB do Google (descontinuado):
BidResponse.interest_group_bidding.per_buyer_signals
Propagar indicadores de renderização contextual do comprador
Os criativos de grupo de interesse podem usar indicadores contextuais limitados durante a renderização enviando esses indicadores pela resposta de lance contextual e recebendo-os na solicitação de URL de renderização usando a expansão de macro. Por exemplo, os indicadores de renderização podem ser usados para personalizar a aparência de um criativo e melhorar a performance no contexto de um determinado espaço de anúncio ou página do publisher.
É possível incluir os indicadores de renderização de um comprador serializados como uma string segura para URL na resposta do lance contextual. O Google vai substituir isso no URL de renderização do grupo de interesse vencedor construindo a macro ${RENDER_DATA_buyer.origin.example[_OPTIONAL_SUFFIX]}.
Os indicadores de renderização podem ser especificados na resposta de lance com os seguintes campos, dependendo do protocolo:
- OpenRTB:
BidResponse.ext.igbid.igbuyer.rsig - RTB do Google (descontinuado):
BidResponse.interest_group_bidding.interest_group_buyer.rendering_signals
Até três conjuntos de indicadores de renderização com diferentes sufixos de macro podem ser incluídos na resposta de lance para distinguir indicadores diferentes. Por exemplo, um sufixo pode ser usado para corresponder a um conjunto específico de indicadores aplicáveis apenas a criativos com a macro correspondente no URL de renderização, reduzindo assim o tamanho da transferência de dados.
O comprador do grupo de interesse será impedido de participar do leilão de público-alvo protegido se os indicadores não forem seguros para URL, se os sufixos de macro não forem exclusivos ou se mais de três conjuntos de indicadores forem fornecidos.
Especifique o preço máximo do lance no navegador
Na proposta da Protected Audience, o cálculo do lance e o leilão final devem ser executados localmente no dispositivo. Isso pode criar possíveis vetores de abuso que podem afetar a integridade dos resultados finais do leilão, como o preço do lance vencedor.
Como uma mitigação compatível durante o teste da API Protected Audience pelo Google para os parceiros de RTB, é possível especificar um valor máximo esperado de lance em cada resposta de lance contextual. O lance máximo esperado é o preço máximo que sua função de lances deve retornar. Se o lance vencedor informado pelo leilão no navegador exceder esse valor, ele não será contabilizado como um evento faturável. Essa abordagem está sujeita a mudanças.
Na resposta de lance, é possível especificar o valor máximo esperado do lance nos seguintes campos:
- OpenRTB:
BidResponse.igbid.igbuyer.maxbid(expresso em unidades de moeda de CPM) - Protocolo RTB do Google (descontinuado):
BidResponse.interest_group_bidding.interest_group_buyers.max_bid_cpm_micros(expresso em microCPM)
Atribuir impressões a várias contas
Um bidder precisa selecionar um ID de faturamento para atribuir as impressões do lance do grupo de interesse usando os seguintes campos:
- OpenRTB:
BidResponse.igbid.igbuyer.billing_id - Protocolo de RTB do Google (descontinuado):
BidResponse.interest_group_bidding.interest_group_buyers.billing_id
O ID de faturamento selecionado precisa ser um ID qualificado da solicitação de lance:
- OpenRTB:
BidRequest.imp.ext.billing_id - Protocolo de RTB do Google (descontinuado):
BidRequest.adslot.matching_ad_data.billing_id
Se o ID de faturamento para atribuir impressões de lance do grupo de interesse não for fornecido, o bidder não vai participar do leilão da API Protected Audience.
As contas secundárias podem ter até dois IDs de faturamento. O comprador pode usar um ID de faturamento para gastos contextuais e outro para gastos com grupos de interesse. Entre em contato com seu gerente de contas se quiser configurar dois IDs de faturamento para uma conta secundária.
É possível definir um orçamento diário para cada ID de faturamento. Entre em contato com seu gerente de conta para definir o orçamento diário dos IDs de faturamento das contas secundárias.
Os IDs de faturamento de todas as contas secundárias com orçamento disponível e qualificadas para dar lances na impressão aparecem na solicitação de lance para seleção de atribuição de gasto. Entre em contato com o gerente de contas para modificar o orçamento de um ID de faturamento de grupo de interesse.
Durante o leilão no navegador
Gerar lances no navegador
Use generateBid() para gerar lances no navegador.
O Google fornece os seguintes parâmetros:
auctionSignals: vazioperBuyerSignals: um objeto JavaScript com os mesmos indicadores fornecidos pelo proponente na resposta contextual.
Os seguintes parâmetros são retornados:
ad: o Google ignora esse campo.bid: um lance numérico que entra no leilão. Precisa estar em unidades de CPM (não micros).render: o URL renderizado para mostrar o criativo se o lance vencer o leilão. O Google precisa analisar e aprovar esse URL, ou ele será filtrado do leilão.allowComponentAuction: precisa sertrue. No momento, o Google oferece suporte a testes de leilões de vários vendedores.
Veja um exemplo:
function generateBid(...) {
...
return {'ad': 'example',
'bid': ad.metadata.bid,
'render': ad.renderUrl,
'allowComponentAuction': true};
}
Consulte a seção Lances no dispositivo da especificação da API Protected Audience para uma explicação da função generateBid().
Moeda do lance
Os lances de leilão no navegador são feitos em unidades de CPM na moeda escolhida.
A moeda do lance precisa ser indicada na resposta de lance contextual e no valor de retorno de generateBid. Além disso, ela precisa ser um código alfa ISO 4217 válido, como "USD", "EUR" ou "JPY".
No OpenRTB, use o novo campo cur no objeto InterestGroupBuyer na
extensão de resposta de lance do Google.
Veja um exemplo:
ext {
igbid {
impid: "1"
igbuyer {
origin: "https://examplebuyerorigin.com"
cur: "EUR"
}
}
}
No protocolo de RTB do Google, use o novo campo currency na mensagem InterestGroupBuyer da resposta do lance.
Veja um exemplo:
interest_group_bidding {
adslot_id: 1
interest_group_buyer {
origin: "https://examplebuyerorigin.com"
currency: "EUR"
}
}
As funções generateBid dos bidders precisam retornar lances na mesma moeda indicada na resposta do lance contextual. Preencha a nova propriedade bidCurrency no
valor de retorno de generateBid:
function generateBid(...) {
...
return {'ad': ad,
'bid': bid,
'bidCurrency': 'EUR',
...};
}
Se a moeda da resposta do lance contextual for diferente da moeda retornada por generateBid ou se qualquer uma delas retornar uma moeda inválida, o lance será filtrado antes do leilão.
Verificações de qualidade do anúncio
A aplicação da política de criativos e dos controles do publisher pode ser mais restritiva para lances de grupo de interesse no navegador durante o teste da API Protected Audience para parceiros de RTB.
Suporte à Lei dos Serviços Digitais
De acordo com o Artigo 26 da Lei de Serviços Digitais, os publishers podem exigir que os compradores renderizem
divulgações de transparência no anúncio. Quando o controle "Pedir que os compradores mostrem anúncios apenas com informações de transparência da DSA no meu site ou app no EEE" é ativado por um editor, os compradores de grupos de interesse podem determinar em quais oportunidades eles precisarão renderizar a transparência do comprador observando os valores de BidRequest.regs.dsa.required e BidRequest.dsa.pubrender na solicitação de lance (BidRequest.dsa.dsa_support e BidRequest.dsa.publisher_rendering_support, respectivamente, no protocolo Google RTB descontinuado).
Quando um bidder que quer participar dos leilões da API Protected Audience
recebe o indicador na solicitação de lance de que a transparência da DSA precisa ser mostrada para
anúncios veiculados pela API Protected Audience, ele deve avaliar se
consegue mostrar as informações necessárias e especificar definindo
BidResponse.ext.igbid.igbuyer.dsaadrender
(BidResponse.interest_group_bidding.interest_group_buyers.dsa_buyer_render no
protocolo RTB do Google descontinuado). Caso contrário, o comprador não será incluído
no leilão da API Protected Audience.
Para mais informações sobre a transparência de anúncios da Lei de Serviços Digitais, consulte o artigo da Central de Ajuda: apoio à Lei de Serviços Digitais.
Filtragem de lances
O Google aplica controles do editor e políticas de publicidade durante o leilão no dispositivo.
Após o leilão no navegador
Informar o resultado do leilão ao comprador: reportWin()
O Google não preenche os seguintes argumentos:
auctionSignalssellerSignals
Use reportWin() para informar o resultado do leilão ao comprador.
Consulte a seção Relatórios do comprador sobre eventos de renderização e de anúncio da explicação da API Protected Audience para mais informações.
Macros
O renderUrl que faz referência ao criativo da API Protected Audience pode incluir
um ou mais marcadores de posição, chamados de macros. Depois que o leilão do grupo de interesse
é concluído, mas antes da renderização, as macros são substituídas pelos
valores correspondentes. O renderUrl usado no leilão no dispositivo pode incluir as seguintes
macros:
${GDPR}
|
Expande para 0 se o GDPR não se aplica ou 1 se ele se aplica. Consulte a documentação. |
${GDPR_CONSENT_XXXX}
|
Expande-se para a string de transparência e consentimento (TC) associada à solicitação. Se a string de Transparência e Consentimento (TC) estiver em branco ou for inválida, essa macro não vai se expandir.
Use essa macro para transmitir a string de TC a um fornecedor registrado na GVL do IAB por um URL.
Substitua Criativos com a macro ${GDPR_CONSENT_XXXX} deve ocorrer apenas uma vez no renderUrl.
|
${ADDL_CONSENT}
|
Expande-se para a string de consentimento adicional (AC) associada à solicitação. |
${AD_WIDTH}, ${AD_HEIGHT)
|
Essas macros inserem a largura e a altura do espaço de anúncio. |
${RENDER_DATA_buyer.origin.example[_OPTIONAL_SUFFIX]}
|
Macro que contém indicadores do comprador no momento da renderização especificados na resposta do lance.
Substitua o marcador de posição |
Contagem de impressões
Durante o teste da API Protected Audience com parceiros de RTB, o Google vai contar
impressões quando o navegador chamar a função reportResult() e
buscar o URL de relatório do Google em uma chamada para sendReportTo().
Como o evento usado pelo Google para contar impressões em leilões no navegador da API Protected Audience pode ser diferente do evento usado para contar impressões pelos parceiros compradores de RTB, as contagens de impressões podem ser diferentes.
Um dos objetivos do Google ao testar a API Protected Audience é identificar e reduzir essas discrepâncias.
Atribuição de impressões faturáveis
Todo o gasto de um bidder nos leilões no navegador da Protected Audience é atribuído a uma única conta de bidder com base no mapeamento das origens do proprietário do grupo de interesse configuradas para o bidder. Não é possível atribuir gastos a diferentes contas secundárias de um bidder.
Limite de orçamento diário
Durante o teste da API Protected Audience, cada conta tem um limite de orçamento diário de gasto da API Protected Audience no nível da conta. O limite de orçamento diário limita o risco no ambiente de leilão no navegador. Quando o limite de orçamento diário é atingido, a conta não recebe mais solicitações de lance qualificadas para a API Protected Audience.
A conta pode continuar participando de leilões contextuais do lado do servidor depois de atingir o limite da API Protected Audience. Por exemplo, uma conta de bidder que atinge o limite da API Protected Audience pode receber uma solicitação de lance com auction_environment
= SERVER_SIDE_AUCTION (JSON OpenRTB: 0), mesmo que a solicitação de lance esteja qualificada para um leilão da API Protected Audience.
Feedback em tempo real e lance mínimo para vencer
Os bidders que ativaram o recebimento de feedback em tempo real vão receber feedback para os compradores de grupos de interesse que pediram inclusão em um leilão da API Protected Audience no dispositivo. Cada comprador de grupo de interesse especificado por um bidder em uma resposta de lance vai receber um objeto de feedback, não importa quantos lances o comprador de grupo de interesse faça no leilão da API Protected Audience. As seguintes informações estarão disponíveis no objeto de feedback do comprador do grupo de interesse:
- O tipo de feedback do objeto de feedback será
INTEREST_GROUP_BUYER_FEEDBACK. - A origem do comprador do grupo de interesse.
- O lance mínimo para vencer do comprador do grupo de interesse para ganhar o leilão geral.
- O lance mínimo para vencer do comprador do grupo de interesse para superar o lance mais alto do componente do lado do servidor do leilão geral.
- O código de status do comprador do grupo de interesse. Os códigos de status possíveis são definidos em interest-group-buyer-status-codes.txt.
Consulte a documentação do protocolo para RTB do Authorized Buyers e extensões do OpenRTB para ver os nomes de campos específicos.
Notificação de feedback de lance
O Chrome oferece uma API de depuração temporária para a API Protected Audience, que permite ao Ad Manager enviar notificações de depuração de servidor para servidor em tempo real com feedback sobre um lance do Protected Audience. Essa notificação vai incluir os motivos pelos quais os lances podem ter sido filtrados no leilão no navegador das APIs Protected Audience, além de outras informações sobre um lance, conforme descrito abaixo.
Os bidders podem entrar em contato com o gerente de conta para configurar um URL estático que será usado para enviar notificações de feedback de depuração de lances da API Protected Audience. Esse URL estático será buscado nos servidores do Google com as macros selecionadas substituídas depois que o leilão com Protected Audience for concluído. As seguintes macros são compatíveis:
%%GOOGLE_QUERY_ID%%: essa macro é substituída pelo ID da consulta do Google enviado na solicitação de lances contextuais ativada para o público-alvo protegido. No protocolo OpenRTB, isso é especificado comBidRequest.ext.google_query_id, enquanto o protocolo RTB do Google desativado usaBidRequest.google_query_id.%%INTEREST_GROUP_OWNER%%: a origem do proprietário do grupo de interesse.%%BID_CPM%%: o preço do lance em CPM especificado pelo comprador na funçãogenerateBid().%%RENDER_URL%%: o URL de renderização do criativo.%%STATUS%%: um código de status se o lance foi rejeitado emscoreAd(). Os valores são códigos de status do criativo.
Este é um exemplo de URL estático que um bidder pode fornecer ao gerente de contas:
https://dsp.example/debug?google_query_id=%%GOOGLE_QUERY_ID%%&ig_owner=%%INTEREST_GROUP_OWNER%%&render_url=%%RENDER_URL%%&bid=%%BID_CPM%%&status=%%STATUS%%
A notificação de feedback de lances é um recurso temporário que depende da API ForDebuggingOnly temporária do Chrome.
TURTLEDOVE no nível do produto
Anúncios compostos de várias partes ou TURTLEDOVE no nível do produto (PLTD) são aceitos para parceiros de RTB do Google durante o teste da API Protected Audience. Informe seu gerente de contas durante a integração se você planeja testar o PLTD, já que são necessários recursos e configuração extras.
Integração
Veja como testar a API Protected Audience:
Etapas
- Preencha o formulário de solicitação para participar do experimento da API Protected Audience.
- Depois de enviar o formulário de solicitação, entre em contato com seu gerente de contas ou abra um tíquete usando a Central de Ajuda do Authorized Buyer.
- Depois que a conta for configurada, o Google e o parceiro poderão verificar a integração seguindo as etapas em Etapas de teste.
Revisão do criativo
Para dar lances com anúncios no nível do produto (anúncios compostos de várias partes) em leilões da API Protected Audience, siga estes requisitos:
- Inclua o parâmetro de consulta
&pltd=TruenorenderUrldo contêiner do anúncio de componente (também chamado derenderUrlde nível superior) para distinguir osrenderUrlsde nível superior durante a revisão do criativo. - Renderizar um criativo representativo quando o contêiner do anúncio de componente for
buscado para uma revisão de criativo pelo Google. Para entender quando uma renderização de anúncio representativa deve ser retornada, consulte o parâmetro de consulta
validation=Truedefinido pelo sistema de revisão de criativos do Google.
Lista de verificação de integração
- Configure um endpoint de solicitação de lance que vai preencher os campos relacionados à API Protected Audience
na resposta de lance contextual, por exemplo,
interest_group_bidding. - Implemente a inclusão de tag nas páginas do anunciante para associar o navegador do usuário ao grupo de interesse.
- Implemente
generateBid()ereportWin(). - Selecione as origens dos proprietários de grupos de interesse e adicione-as à conta do Authorized Buyer.
- As origens do proprietário do grupo de interesse precisam corresponder às origens em que as funções
generateBid()estão hospedadas. - Entre em contato com o gerente de conta ou envie um tíquete usando a Central de Ajuda do comprador autorizado para concluir esta etapa.
- As origens do proprietário do grupo de interesse precisam corresponder às origens em que as funções
- Configure a pré-segmentação para o inventário relevante para o teste da API Protected Audience.
- Envie criativos para revisão e aprovação usando a API Creatives.
- (Opcional) Configure os endpoints de indicadores de lances confiáveis.
- (Opcional) Configure uma página de anunciante de teste para que os engenheiros do Google adicionem o navegador deles aos grupos de interesse pertencentes à origem do comprador. Isso nos permite acionar manualmente os leilões da API Protected Audience.
- (Opcional) Ative o feedback em tempo real na sua conta para receber feedback dos compradores de grupos de interesse que pediram inclusão em um leilão da API Protected Audience.
- (Opcional) Entre em contato com seu gerente de contas para configurar um URL estático e receber uma notificação de servidor para servidor com feedback de lances do Protected Audience sobre o status de um lance de um leilão do Protected Audience no dispositivo. Isso ajuda a depurar problemas inesperados. Consulte a notificação de feedback de lance para mais detalhes.
Etapas de teste
Etapa 1: teste manual
Saiba como acionar manualmente um leilão com Protected Audience, garantir que o anúncio possa ser renderizado e registrar a impressão:
- Use o Chrome 101 ou mais recente.
- Ative a API do Sandbox de privacidade e o Fenced Frame usando
chrome://flags/#privacy-sandbox-ads-apisechrome://flags/#enable-fenced-frames. Saiba mais em Testar o Sandbox de privacidade. - Envie um criativo para aprovação usando a API Real-time Bidding.
- Use a página do anunciante fornecida pelo bidder para adicionar um navegador ao grupo de interesse de propriedade do bidder.
Use a página de publisher de teste fornecida pelo Google a seguir para acionar um leilão com Protected Audience:
https://fledge-testing.uc.r.appspot.com/?nid=allow_all
O grupo de interesse no navegador precisa dar um lance alto o suficiente para vencer o leilão, já que ele pode competir com lances convencionais do lado do servidor. O Google também oferece uma página de editor de teste dedicada para cada parceiro, em que apenas o parceiro em questão pode participar do leilão. Pode ser mais fácil ganhar leilões no navegador em uma página específica do parceiro.
Confirme o seguinte:
- O anúncio vencedor esperado é renderizado.
- O resultado do leilão é enviado do lado do servidor, ou seja, um bidder vencedor
recebe um ping de volta de
reportWin(). - O console da página do editor de teste registra uma mensagem de depuração para cada lance com
as seguintes informações:
renderUrl: o URL de renderização do lance.interestGroupOwner: o proprietário do grupo de interesse do lance.accepted: esse campo étruese o lance foi aceito efalsese ele foi rejeitado porscoreAd().externalBidStatus: um código de status se o lance foi rejeitado emscoreAd(). Os valores são códigos de status do criativo.
Etapa 2: (opcional) experimento sem renderização
Depois que o Google e o parceiro verificam manualmente que ele pode participar do leilão da API Protected Audience, o Google o habilita para a próxima etapa de teste.
O Google aloca uma pequena quantidade de tráfego ativo para realizar leilões de Protected Audience. Assim, o Google e o parceiro não precisam mais acionar manualmente um leilão da API Protected Audience. O resultado do leilão da Protected Audience não é renderizado. Isso permite testar a integração em grande escala.
Entre em contato com seu gerente de contas ou envie um tíquete pela Central de Ajuda do Authorized Buyer quando estiver tudo pronto. O Google vai ativar a conta para essa etapa.
Etapa 3: experimento de renderização
Depois que o Google e o parceiro verificarem os leilões da API Protected Audience em grande escala sem renderização, o Google poderá permitir que o parceiro renderize o anúncio vencedor da API Protected Audience. O Google tem uma pequena quantidade de tráfego em que os leilões da API Protected Audience estão qualificados para veiculação e os anúncios do grupo de interesse vencedores são renderizados. Os lances no navegador dos bidders participantes competem com os lances tradicionais.
Entre em contato com seu gerente de contas ou envie um tíquete pela Central de Ajuda do Authorized Buyer quando estiver tudo pronto. O Google vai ativar a conta para essa etapa.
Outros recursos
Os recursos a seguir são extensões do protocolo principal.
Paralelização
A paralelização é uma otimização que diminui a latência do leilão de ponta a ponta ao iniciar a solicitação de anúncio contextual em paralelo com as solicitações aos servidores confiáveis do comprador especificados em trustedBiddingSignalsUrl.
A paralelização reduz a latência, mas afeta a qualificação do comprador de grupo de interesse e o suporte para experimentos coordenados. A paralelização se aplica a todos os bidders que participam do leilão de grupos de interesse no dispositivo. Os bidders não precisam fazer nada para participar dos leilões paralelos, mas precisam entender como a paralelização pode afetar a qualificação deles nos leilões no dispositivo. Ainda não é possível usar IDs de grupo de experimento para experimentos coordenados em leilões paralelos.
Resumo do fluxo de veiculação
Confira um resumo do fluxo de leilão paralelo:
Qualificação do comprador do grupo de interesse no dispositivo
Para leilões paralelos, a chamada de navigator.runAdAuction acontece antes
que a resposta do anúncio contextual seja retornada. Para iniciar chamadas de servidor confiáveis do comprador, o navigator.runAdAuction exige que o parâmetro interestGroupBuyers seja transmitido como um valor, enquanto os demais parâmetros do leilão aceitam promessas de JavaScript que podem ser resolvidas após a resposta do anúncio contextual. Como interestGroupBuyers é transmitido antes da resposta do anúncio contextual, ela (incluindo respostas de lance) não pode ser usada para escolher quais compradores participam do leilão paralelizado para a solicitação específica. Em vez disso, a tag do editor do Google armazena em cache, no navegador do usuário, o parâmetro interestGroupBuyers de execuções anteriores de navigator.runAdAuction no mesmo domínio.
A paralelização tem várias considerações importantes:
Os indicadores de leilão que não são necessários para solicitações de servidor confiável do comprador, como
perBuyerSignals, podem continuar sendo especificados em respostas de lance de RTB da mesma forma que em leilões não paralelizados. Depois que as promessas desses indicadores forem resolvidas, as etapas restantes do leilão no dispositivo serão concluídas da mesma forma que no fluxo de leilão não paralelo.Como a paralelização depende do armazenamento em cache da lista de compradores de grupos de interesse, o Google nem sempre realiza um leilão paralelo, já que o cache de paralelização pode estar vazio ou expirado. Se o cache estiver vazio ou expirado, o Google vai realizar um leilão padrão não paralelo da API Protected Audience e usar a intenção do comprador para participar do leilão não paralelo e criar o cache do comprador do grupo de interesse.
Se pelo menos um comprador de qualquer bidder estiver em cache para o domínio do editor atual, o Google vai realizar um leilão paralelo, que será indicado na solicitação de lance:
- Protocolo de RTB do Google:
BidRequest.adslot.interest_group_auction.parallelized - OpenRTB:
BidRequest.imp.ext.interest_group_auction.parallelized
- Protocolo de RTB do Google:
Cada origem de comprador de grupo de interesse registrada para um determinado bidder que foi incluído no leilão paralelo terá uma entrada
ParallelAuctionBuyercorrespondente:- Protocolo de RTB do Google:
BidRequest.adslot.interest_group_auction.parallel_auction_buyer - OpenRTB:
BidRequest.imp.ext.interest_group_auction.pbuyer
- Protocolo de RTB do Google:
Se um leilão paralelo for executado, mas uma origem de comprador específica não estiver presente no cache, esse comprador não poderá ser adicionado ao leilão no dispositivo atual. Isso é indicado por uma solicitação com
parallelized=Trueque não tem uma entradaParallelAuctionBuyerpara uma determinada origem do comprador de grupo de interesse. No entanto, os bidders que indicarem interesse incluindoInterestGroupBuyer(s) válidos e qualificados na resposta do lance terão as origens do comprador do grupo de interesse correspondente adicionadas ao cache, e essas origens estarão qualificadas para solicitações paralelizadas futuras do mesmo navegador e domínio. A intenção de participar de leilões de grupos de interesse pode ser indicada nos seguintes campos:- Protocolo de RTB do Google:
BidResponse.adslot.interest_group_bidding.interest_group_buyers - OpenRTB:
BidResponse.ext.igbid.igbuyer
- Protocolo de RTB do Google:
As origens de compradores em cache (incluídas no parâmetro
interestGroupBuyersdo leilão paralelo) para as quais um bidder não indica a intenção de participar na resposta de lance podem receber uma chamada de servidor confiável do comprador, mas não participam do leilão paralelo.