Transações programáticas garantidas

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.
    • Se o criativo não tiver sido aprovado, consulte os tópicos para determinar o motivo da reprovação. Ajuste o criativo conforme necessário e corrija para iniciar a revisão novamente até que todos os problemas sejam resolvidos.
  • 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é que flightEndTime ou impressionCap 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.