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:
- ProposalMarketplaceInfo.hasLocalVersionEdits
- ProposalMarketplaceInfo.negotiationStatus
- Proposal.status
Daha fazla bilgi için Ad Manager Yardım Merkezi'ne bakın.
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.
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ındanUpdateOrderWithSellerData
işlemini gerçekleştirerek yaparsınız.