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:
- ProposalMarketplaceInfo.hasLocalVersionEdits
- ProposalMarketplaceInfo.negotiationStatus
- Proposal.status
Per ulteriori informazioni, visita il Centro assistenza Ad Manager.
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.
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'azioneUpdateOrderWithSellerData
.