RTB 経由の AMP HTML 広告

このページでは、Google Chat の AMP HTML 広告 。詳しくは、以下のリソースをご覧ください AMP HTML 広告とツールについて簡単に説明します。

大まかな流れ

RTB 入札リクエスト

RTB 入札リクエストは、そのリクエストが AMP ページからのものかどうかを示します。 AMP HTML 広告の要件をご確認ください

OpenRTB

AMP ページ

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

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

  // Whether this is an AMP page or not. Omitted if unknown.
  optional AmpPage amp = 1;
  enum VisibilityState {
    VISIBILITY_STATE_UNKNOWN = 0;

    // The page is at least partially visible. For example, in the foreground
    // tab of a non-minimized window.
    VISIBILITY_STATE_VISIBLE = 1;

    // The page is not visible to users. For example, when the page is in a
    // background browser tab, or in a minimized window.
    VISIBILITY_STATE_HIDDEN = 2;
  }

  // The visibility state of the web page containing the ad slot.
  // See https://www.w3.org/TR/page-visibility/.
  // [AdX: BidRequest.page_visibility]
  optional VisibilityState page_visibility = 2 [default =
    VISIBILITY_STATE_UNKNOWN];

  // Information about a browser window's user activation state. See
  // https://html.spec.whatwg.org/multipage/interaction.html#the-useractivation-interface.
  message UserActivation {
    // Indicates whether a user has completed an interaction since page load.
    optional bool wasact = 1;

    // Indicates whether a user is currently interacting with the page.
    optional bool isact = 2;
  }

  // User activation information from the browser for the current request, if
  // the request is for a web page.
  optional UserActivation uact = 5;

  // The set of possible web navigation types that predicate a page load. Each
  // of these types may have different performance characteristics. For example,
  // users going back and forth might experience a faster site than users
  // performing navigation for the first time or submitting forms. See
  // https://w3c.github.io/navigation-timing/#dom-performancenavigationtiming-type.
  enum NavigationType {
    NAVIGATION_TYPE_UNKNOWN = 0;

    // Navigation started by clicking a link, entering the URL in the browser's
    // address bar, form submission, or initializing through a script operation
    // other than reload and back_forward.
    NAVIGATION_TYPE_NAVIGATE = 1;

    // Navigation is through the browser's reload operation, location.reload(),
    // or a Refresh pragma directive like
    // <meta http-equiv="refresh" content="300">.
    NAVIGATION_TYPE_RELOAD = 2;

    // Navigation is through the browser's history traversal operation.
    NAVIGATION_TYPE_BACK_FORWARD = 3;

    // Navigation is initiated by a prerender hint (deprecated). See
    // https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/rel/prerender.
    NAVIGATION_TYPE_PRERENDER = 4;
  }

  // The type of browser navigation that led to the current page. Unset for
  // non-web ad requests.
  optional NavigationType ntype = 6;

  // Indicates that the request is using semi-transparent branding,
  // which means only a truncated version of the request URL will
  // be provided. This decision is made by the publisher, see
  // https://support.google.com/admanager/answer/4584891#urls for context.
  optional bool is_semi_transparent_request = 3;

  // The domain of the partner (of the site owner) with ownership
  // of some portion of ad inventory on the site. The partner's ads.txt file
  // will be hosted here. More detail at
  // http://iabtechlab.com/wp-content/uploads/2021/03/ctv-app-ads-explainer-guide.pdf
  optional string inventorypartnerdomain = 4;
}

AMP HTML 広告の要件

// Ad Exchange extensions for the Imp object.
message ImpExt {
...
  // Possible requirement types for AMP ads.
  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;
    // Exchange-specific values above 500.
  }
  optional AmpAdRequirementType ampad = 8
    [default = UNKNOWN_AMP_AD_REQUIREMENT_TYPE];
}

認定バイヤー RTB

AMP ページ

