原生广告

原生广告的格式会与周围的内容和视觉设计浑然一体,因此这类广告更有望被用户看到和点击。原生广告资源可在移动应用以及桌面版网站和移动网站上投放。 如需详细了解原生广告,请参阅原生广告概览

Authorized Buyers 和公开出价均支持原生广告。

以下是原生广告的工作流程:

  1. 向 Google 发出原生广告调用请求。该调用指定以下一种或两种原生广告模板,每种模板都指定了首选原生字段。
  2. Google 会向买方发送 RTB 出价请求,其中包含所请求的字段列表。
  3. 感兴趣的买方回应所请求的字段。
  4. Google 开展竞价以选择获胜出价,然后将相应买方提供的广告素材资源发送给发布商。
  5. 发布商将这些素材资源整合到一个原生广告中,并调整它们的样式以契合该网站的设计风格。

消息格式

Google 支持 JSON 和 Protobuf 中的 OpenRTB 规范

对于 OpenRTB Protobuf 原生广告,以下字段与规范不同:

JSON JSON 类型 Protobuf Protobuf 类型
BidRequest.imp[].native.request string BidRequest.imp[].native.request_native NativeRequest
BidResponse.seatbid[].bid[].adm string BidResponse.seatbid[].bid[].adm_native NativeResponse

OpenRTB Protobuf 字段是 Protobuf 消息,而不是字符串。

如果您使用 OpenRTB Protobuf 实现,您的端点会收到包含 BidRequest.imp.native.request_native 而不是 BidRequest.imp.native.request 的出价请求。此外,您的端点必须返回填充 BidResponse.seatbid.bid.adm_native 而不是 BidResponse.seatbid.bid.adm 的出价响应,否则该响应将被过滤掉,无法参与竞价。

在出价(包括原生广告)时,出价端点必须在 BidResponse.seatbid.bid.{adm/adm_native}.assets 字段中指定必需的素材资源以及您选择添加的任何可选素材资源。 响应中发送的素材资源必须包含出价请求中指定的相应 id 值。id 用于构建模板结构,并区分类似类型的资源,例如主图片和图标。以下示例展示了如何在 OpenRTB 和 JSON 格式中填充 NativeRequestNativeResponse 对象:

OpenRTB JSON(已解析)

NativeRequest
{
  "ver": "1.2",
  "assets": [
    {
      "id": 1,
      "required": 1,
      "title": {
        "len": 25
      }
    },
    {
      "id": 2,
      "required": 1,
      "data": {
        "type": 2,
        "len": 90
      }
    },
    {
      "id": 3,
      "data": {
        "type": 12,
        "len": 15
      }
    },
    {
      "id": 4,
      "required": 1,
      "img": {
        "type": 3,
        "wmin": 1200,
        "hmin": 627
      }
    },
    {
      "id": 5,
      "required": 1,
      "img": {
        "type": 1,
        "wmin": 100,
        "hmin": 100
      }
    },
    {
      "id": 6,
      "data": {
        "type": 3,
        "len": 5
      }
    },
    {
      "id": 7,
      "data": {
        "type": 6
      }
    }
  ],
  "eventtrackers": [
    {
      "event": 1,
      "methods": [
        1
      ]
    }
  ]
}

NativeResponse
{
  "ver": "1.2",
  "assets": [
    {
      "id": 1,
      "title": {
        "text": "Luxury Mars Cruises"
      }
    },
    {
      "id": 2,
      "data": {
        "value": "Visit the planet in a luxury spaceship."
      }
    },
    {
      "id": 3,
      "data": {
        "value": "Book today"
      }
    },
    {
      "id": 4,
      "img": {
        "url": "https://native.test.com/image?id=123456",
        "w": 100,
        "h": 100
      }
    },
    {
      "id": 5,
      "img": {
        "url": "https://native.test.com/icon?id=123456",
        "w": 200,
        "h": 200
      }
    }
  ],
  "link": {
    "url": "https://www.google.com",
    "clicktrackers": [
      "https://native.test.com/click?id=123456"
    ]
  },
  "imptrackers": [
    "https://test.com/impression?id=123456&amt=${AUCTION_PRICE}"
  ]
}

OpenRTB Protobuf

NativeRequest
request_native {
  ver: "1.2"
  assets {
    id: 1
    required: true
    title {
      len: 25
    }
  }
  assets {
    id: 2
    required: true
    data {
      type: DESC
      len: 90
    }
  }
  assets {
    id: 3
    data {
      type: CTATEXT
      len: 15
    }
  }
  assets {
    id: 4
    required: true
    img {
      type: MAIN
      wmin: 1200
      hmin: 627
    }
  }
  assets {
    id: 5
    required: true
    img {
      type: ICON
      wmin: 100
      hmin: 100
    }
  }
  assets {
    id: 6
    data {
      type: RATING
      len: 5
    }
  }
  assets {
    id: 7
    data {
      type: PRICE
    }
  }
  eventtrackers {
    event: IMPRESSION
    methods: IMG
  }
}

