有保证的程序化交易

在有保证的程序化交易中,您需要与卖方协商以固定价格购买的展示次数。如果您接受有保证的程序化交易的提案,则表示您承诺按照协商好的条款购买卖方的广告资源。要详细了解您的承诺以及用于监控合规性的工具,请参阅帮助中心文章,其中描述了 有保证的程序化 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核实创意素材是否已获批准,并可用于响应收到的交易竞标请求。
    • 如果广告素材未获批准,请查看相关主题,确定被拒原因。根据需要调整创意,并进行 patch 以再次启动审核,直到所有问题都得到解决。
  • 使用实时出价 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。