Pubblicità programmatica

Questa guida è una panoramica di alto livello su come utilizzare Programmatic Direct funzionalità tramite l'API. Descrive come creare una proposta e come eseguire di negoziazione.

Primer

Le proposte di pubblicità programmatica sono simili a un ordine in Google Ad Manager. Proposte di pubblicità programmatica Contenere informazioni generali su una transazione proposta tra te e un acquirente. Una proposta, insieme ai suoi elementi pubblicitari, rappresenta un'offerta di inventario a un acquirente.

Per ulteriori informazioni, visita il Centro assistenza.

Creare una proposta tramite l'API

Per creare un oggetto Proposal, solo il nome e l'acquirente programmatico vengono obbligatorio. L'ID acquirente programmatico può essere ottenuto tramite l'interfaccia utente o Programmatic_Buyer dalla tabella PQL.

Java


Proposal proposal = new Proposal();

// Setting required Marketplace information.
ProposalMarketplaceInfo proposalMarketplaceInfo = new ProposalMarketplaceInfo();
proposalMarketplaceInfo.setBuyerAccountId(programmaticBuyerId);

// Set common required fields for a proposal.
proposal.setName("Proposal #" + new Random().nextInt(Integer.MAX_VALUE));
proposal.setPrimaryTraffickerId(primaryTraffickerId);
proposal.setMarketplaceInfo(proposalMarketplaceInfo);
    

Python


proposal = {
    # Setting required Marketplace information.
    'isProgrammatic': 'true',
    'marketplaceInfo': {
        'buyerAccountId': programmatic_buyer_id,
    },
    # Set common required fields for proposals.
    'name': 'Proposal #%s' % uuid.uuid4(),
    # ...
}
    

PHP


$proposal = new Proposal();
$proposal->setName('Proposal #' . uniqid());

// Set the required Marketplace information.
$proposalMarketplaceInfo = new ProposalMarketplaceInfo();
$proposalMarketplaceInfo->setBuyerAccountId($buyerId);
$proposal->setMarketplaceInfo($proposalMarketplaceInfo);
    

C#


// Create a proposal with the minimum required fields.
Proposal proposal = new Proposal()
{
    name = "Programmatic proposal #" + new Random().Next(int.MaxValue),
    // Set required Marketplace information
    marketplaceInfo = new ProposalMarketplaceInfo()
    {
        buyerAccountId = programmaticBuyerId
    }
};
    

Ruby


# Create proposal configuration object.
proposal = {
  :marketplace_info => {
    :buyer_account_id => buyer_id
  },
  :name => 'Proposal %s' % SecureRandom.uuid(),
  # ...
}
    

Prima dell'invio all'acquirente per la negoziazione, è necessario impostare campi aggiuntivi. La proposta deve avere i contatti di un inserzionista, un commerciale, un trafficker e un venditore.

Java


SalespersonSplit primarySalesperson = new SalespersonSplit();
primarySalesperson.setUserId(primarySalespersonId);
proposal.setPrimarySalesperson(primarySalesperson);
    

Python


'primarySalesperson': {
    'userId': primary_salesperson_id,
},
'primaryTraffickerId': primary_trafficker_id,
'probabilityOfClose': '100000',
    

PHP


// Create salesperson splits for the primary salesperson.
$primarySalesperson = new SalespersonSplit();
$primarySalesperson->setUserId($primarySalespersonId);
$proposal->setPrimarySalesperson($primarySalesperson);

// Set the primary trafficker on the proposal for when it becomes an
// order.
$proposal->setPrimaryTraffickerId($primaryTraffickerId);

$advertiser = new ProposalCompanyAssociation();
$advertiser->setType(
    ProposalCompanyAssociationType::ADVERTISER
);
$advertiser->setCompanyId($advertiserId);
$proposal->setAdvertiser($advertiser);
    

C#


