在有保证的程序化交易中,您需要与卖方协商以固定价格购买的展示次数。如果您接受有保证的程序化交易的提案,则表示您承诺按照协商好的条款购买卖方的广告资源。要详细了解您的承诺以及用于监控合规性的工具,请参阅帮助中心文章,其中描述了 有保证的程序化 SLA 框架。
创建
程序化担保交易是指在以征求建议书 (RFP) 开始谈判时创建的交易。你可以通过向卖方发送 RFP 来发起谈判,buyers.proposals.sendRfp。
RFP 必须包含 programmaticGuaranteedTerms,才能使生成的提案针对有保证的程序化交易。卖家也可以向您发送 RFP,该 RFP 将显示为 Marketplace API 中的提案。创建提案后,您可以通过 buyers.proposals.list 找到相应交易的提案,然后即可开始与卖方协商。
协商
创建有保证的程序化交易提案后,您可以调整提案及其对应的交易,与卖方协商,直到双方都满意为止,或者取消提案。在成功的谈判中,你可能会采取以下任何一种做法:
- 对提案或协议进行更改的投票:每当对提案或其对应的协议进行更改时,
proposalRevision将递增。您可以利用此功能来检测卖家何时接受了您的提议或提出了还价。 - 修改提案或交易:修改您的提案或向卖方发送还价。这会递增
proposalRevision。 - 交流与卖家提案包含笔记买卖双方均可见。例如,您可以添加注释,以提供有关您对提案或其交易所做的更改的背景信息。
完成并准备好进行部署
当你对一个提案感到满意,并且它的state是BUYER_ACCEPTANCE_REQUESTED时,你可以接受该提案。
至此交易最终完成,将于flightStartTime开始生效。
为了确保只有在您准备好广告素材后,交易才会开始投放,我们建议您联系您的技术客户经理,将您的程序化担保交易从此默认行为中移除,而是在准备好投放时手动发出信号。下面是一个工作流程示例,其中您手动指示有保证的程序化交易何时可以投放:
- 与卖家协商提案
- 使用 Real-time Bidding API 提交广告素材以供审核:您打算投放的广告素材必须经过审核并获批,才能用于交易。
- 接受提案:一旦提案被接受,已接受的交易将反映在最终交易中。
- 使用实时竞价 API取回之前提交的创意作品,并确认它们是得到正式认可的用于实时竞价中的交易竞标:查看
dealsPolicyCompliance核实创意素材是否已获批准,并可用于响应收到的交易竞标请求。 - 使用实时出价 API添加向所有将在交易中使用的创意添加交易:将交易添加到创意中,可以让与交易相关的发布商在投放前审核该创意。
- 如果发行商要求人工审核创意,则未经发行商批准的创意竞标将被从竞价中过滤掉。 Google 建议您在交易开始之前,将交易添加到您打算在交易中使用的所有广告素材。
- 手动表明交易已准备就绪,可以投放广告:交易准备就绪后,您将开始在配置的
flightStartTime接收该交易的出价请求,直到达到其flightEndTime或impressionCap为止。
重新协商
交易完成后,您或卖家可以通过修改提案或其交易来发起重新协商。在重新协商期间,finalizedDeals 资源会反映之前的协议,并尽可能继续根据该协议投放广告。deals 资源则反映了重新协商的当前状态,其过程与初始协商类似。
如果您和卖家都接受重新协商的交易,则该交易会覆盖原先已最终确定的交易,并根据新协议投放广告。否则,如果取消,交易将恢复到重新协商开始之前的状态。
针对有保证的程序化交易的展示出价
有保证的程序化交易开始投放后,您的实时出价集成将收到该交易的出价请求,并且必须根据交易条款出价,例如在一段时间内以特定价格争取一定数量的展示次数。
一个出价请求可能包含多个有保证程序化交易。在这种情况下,您应针对请求中提交的每个交易 ID 进行出价。与有保证的程序化交易直接相关的字段包括:
| Google 协议 | OpenRTB 协议 | 说明 |
|---|---|---|
BidRequest.adslot.matching_ad_data.direct_deal.direct_deal_id
|
BidRequest.imp.pmp.deals.id
|
相应交易的唯一标识符。此值将等同于 Marketplace API 返回的交易资源 ID。 |
BidRequest.adslot.matching_ad_data.direct_deal.deal_type
|
BidRequest.imp.pmp.deals.ext.deal_type
|
竞价类型,对于 OpenRTB JSON,将设置为 PROGRAMMATIC_GUARANTEED 或“3”。
|
BidRequest.adslot.matching_ad_data.direct_deal.fixed_cpm_micros
|
BidRequest.imp.pmp.deals.bidfloor
|
将相当于买方和卖方商定的交易的每千次展示费用,在 Marketplace API 中显示为 fixedPrice。对于有保证的程序化交易,此值将替换出价响应中指定的任何值。
|
BidRequest.adslot.matching_ad_data.direct_deal.publisher_blocks_overridden
|
BidRequest.imp.pmp.deals.ext.publisher_blocks_overridden
|
对于有保证的程序化交易,始终为 true,这意味着允许排除的类别。
|
BidRequest.adslot.matching_ad_data.direct_deal.must_bid
|
BidRequest.imp.pmp.deals.ext.must_bid
|
指示买方是否必须对相应交易出价。例如,如果交易的完成进度超出了预期,则此属性会设置为 False,出价将变为可选。否则,买方必须出价,这意味着不出价可能会对交易履行和广告资源供应产生负面影响。 |
暂停和恢复投放
如果您暂时无法对已完成的程序化担保交易进行竞价,则应使用 buyers.finalizedDeals.pause 方法暂停该交易。例如,如果您的广告素材最初获得批准,但后来被拒批,因此需要重新提交,您可能需要执行此操作。请注意,虽然此操作会阻止您接收相应交易的出价请求,但您仍需履行作为交易条款协商达成的任何义务。
如需恢复投放已敲定的交易,您可以使用 buyers.finalizedDeals.resume。