Nas transações programáticas garantidas, você negocia com os vendedores sobre o número de impressões que serão compradas a um preço fixo. Ao aceitar uma proposta para uma transação programática garantida, você se compromete a comprar o inventário do vendedor com base nos termos negociados. Para saber mais sobre compromissos e ferramentas para monitorar a conformidade, consulte o artigo da Central de Ajuda que descreve a estrutura de SLA da programática garantida.
Criar
As transações programáticas garantidas são criadas quando as negociações começam com um pedido de proposta (RFP). Você pode iniciar negociações enviando um RFP a
um vendedor com buyers.proposals.sendRfp
.
O RFP precisa conter programmaticGuaranteedTerms
para que a proposta resultante seja uma transação programática garantida. Os vendedores também podem enviar um
RFP, que vai aparecer como uma proposta na API Marketplace. Depois de criada, é possível
encontrar a proposta da transação com
buyers.proposals.list
,
e a negociação entre você e o vendedor pode começar.
Negociar
Depois que uma proposta de transação programática garantida é criada, é possível negociar com o vendedor ajustando a proposta e a transação correspondente até que ambas as partes sejam satisfeitas ou a proposta seja cancelada. Em uma negociação bem-sucedida, você pode realizar qualquer uma das seguintes ações:
- Procure mudanças na proposta ou na transação: sempre que uma mudança for feita em uma proposta ou na transação correspondente,
proposalRevision
será incrementado. É possível usar isso para detectar quando o vendedor aceitou sua proposta ou respondeu com uma contraoferta. - Corrigir a
proposta
ou a transação:
modifique sua proposta ou envie uma contraoferta ao vendedor. Isso incrementa a
proposalRevision
. - Comunicação com o vendedor: as propostas contêm observações que ficam visíveis para compradores e vendedores. Por exemplo, é possível adicionar uma observação para contextualizar uma mudança feita em uma proposta ou transação.
Finalizar e se preparar para a veiculação
Quando estiver contente com uma proposta e o state
dela for
BUYER_ACCEPTANCE_REQUESTED
, aceite-a.
Isso finaliza a transação, que começa a ser veiculada em flightStartTime
.
Para garantir que a transação só comece a ser veiculada quando você tiver criativos preparados, recomendamos que entre em contato com o gerente técnico de contas para desativar esse comportamento padrão das transações programáticas garantidas e, em vez disso, indicar manualmente quando elas estiverem prontas para veiculação. Confira um exemplo de fluxo de trabalho em que você sinaliza manualmente quando as transações de programática garantida estão prontas para veiculação:
- Negocie a proposta com o vendedor.
- Use a API Real-time Bidding para enviar criativos para revisão: os criativos que você pretende colocar precisam ser revisados e aprovados para uso em transações.
- Aceitar a proposta: quando uma proposta é aceita, as transações aceitas são refletidas nas transações finalizadas.
- Usar a API de lances em tempo real para
recuperar
os criativos enviados anteriormente e confirmar se eles foram
aprovados
para uso em lances de transações nos lances em tempo real: confira
dealsPolicyCompliance
para verificar se os criativos foram aprovados e podem ser posicionados em resposta a solicitações de lances de transação recebidas. - Adicione todos os criativos que serão usados à transação finalizada: recomendamos adicionar criativos à transação com que você pretende usá-los antes de iniciar a veiculação.
- Sinalizar manualmente que a transação está pronta para veiculação: quando a transação estiver pronta para veiculação, você vai começar a receber solicitações de lance para ela no
flightStartTime
configurado, que continuará até queflightEndTime
ouimpressionCap
seja alcançado.
Renegociar
Depois que uma transação for finalizada, você ou o vendedor poderá iniciar a
renegociação
modificando a proposta ou as transações. Durante a renegociação, o recurso
finalizedDeals
reflete o contrato anterior e continuará sendo veiculado com base
nele, se possível. O recurso deals
reflete o estado atual da renegociação, que
vai prosseguir de maneira semelhante à
negociação inicial.
Se você e o vendedor aceitarem a transação renegociada, ela substituirá a transação original finalizada e será veiculada com base no novo contrato. Caso contrário, se for cancelada, a transação vai voltar ao estado antes do início da renegociação.
Dar lances em impressões para transações programáticas garantidas
Quando uma transação programática garantida começar a ser veiculada, sua integração de lances em tempo real receberá solicitações de lance para essa transação e precisará dar lances com base nos termos da transação, por exemplo, a um preço específico para um número definido de impressões durante um período.
Uma solicitação de lance pode incluir mais de uma transação PG. Quando isso acontece, você responde a cada ID da transação enviado na solicitação. Os campos diretamente relevantes para as transações programáticas garantidas incluem:
Protocolo do Google | Protocolo do OpenRTB | Descrição |
---|---|---|
BidRequest.adslot.matching_ad_data.direct_deal.direct_deal_id
|
BidRequest.imp.pmp.deals.id
|
Identificador exclusivo da transação. Será equivalente ao ID do recurso da transação retornado pela API Marketplace. |
BidRequest.adslot.matching_ad_data.direct_deal.deal_type
|
BidRequest.imp.pmp.deals.ext.deal_type
|
O tipo de leilão, que será definido como
PROGRAMMATIC_GUARANTEED ou "3" para JSON do OpenRTB.
|
BidRequest.adslot.matching_ad_data.direct_deal.fixed_cpm_micros
|
BidRequest.imp.pmp.deals.bidfloor
|
É equivalente ao CPM da transação acordada pelo
comprador e pelo vendedor. Ela apareceria como fixedPrice na
API Marketplace. Para transações programáticas garantidas, isso substitui qualquer valor especificado na resposta do lance.
|
BidRequest.adslot.matching_ad_data.direct_deal.publisher_blocks_overridden
|
BidRequest.imp.pmp.deals.ext.publisher_blocks_overridden
|
Sempre true para transações programáticas garantidas, o que significa que as categorias excluídas são permitidas.
|
BidRequest.adslot.matching_ad_data.direct_deal.must_bid
|
BidRequest.imp.pmp.deals.ext.must_bid
|
Indica se os compradores são obrigados a dar lances na transação. Por exemplo, se a transação estiver adiantada, isso será definido como "False" e os lances serão opcionais. Caso contrário, os lances serão obrigatórios, o que significa que não dar lances poderá afetar negativamente a exibição da transação e a disponibilidade do inventário. |
Pausar e retomar a veiculação
Use o método buyers.finalizedDeals.pause
para pausar uma transação
programática garantida finalizada se você não puder definir lances para ela temporariamente. Por exemplo, isso pode ser feito se o criativo tiver sido aprovado inicialmente, mas tiver sido reprovado e, consequentemente, precisar ser reenviado. Embora isso impeça o recebimento de solicitações de lance para a transação, você ainda precisará cumprir as obrigações negociadas como termos da transação.
Para retomar a veiculação da transação finalizada, use
buyers.finalizedDeals.resume
.