发布商提供的信号

您可以在广告请求中将受众群体和情境数据作为发布商提供的信号 (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">“类型”值</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"],
    },
  ],
};

配置广告请求

请按照以下步骤通过 AdsRequest 发送 PPS:

  • 使用用户的兴趣、行为或上下文数据创建 JSON 对象。
  • 从上述 JSON 对象创建一个 Base64 编码的 ASCII 字符串。
  • 使用 &ppsj= 参数将经过编码的字符串附加到广告代码网址。
const userSignals = {
  "PublisherProvidedTaxonomySignals": [{
     "taxonomy": "IAB_AUDIENCE_1_1",
     "values": ["1", "284"]
  }]
};

const sampleAdTag = "https://pubads.g.doubleclick.net/gampad/ads?iu=/21775744923/external/single_ad_samples&sz=640x480&cust_params=sample_ct%3Dlinear&ciu_szs=300x250%2C728x90&gdfp_req=1&output=vast&unviewed_position_start=1&env=vp&impl=s"

const encodedSignals = encodeURIComponent(window.btoa(JSON.stringify(userSignals)));

const finalAdTag = sampleAdTag + "&ppsj=" + encodedSignals;