NativeResponse
adm_native {
  assets {
    id: 1
    required: true
    title {
      text: "Luxury Mars Cruises"
    }
  }
  assets {
    id: 2
    required: true
    data {
      value: "Visit the planet in a luxury spaceship."
    }
  }
  assets {
    id: 3
    data {
      value: "Book today"
    }
  }
  assets {
    id: 4
    required: true
    img {
      url: "https://native.test.com/image?id=123456"
      w: 1200
      h: 627
    }
  }
  assets {
    id: 5
    required: true
    img {
      url: "https://native.test.com/icon?id=123456"
      w: 128
      h: 128
    }
  }
  assets {
    id: 6
    data {
      value: "5"
    }
  }
  link {
    url: "https://www.google.com"
    clicktrackers: "https://native.test.com/click?id=123456"
  }
  imptrackers: "https://test.com/impression?id=123456&amt=${AUCTION_PRICE}"
}

如果您使用买方 SDK 来呈现原生广告,则在提交素材资源以供审核时,必须在 declared_ad 中添加图片 type

原生广告模板

原生广告模板用于描述原生广告的组成要素,并确定出价请求中 NativeRequest 的内容和结构。Google 支持以下两种最常见的原生广告模板,适用于非视频原生广告和视频原生广告:

除此之外还有其他模板,且可能对字段、维度和尺寸有不同要求。

应用安装广告模板

下表显示了标记为必填建议的字段。以下规则适用:

  • 标有必填的字段是出价方要求的必填字段。
  • 出价方不需要提供标记为推荐的字段,如果提供了这些字段,发布商可能会显示也可能不会显示(例如,星级评分)。
  • 号召性用语 (CTA) 始终标记为推荐,因为如果出价方未发送号召性用语,系统会分配一个默认的号召性用语,但如果出价方发送了号召性用语,系统始终会显示该号召性用语。

下表列出了应用安装广告模板的字段。 移动应用会使用这些字段来制作原生应用安装广告。

字段 说明 必需还是推荐? 始终显示? 建议的图片大小/最大字符数 示例
标题 应用名称 必需 25 个字符 Flood-It!
图片 应用的屏幕截图或其他相关图片 必需 1,200 像素 x 627 像素或 600 像素 x 600 像素,具体取决于发布商要求的宽高比。 <游戏 Flood-It! 的屏幕截图>
正文 应用的主要文字 必需 90 个字符 看似简单,实则极具挑战性,令人欲罢不能!
应用图标 应用图标 必需 128 x 128 像素 <Flood-it! 应用图标>
号召性用语 首选用户操作 推荐 15 个字符 安装
星级 表示应用在应用商店中的评分的星数(0-5) 推荐 0 - 5 4.5
价格 应用的费用 推荐 15 个字符 免费

有关文字长度的注意事项

如果买方发送的文字素材资源(例如正文)超出了建议的字符数上限,Google 或发布商可能会截去超出上限的部分并代之以省略号。请注意,对于中文、日语和韩语,截断限制的字符数为其他语言的一半。例如,标题上限对英语来说是 90 个字符,对中文来说则是 45 个字符。

有关图片大小的注意事项

发布商可以:

  • 对称剪裁主图片,但只能在一个维度(高度或宽度)上最多剪裁 20% 的尺寸。
  • 缩放图片,但保持其宽高比不变。
  • 如果图片的宽高比与高度和宽度所隐含的宽高比相差很大,则可能会被过滤。

内容广告模板

下表列出了内容广告模板的字段。发布商使用这些字段来制作原生内容广告。

字段 说明 必需还是推荐? 始终显示? 建议的图片大小/字符数上限 * 示例
标题 广告标题 必需 25 个字符 最低房贷利率
图片 广告的主要图片 必需 1,200 像素 x 627 像素或 600 像素 x 600 像素,具体取决于发布商要求的宽高比。 <广告的主要图片>
正文 广告内容 必需 90 个字符 您在布鲁克林的温馨住宅 - 比您想象的更便宜、更早!
徽标 广告客户的徽标或其他相关的小图片 推荐 128 x 128 像素 <NY Mortgage Inc. 的徽标>
号召性用语 用户的首选操作 推荐 15 个字符 获取报价
广告客户 标识广告客户或品牌的文字 必需 25 个字符 NY Mortgage Inc.

应用安装视频广告模板

