利用 PPS 改进广告系列

请选择平台HTML5 Android iOS tvOS Cast Roku

您可以在广告请求中,将受众群体和情境数据作为 发布商提供的信号 (PPS) 进行发送。借助 PPS,您可以通过标准类目,将您的受众群体特征传递给所有 交易类型中的出价方,从而利用您的用户数据提升 程序化变现能力,而且无需分享用户标识符。您的受众群体 特征可能包括行为数据和兴趣数据( IAB 受众群体类目 1.1)以及 情境数据( IAB 内容类目 2.2)。 您还可以发送由 Google 定义的发布商提供的结构化信号,并允许发送其他信号。

构建用户信号 JSON

在顶层,创建一个包含单个键值对的 JSON 对象。键应为 PublisherProvidedTaxonomySignals,其值应为对象数组。数组中的每个对象都应包含 2 个键值对:

  • taxonomy 键,它接受映射到以下 IAB 公共规范的值:

    • IAB_AUDIENCE_1_1,适用于受众群体类目 1.1
    • IAB_CONTENT_2_2,适用于内容类目 2.2
  • values 键,其中包含相应的字符串类目值数组。

构建结构化信号数组

对于结构化信号,请添加 PublisherProvidedStructuredSignals 键,其值为对象数组。根据以下信号键值列表构建对象:

切换结构化信号表格的视图

信号 <code" dir="ltr" translate="no">"type" Value</code"> 可能的 "single_value" 可能的 "values"
音频 Feed 类型 "audio_feed"
  • "af_1":音乐
  • "af_2":广播
  • "af_3":播客
内容分级 "content_rating"
  • "cr_1":G
  • "cr_2":PG
  • "cr_3":T
  • "cr_4":MA
内容传送 "delivery"
  • "cd_1":流式
  • "cd_2":渐进式
  • "cd_3":下载
制作质量 "prodq"
  • "pq_1":专业制作
  • "pq_2":专业消费者
  • "pq_3":用户生成的内容 (UGC)

请参阅以下示例,该示例使用 IAB_AUDIENCE_1_1IAB_CONTENT_2_2 作为类目信号,并包含结构化信号。

const userSignals = {
  "PublisherProvidedTaxonomySignals": [{
     "taxonomy": "IAB_AUDIENCE_1_1",
     "values": ["6", "284"]
     // '6' = 'Demographic | Age Range | 30-34'
     // '284' = 'Interest | Business and Finance |  Mergers and Acquisitions'
  },
  {
     "taxonomy": "IAB_CONTENT_2_2",
     "values": ["49", "138"]
     // '49' = 'Books and Literature | Poetry'
     // '138' = 'Education | College Education | College Planning'
  }],
  "PublisherProvidedStructuredSignals": [{
      "type": "audio_feed",
      "single_value": "af_1",
    },
    {
      "type": "delivery",
      "values": ["cd_1", "cd_3"],
    },
  ],
};

配置流式请求

如需通过 StreamRequest发送 PPS,请按以下步骤操作:

  • 创建一个 JSON 对象,其中包含用户的兴趣、行为或情境数据。
  • 根据上面的 JSON 对象创建 Base64 编码的 ASCII 字符串。
  • 使用 StreamRequest.adTagParameters添加编码后的字符串。
userSignalsJson = {
  "PublisherProvidedTaxonomySignals": [{
     "taxonomy": "IAB_AUDIENCE_1_1",
     "values": ["1", "284"]
  }]
}

userSignalsString = FormatJson(userSignalsJson)
byteArray = CreateObject("roByteArray")
byteArray.FromAsciiString(userSignalsString)
encodedSignals = byteArray.ToBase64String().EncodeUri()

' This shows adding a single parameter. More can be added with:
' streamRequest.adTagParameters = "ppsj=" + encodedSignals + "&..."
streamRequest.adTagParameters = "ppsj=" + encodedSignals