采用实时出价的 AMPHTML 广告

本页介绍了如何开始将 AMPHTML 广告与 RTB 搭配使用。如需详细了解 AMPHTML 广告以及有助于您上手投放广告的工具,请参阅以下资源

概要方法

实时出价请求

RTB 出价请求会指明请求是否来自 AMP 网页,以及 AMPHTML 广告的要求。

AMP 网页

BidRequest.site.ext.amp 字段可用于确定请求是否来自 AMP 网页。它可以设置为以下值:

enum AmpPage {
  // This is not an AMP page.
  DIALECT_HTML = 0;

  // This is an Amp page.
  DIALECT_HTML_AMP = 1;
}

AMPHTML 广告要求

BidRequest.imp.ext.ampad 字段可用于确定 AMP 广告的要求。

enum AmpAdRequirementType {
  // AMP ad requirements unknown.
  UNKNOWN_AMP_AD_REQUIREMENT_TYPE = 1;

  // AMP ads are not allowed.
  AMP_AD_NOT_ALLOWED = 2;

  // Either AMP ads or non-AMP ads are allowed;
  // AMP ads are not early rendered.
  AMP_AD_ALLOWED_AND_NOT_EARLY_RENDERED = 3;

  // Either AMP ads or non-AMP ads are allowed;
  // AMP ads are early rendered.
  AMP_AD_ALLOWED_AND_EARLY_RENDERED = 4;

  // AMP ads are required.
  // Ads that are non-AMP may be rejected by the publisher.
  AMP_AD_REQUIRED = 5;
}

RTB 出价响应

BidResponse.seatbid.bid.ext.amp_ad_url 字段接受指向 AMPHTML 广告内容的网址。

验证有效的 AMPHTML

如需提前呈现 AMPHTML 广告,广告交易平台必须对其进行验证和签名,以表明广告采用 amp4ads <html amp4ads> 广告素材格式编写。

AMP 网页将允许有效的 AMPHTML 广告提前呈现。未验证为有效 AMPHTML 的广告的呈现速度与非 AMPHTML 广告相同。

amp_ad_url 中应仅返回 AMPHTML 广告。

今后,如果发布商仅要求投放 AMPHTML 广告,系统将不会呈现未签名为 AMPHTML 的广告。

在 Authorized Buyers 中,如果出价方向要求投放 AMPHTML 广告的广告位返回非 AMPHTML 广告,系统仍会向其收费。

服务器端提取

为了实现 AMPHTML 广告的提前呈现,必须在不使用客户端进行额外跳转的情况下呈现 AMPHTML 广告内容。这是为了避免因广告延迟和额外的客户端调用而导致用户体验不佳。

在出价方赢得竞价后,广告交易平台将执行服务器到服务器请求,以检索位于 amp_ad_url 中提供的网址的 AMPHTML 广告内容。广告素材服务器必须在 300 毫秒内响应并返回内容。

从广告素材服务器返回的 AMPHTML 广告将注入广告位,然后进行呈现。请注意,有效的 AMPHTML 广告不得包含 iframe 或其他 <amp-ad> 代码。如需了解详情,请参阅 AMPHTML 广告规范

仅限 Beta 版功能:如需此功能,请与您的客户支持团队联系

在服务器到服务器检索 AMPHTML 广告(在 amp_ad_url 中指定)期间,Authorized Buyers 可能会将 HTTP 标头和 IP 地址从用户的浏览器传递到广告素材服务器。这样可确保广告素材服务器收到的信息与从标准客户端提取发送的信息类似。在某些情况下,IP 地址可能会被截断为仅包含前 3 个字节 (IPv4) 或前 6 个字节 (IPv6)。如果您需要此功能,请与您的客户支持团队联系。以下是 HTTP 标头示例:

展示跟踪网址和点击宏

RTB 买方通常会在出价响应中将展示跟踪广告代码作为结构化字段包含在内(这是 Bid.burl,即 OpenRTB 2.5 中的“结算通知网址”)。

对于 Authorized Buyers,这些代码会在客户端触发;amp-pixel 会在广告素材呈现时触发跟踪网址。除了呈现之外,amp-analytics 还可以处理更高级的跟踪用例。

AMPHTML 广告必须在 AMPHTML 中包含有效的 click 宏。这通常如下所示:

<a href="%%CLICK_URL_UNESC%%http%3A%2F%2my.adserver.com%2Fsome%2Fpath%2Fhandleclick%3Fclick%3Dclk"></a>
<a href="https://my.adserver.com/click?google_click_url=%%CLICK_URL_ESC%%"></a>

广告素材通常在广告素材代码中包含Cookie 匹配像素。AMPHTML 广告可以针对此用例使用 amp-pixelamp-analytics 组件。如果您的用例无法通过使用 amp-analyticsamp-pixel 来满足,请创建 GitHub 问题来讨论替代方案。我们欢迎可供多家不同公司广泛使用的新扩展程序。如需构建新扩展程序,请参阅详细指南技术指南

用于测试的 AMP 广告网址示例

您可以使用以下 AMPHTML 广告内容示例进行测试:

资源

AMP 项目和 Google 发布了多项资源,可帮助您顺利上手:

在 AMP 中制作广告
向 IAB / OpenRTB 集团提交的 RTB 专用提案