// Whether this is an AMP page or not.
enum AmpPage {
  // AMP page status unknown.
  UNKNOWN_AMP_PAGE = 0;

AMP HTML 広告の要件

// Possible requirement types for AMP ads.
enum AmpAdRequirementType {
  // AMP ad requirements unknown.
  UNKNOWN_AMP_AD_REQUIREMENT_TYPE = 0;

RTB 入札レスポンス

OpenRTB

<ph type="x-smartling-placeholder"></ph>年 OpenRTB 3.0 と付随する 共通モデルに沿って AMP HTML 広告をサポート。 下記を含む IAB の最新のドラフト仕様をご覧ください。

入札単価 フィールド Attr タイプ 説明
リクエスト Site.amp amp integer Site.amp フィールドは、ページがレンダリングされるかどうかを示します。 AMP 内、不明な場合は省略:
0 = ページが非 AMP
1 = ページが AMP HTML で作成されている
リクエスト ampformat rend integer AMP 形式の仕様での要件とレンダリングについて AMP HTML 広告の動作:
1 = AMP 広告の要件が不明
2 = AMP 広告を許可しない
3 = AMP 広告または非 AMP 広告のいずれかが許可されます。AMP 広告が早期レンダリングされない
4 = AMP 広告または非 AMP 広告のいずれかが許可されています。AMP 広告は早期表示されます。
5 = AMP 広告が必要。AMP 以外の広告はパブリッシャーによって拒否される可能性があります
500+ = エクスチェンジ固有の値。事前に入札者に
レスポンス display curl 文字列 入札レスポンスに display.curl が追加され、送信できるようになりました AMP HTML 広告にも対応しています。
これは、クリエイティブのマークアップがある URL です。次のようなクリエイティブ タイプに適用可能: AMP、VAST、DAAST、ネイティブの 3 つです通常、特定の広告で有効になるのは adm または curl のいずれか 1 つのみです。

認定バイヤー RTB

認定バイヤーの入札単価の BidResponse.Ad.amp_ad_url フィールド レスポンスでは、AMP HTML 広告コンテンツを指す URL を指定できます。同じフィールドが存在する Bid オブジェクトの拡張機能として(Google の OpenRTB) 説明します。

// The URL to fetch an AMPHTML ad. Only one of the following should be set:
// html_snippet, video_url, amp_ad_url, native_ad.
optional string amp_ad_url = 23;

有効な AMP HTML の確認

AMP HTML 広告を早期レンダリングするには、エクスチェンジで所有権の確認と 署名し、広告が amp4ads <html amp4ads> クリエイティブ フォーマットで作成されていることを示します。

有効な AMP HTML 広告は、AMP ページで早期にレンダリングできます。広告 AMP HTML でも有効な AMP HTML とは 非 AMP HTML 広告の場合もあります。

amp_ad_url には AMP HTML 広告のみが返されます。

今後、パブリッシャーが AMP HTML 広告のみを必要とする場合、AMP HTML 広告として AMP HTML はレンダリングされません。

認定バイヤーの場合、ビッダーは AMP HTML 広告が必要な広告スロットに AMP HTML 以外の広告を追加します。

サーバーサイド フェッチ

AMP HTML 広告を早期にレンダリングするには、AMP HTML 広告のコンテンツをレンダリングする必要があります。 クライアントから追加のホップなしで リクエストできますこれは、 広告の遅延や余分なクライアントサイド呼び出しが原因で、ユーザー エクスペリエンスが低下することがあります。

オークションで入札者が落札した後、エクスチェンジでは URL にある AMP HTML 広告コンテンツを取得するサーバー間リクエスト amp_ad_url で提供される。クリエイティブ サーバーが応答して結果を返す必要があります。 300 ミリ秒以内です。

クリエイティブ サーバーから返された AMP HTML 広告は、 その後レンダリングされますなお、有効な AMP HTML 広告には iframe、またはその他の <amp-ad> タグ。AMP HTML の 広告の仕様をご覧ください。

ベータ版のみの機能: 必要な場合は、アカウント チームにお問い合わせください

AMP HTML 広告( amp_ad_url)、認定バイヤーは HTTP ヘッダーと IP ユーザーのブラウザからクリエイティブサーバーに 送信される情報ですこれにより 標準のクライアントサイド 取得しますIP アドレスが最初の 3 バイトに切り詰められることがあります。 (IPv4)、または最初の 6 バイト(IPv6)。この処理が必要な場合は、Google のアカウント担当者にお問い合わせください。 機能。HTTP ヘッダーの例を次に示します。

<ph type="x-smartling-placeholder">

インプレッション トラッキング URL とクリックマクロ

RTB 購入者は通常、インプレッション トラッカーを構造化フィールドとして 入札レスポンス(Bid.burl、 OpenRTB 2.5)。

認定バイヤーでは、これらはクライアントサイドで呼び出されます。amp-pixel は、クリエイティブのレンダリング時にトラッキング URL を配信します。amp-analytics レンダリングにとどまらない、より高度なトラッキングのユースケースに対応できます。

AMP HTML 広告には有効なクリックマクロを AMP HTML ですこれは通常、次のような形式になります。

<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 が含まれる 照合ピクセルを使用します。AMP HTML 広告では、 amp-pixel および amp-analytics 説明します。Google Cloud 上の Cloud Identity を使用して amp-analytics または amp-pixel の場合は、 ディスカッション用の GitHub の問題 指定します。Google は、あらゆるユーザーのニーズに応える新しい拡張機能を 多数の企業があります詳しくは、 詳細 ガイドラインまたは 技術 新しい拡張機能を作成するためのガイドをご覧ください。

テスト用の AMP 広告 URL の例

テストには、以下の AMP HTML 広告コンテンツのサンプルを使用できます。

リソース

AMP プロジェクトと Google は、AMP プロジェクトを始める際に役立つさまざまなリソースを提供しています。

AMP で広告を作成する
IAB / OpenRTB グループへの RTB 固有のプロポーザル