Programatik

Bu kılavuz, Programatik Doğrudan özelliklerini API üzerinden görüntüleyebilirsiniz. Tekliflerin nasıl oluşturulacağını ve nasıl bir performans gerçekleştirileceğini açıklar pazarlık yapın.

Primer

Programatik teklif, Google Ad Manager'daki siparişe benzer. Programatik teklifler Siz ve alıcı arasında teklif edilen bir işlem hakkında kapsamlı bilgiler içeren. Teklif, satır öğeleriyle birlikte kullanıcıya sunulan envanter teklifini temsil eder. belirleyecek olan kişidir.

Daha fazla bilgi edinmek için Yardım Merkezi'ne göz atın.

API aracılığıyla teklif oluşturma

Proposal nesnesi oluşturmak için yalnızca ad ve programatik alıcı gereklidir. Programatik alıcı kimliği, kullanıcı arayüzü veya Programmatic_Buyer PQL tablosu.

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(),
  # ...
}
    

Pazarlık için alıcıya gönderilmeden önce ek alanların ayarlanması gerekir. Teklifte bir reklamveren, satış görevlisi, trafiker ve satıcı iletişim bilgileri bulunmalıdır.

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
    

Teklifler genellikle ProposalLineItem bir sonraki adım, yeni teklif satır öğelerinin altına teklif satır öğeleri eklemektir. bir fırsattır.

Programatik teklifin durumları

Aşağıdaki şekilde, dönüşüm sürecindeki çeşitli noktalarda programatik teklif gösterilmektedir çok önemlidir. Her eyalet aşağıdaki alanların çeşitli kombinasyonlarını tıklayın:

Daha fazla bilgi için Ad Manager Yardım Merkezi'ne bakın.

Programatik teklifin
           daha fazla etkileşim sağlar.
Şekil 1: Programatik teklifin durumları

Müzakere için adım adım açıklamalı kılavuz

Burada, size bir anlaşmaya ulaşmak için API'yı nasıl kullanacağınızı programatik teklif vermelidir. Şemadaki eyaletlere bakacağız bölümünü ziyaret edin.

Alıcının incelemesi veya kabul etmesi için hazırlanma

Öncelikle, tüm teklif satır öğeleri gibi bir seçenek belirleyin. Bu değer, yukarıdaki şekilde state C.

Alıcının incelemesini veya kabul etmesini isteme

Alıcının programatik teklifi incelemesini sağlamaya hazır olduğunuzda RequestBuyerReview veya RequestBuyerAcceptance için ProposalService.performProposalAction yöntemini kullanarak Bu, sizi pazarlık aşamasına getirir.

Müzakere

Bu aşamada birkaç şey olabilir.

  • Alıcı, programatik teklifinizi değişiklik olmadan kabul edebilir.
  • Alıcı değişiklik önerebilir. Bu durumda, teklif, bir taslak durumuna getirin (Şekil 1'de state B). Daha sonra yapmanız gerekenler düzenlemek üzere teklifi açın, önerilen değişiklikleri yapabilir ve alıcının incelemesi için geri gönderebilir.
  • Alıcı yanıt vermeden önce de değişiklik yapmaya karar verebilirsiniz. Şunları yapabilirsiniz: bunu, Şekil 1'deki state D seçeneğinde düzenleme için teklifi açarak yapın.
ziyaret edin.

Bu pazarlık, alıcıyla anlaşmaya varılana kadar devam eder. Yorum sayısı alıcıyla aranızdaki yolu belirlemek için getMarketplaceCommentsByStatement. state A açıkken alıcıya yorum gönderebilirsiniz. Yapılacaklar bunun için marketplaceComment teklif alanında updateProposals. Yorum, alıcının kabul etmesini istediğinizde gönderilir.

Kesinleşmiş

Programatik teklifi hem siz hem de alıcı kabul ettiğinde sonunda kesinleşir (Şekil 1'de state F). Daha sonra Ad Manager, bu programatik tekliften otomatik olarak satır öğeleri oluşturur.

Çoğu durumda artık programatik teklif tamamlanmıştır. ancak Bu durumdan gerçekleştirebileceğiniz iki işlem vardır:

  • Şu düzenlemelerle programatik teklifi yeniden pazarlık için yeniden açabilirsiniz: reklam sunmayla ilgili alanları içine alır. Bunu, Search Ads 360'taki değişiklik yapılması (Şekil 1'de state E to A) gerekir, ardından kabul etmesini isteme.
  • Teklifin kapsamını güncellemek gibi işlevsiz alakalı düzenlemeler yapabilirsiniz. ve bu değişiklikleri, Ad Manager siparişi ve oluşturulan satır öğelerine yansıtarak bu fırsattan yararlanabilirsiniz. Bunu, Şekil 1'deki state E öğesini düzenleyerek ve ardından UpdateOrderWithSellerData işlemini gerçekleştirerek yaparsınız.