// Set fields that are required before sending the proposal to the buyer.
proposal.primaryTraffickerId = primaryTraffickerId;
proposal.sellerContactIds = new long[] { primarySalespersonId };
proposal.primarySalesperson = new SalespersonSplit()
{
    userId = primarySalespersonId,
};
proposal.advertiser = new ProposalCompanyAssociation()
{
    type = ProposalCompanyAssociationType.ADVERTISER,
    companyId = advertiserId
};
    

Ruby


:primary_salesperson => {
  :user_id => primary_salesperson_id
},
:primary_trafficker_id => primary_trafficker_id
    

Poiché le proposte sono generalmente costituite da ProposalLineItem il passaggio successivo consiste nell'aggiungere elementi pubblicitari della proposta sotto proposta creata.

Stati di una proposta di pubblicità programmatica

La figura seguente illustra una proposta di pubblicità programmatica in vari punti durante il processo di negoziazione dal punto di vista delle API. Ogni stato è rappresentato delle combinazioni dei seguenti campi:

Per ulteriori informazioni, visita il Centro assistenza Ad Manager.

Gli stati in cui può trovarsi una proposta di pubblicità programmatica durante il suo
           interazione con Marketplace.
Figura 1: stati di una proposta di pubblicità programmatica

Procedura dettagliata per la negoziazione

Qui, ti guideremo attraverso l'utilizzo dell'API per completare una negoziazione per un proposta di pubblicità programmatica con un acquirente. Facciamo riferimento agli stati nel diagramma in alto.

Preparazione per la revisione o l'accettazione dell'acquirente

Innanzitutto, devi creare una bozza di proposta di pubblicità programmatica con elementi pubblicitari della proposta che che desideri inviare a un acquirente. state C nella figura sopra.

Richiesta di revisione o accettazione dell'acquirente

Quando è tutto pronto per far esaminare la proposta di pubblicità programmatica all'acquirente, puoi RequestBuyerReview o RequestBuyerAcceptance utilizzando il metodo Metodo ProposalService.performProposalAction. Passerai così alla fase di negoziazione.

Negoziazione

In questa fase possono verificarsi vari casi.

  • L'acquirente può accettare la proposta di pubblicità programmatica senza modifiche.
  • L'acquirente può proporre modifiche. In questo caso, la proposta verrà rinviata in stato di bozza (state B nella Figura 1). Poi dovrai aprire la proposta per la modifica, apportare le modifiche proposte e inviarle nuovamente per la revisione dell'acquirente.
  • Puoi anche decidere di apportare modifiche anche prima che l'acquirente risponda. Puoi per farlo, apri la proposta per la modifica da state D nella Figura 1.
di Gemini Advanced.

Questa negoziazione va avanti fino a quando non raggiungi un accordo con l'acquirente. Commenti tra te e l'acquirente può essere recuperato utilizzando getMarketplaceCommentsByStatement. Puoi inviare un commento all'acquirente mentre ti trovi in state A. Da fare devi aggiornare marketplaceComment campo della proposta utilizzando updateProposals. Il commento verrà quindi inviato quando richiedi l'accettazione dell'acquirente.

Finalizzata

Quando sia tu che l'acquirente avete accettato la proposta di pubblicità programmatica, quest'ultima passa allo stato finalizzato (state F nella Figura 1). Ad Manager crea quindi automaticamente gli elementi pubblicitari da questa proposta di pubblicità programmatica.

Nella maggior parte dei casi ora hai terminato la proposta di pubblicità programmatica; tuttavia, sono due azioni che puoi eseguire in questo stato:

  • Puoi riaprire la proposta di pubblicità programmatica per la rinegoziazione modificando relativi alla pubblicazione della proposta. Puoi farlo aprendo la proposta di modifica (state E to A nella Figura 1), apportare modifiche e poi richiedendo l'accettazione dell'acquirente.
  • Puoi apportare modifiche che non comportano la pubblicazione, ad esempio aggiornare lo stato di Google Cloud e rispecchiare le modifiche nell'ordine di Ad Manager e negli elementi pubblicitari creati di questo accordo. A tale scopo, modifica da state E nella Figura 1, quindi esegui l'azione UpdateOrderWithSellerData.