有保证的程序化交易

在有保证的程序化交易中,您可以与卖方协商您将以固定价格购买的展示次数。如果您接受有保证的程序化交易的提案,即表示您承诺根据商定的条款购买卖方的广告资源。如需详细了解您的承诺和用于监控合规性的工具,请参阅介绍有保证的程序化交易 SLA 框架的帮助中心文章。

创建

当协商从提案请求 (RFP) 开始时就创建有保证的程序化交易。您可以使用 buyers.proposals.sendRfp 向卖方发送 RFP 以发起协商。RFP 必须包含 programmaticGuaranteedTerms,才能将生成的提案用于有保证的程序化交易。卖方还可以向您发送 RFP,它将以提案形式显示在 Marketplace API 中。创建交易后,您可以通过 buyers.proposals.list 找到相应交易的提案,然后即可开始与卖方协商。

协商

为有保证的程序化交易创建提案后,您可以通过调整提案及其对应的交易与卖方进行协商,直到双方都满意或提案被取消为止。在协商成功后,您可以执行以下任一项操作:

  • 针对提案交易的更改进行轮询:每当提案或其相应交易发生更改时,proposalRevision 都会递增。您可以使用此参数来检测卖方何时接受了您的提案或何时回复了还价。
  • 修补提案交易:修改提案或向卖方发送还价。这将递增 proposalRevision
  • 与卖方沟通:提案包含买方和卖方可以看到的备注。例如,您可以添加备注,提供有关您对提案或其交易所做更改的背景信息。

敲定提案并做好投放准备

如果您对提案感到满意,并且其 stateBUYER_ACCEPTANCE_REQUESTED,就可以接受提案。这会敲定交易,在 flightStartTime 开始投放。

为确保交易仅在您准备好广告素材后才开始投放,我们建议您与技术支持客户经理联系,请其为您的有保证的程序化交易停用此默认行为,改为在它们准备好投放时手动发出信号。以下是一个示例工作流程,在该工作流程中,您可以手动发送有保证程序化交易可供投放广告的信号:

  • 与卖方协商提案
  • 使用 Real-time Bidding API 提交广告素材以供审核:您打算投放的广告素材必须经过审核并获得批准,才能在交易中使用。
  • 接受提案:提案被接受后,已接受的交易将反映在已敲定的交易中。
  • 使用 Real-time Bidding API 检索之前提交的广告素材,并确认这些广告素材已获准用于对实时出价中的交易出价:查看 dealsPolicyCompliance 以验证广告素材是否已获批准,能否放置以响应收到的交易出价请求。
    • 如果广告素材未获批准,请查看主题以确定被拒原因。根据需要调整广告素材,并进行修补以再次启动审核,直到所有问题都得到解决。
  • 添加所有将用于已敲定交易的广告素材:我们建议您先向要用于交易的广告素材添加广告素材,然后再开始投放该交易。
  • 手动发送信号以表明交易已可投放:一旦交易可供投放,您便会开始在配置的 flightStartTime 处接收该交易的出价请求,相应出价请求会持续到达到其 flightEndTimeimpressionCap 为止。

重新协商

交易敲定后,您或卖方可以通过修改提案或其交易来启动重新协商。在重新协商期间,finalizedDeals 资源将反映之前的协议,并将在可能的情况下基于该资源继续提供服务。deals 资源会反映重新协商的当前状态,其继续过程与初始协商类似。

如果您和卖方都接受了重新协商的交易,该交易将覆盖原来的已敲定交易,并根据新协议进行投放。否则,如果交易被取消,交易将恢复到重新协商之前的状态。

针对有保证的程序化交易的展示机会出价

当有保证程序化交易开始投放时,您的实时出价集成将收到针对该交易的出价请求,并且必须根据交易条款(例如,在一段时间内,以特定价格对一定数量的展示次数进行出价)进行出价。

一个出价请求可能包含多笔 PG 交易。如果发生这种情况,您应该对请求中提交的每个交易 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 竞价类型,将设置为 PROGRAMMATIC_GUARANTEED;对于 OpenRTB JSON,应设置为“3”。
BidRequest.adslot.matching_ad_data.direct_deal.fixed_cpm_micros BidRequest.imp.pmp.deals.bidfloor 将等于买方和卖方商定的交易的 CPM,此值在 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