字段 说明 必需还是推荐? 始终显示? 建议的图片大小/字符数上限* 示例
视频 视频 VAST 响应,其中包含播放视频广告所必需的全部素材资源。 必需 - 包含 Flood-It! 游戏的 VAST XML 的网址。视频广告
Headline 应用名称 必需 25 个字符 Flood-It!
图片 在用户点击视频广告之前或视频广告加载时显示在播放器中的图片(缩略图)。 必需 此类图片的尺寸应与视频的宽高比匹配(例如:如果视频的宽高比为 16x9,相应图片的尺寸应为 1280x720;如果视频的宽高比为 4x3,相应图片的尺寸则应为 640x480)。 游戏 Flood-It! 的屏幕截图或从视频中
正文 应用的主要文字 必需 90 个字符 看似简单,实则极具挑战性,令人欲罢不能!
应用图标 应用图标 必需 128 x 128 像素 Flood-it! 应用图标
号召性用语 首选用户操作 必需 15 个字符 安装
星级 表示应用在应用商店中的评分的星数(0-5) 推荐 0 - 5 4.5
价格 应用费用 推荐 15 个字符 免费

限制

  • 视频:所有视频都必须采用 VAST 网址或 VAST 代码的形式。无法指定 WebM、MP4 等原始视频文件。

  • 文字长度:如果买方在响应中指定了文字素材资源(例如 body),Google 或发布商可能会截去超出上限的部分并代之以省略号。请注意,对于中文、日语和韩语,截断限制减半。例如,标题上限对英语来说是 90 个字符,对中文来说则是 45 个字符。

  • 图片大小:发布商可以:

    • 在一个维度(高度或宽度)上对称剪裁主图片,剪裁部分不得超过图片尺寸的 20%。
    • 缩放图片,但保持其宽高比不变。

应用安装广告示例

原生视频广告素材

视频内容广告模板

字段 说明 必需还是推荐? 始终显示? 建议的图片大小/字符数上限* 示例
视频 视频 VAST 响应,其中包含播放视频广告所必需的全部素材资源。 必需 - 包含 Flood-It! 游戏的 VAST XML 的网址。视频广告
Headline 广告标题 必需 25 个字符 最低房贷利率
图片 在用户点击视频广告之前或视频广告加载时显示在播放器中的图片(缩略图)。 必需 此类图片的尺寸应与视频的宽高比匹配(例如:如果视频的宽高比为 16x9,相应图片的尺寸应为 1280x720;如果视频的宽高比为 4x3,相应图片的尺寸则应为 640x480)。 视频中的屏幕截图
正文 广告内容 必需 90 个字符 您在布鲁克林的温馨住宅 - 比您想象的更便宜、更早!
徽标 广告客户的徽标或其他相关的小图片 推荐 128 x 128 像素 NY Mortgage Inc. 的徽标
号召性用语 用户的首选操作 必需 15 个字符 获取报价
广告客户 标识广告客户或品牌的文字 必需 25 个字符 NY Mortgage Inc.

元字段

所有受支持的广告模板都共用以下元字段:

字段 说明
BidResponse.seatbid.bid.{adm/adm_native}.link.url

用户点击广告后最终到达的着陆页的网址。如果使用动态着陆页,则必须使用此字段。

BidResponse.seatbid.bid.{adm/adm_native}.link.clicktrackers 可选。其他网址,可供广告客户跟踪用户对广告的点击。
BidResponse.seatbid.bid.{adm/adm_native}.privacy 链接到广告偏好设置或选择不接收广告的页面。如果存在,原生广告素材中将会添加一个标准的“广告选项”图标,并且该图标将链接到此网址。
BidResponse.seatbid.bid.{adm/adm_native}.eventtrackers 通过在原生广告响应中包含 eventtrackers(其中 event 设置为 IMPRESSION),可以执行展示跟踪。

出价请求中原生广告模板的表示形式

当接收到包含原生广告资源的竞价请求时,该请求将包含以 OpenRTB 的 NativeRequest 消息表示的原生广告模板。它提供有关原生广告资源的以下信息:

  • 可选或必需的素材资源。
  • 图片、徽标和应用图标的尺寸。
  • 广告的呈现样式规范。

可选素材资源和必需素材资源

您可以在 BidRequest.imp.native.{request/request_native}.assets 中找到原生广告展示的可选素材资源和必需素材资源。此属性用于描述原生广告的组件,例如标题、正文或徽标。 请求中包含的每项素材资源都有一个不同的 id,并针对必须包含在出价响应中的素材资源将 required 填充为 True

出价响应中原生广告的表示形式

在对原生广告资源出价时,您必须添加一个填充了出价请求中指示的必需素材资源的 NativeResponse,并且还可以添加指定的任何可选素材资源。您可以使用 BidResponse.seatbid.bid.{adm/adm_native}.assets 将这些信息包含在出价响应中。 在响应中填充 assets 时,每个 assets 都必须包含出价请求中与相应素材资源对应的 id

出价请求示例

OpenRTB Protobuf

OpenRTB JSON

出价响应示例

OpenRTB Protobuf

OpenRTB JSON