AMPHTML-Anzeigen mit Echtzeitgebotsfunktion

Auf dieser Seite werden die ersten Schritte AMPHTML-Anzeigen mit Echtzeitgebote. Weitere Informationen findest du in den Ressourcen unten. zu AMPHTML-Anzeigen und -Tools, die Ihnen den Einstieg erleichtern.

Allgemeiner Ansatz

RTB-Gebotsanfrage

In der Gebotsanfrage für Echtzeitgebote wird angegeben, ob die Anfrage von einer AMP-Seite stammt. und die Anforderungen für AMPHTML-Anzeigen.

OpenRTB

AMP-Seite

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;
}

Anforderungen an AMPHTML-Anzeigen

// 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-Funktion in Authorized Buyers

AMP-Seite

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

Anforderungen an AMPHTML-Anzeigen

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

RTB-Gebotsantwort

OpenRTB

In <ph type="x-smartling-placeholder"></ph> OpenRTB 3.0 und die zugehörige Werbekampagne Gängige Modelle: Mehrere Ergänzungen zur Unterstützung von AMPHTML-Anzeigen sind in der aktuellen Entwurfsspezifikationen des IAB, einschließlich der folgenden.

Gebot Feld Attr Typ Beschreibung
Anfrage Site.amp amp Ganzzahl Das Feld Site.amp gibt an, ob die Seite gerendert wird auf AMP-Seiten; falls unbekannt, ausgelassen:
0 = Seite ist kein AMP
1 = Seite wird mit AMP-HTML erstellt
Anfrage ampformat rend Ganzzahl In der AMP-Formatspezifikation sind die Anforderungen und das Rendering bei AMPHTML-Anzeigen:
1 = Anforderungen an AMP-Anzeigen sind unbekannt
2 = AMP-Anzeigen sind nicht zulässig
3 = Anzeigen mit oder ohne AMP sind zulässig. AMP-Anzeigen werden nicht früh gerendert
4 = AMP-Anzeigen oder Nicht-AMP-Anzeigen sind zulässig und AMP-Anzeigen werden frühzeitig gerendert.
5 = AMP-Anzeigen sind erforderlich. Anzeigen ohne AMP können vom Publisher abgelehnt werden.
500+ = börsenspezifische Werte; sollten vorab an die Bieter informiert werden.
Antwort display curl String In der Gebotsantwort wurde display.curl hinzugefügt, damit Sie Creatives über eine URL senden, einschließlich Unterstützung für AMPHTML-Anzeigen.
Dies ist die URL, unter der sich das Creative-Markup befindet. Gilt für folgende Creative-Typen: AMP-Anzeigen, VAST, DAAST und native Anzeigen. Normalerweise ist in einer bestimmten Anzeige nur entweder "adm" oder "curl" gültig.

RTB-Funktion in Authorized Buyers

Das Feld BidResponse.Ad.amp_ad_url im Authorized Buyers-Gebot akzeptiert eine URL, die auf AMPHTML-Anzeigencontent verweist. Dasselbe Feld existiert als Erweiterung im Bid-Objekt in OpenRTB von Google Implementierung.

// 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;

Gültigen AMPHTML-Code überprüfen

Damit AMPHTML-Anzeigen frühzeitig gerendert werden, muss die Anzeigenplattform kennzeichnen, um darauf hinzuweisen, dass die Anzeige im AMP4Ads-<html amp4ads>-Creative-Format erstellt wurde.

Anzeigen mit gültigem AMPHTML-Code können auf AMP-Seiten frühzeitig gerendert werden. Anzeigen AMPHTML-Seiten, die nicht als gültiger AMPHTML-Code bestätigt wurden, werden mit derselben Geschwindigkeit nicht-AMPHTML-Anzeigen.

Im amp_ad_url dürfen nur AMPHTML-Anzeigen zurückgegeben werden.

Künftig gilt: Wenn ein Publisher nur AMPHTML-Anzeigen benötigt, werden Anzeigen, die nicht als AMPHTML wird nicht gerendert.

Bei Authorized Buyers fallen weiterhin Kosten an, wenn Bieter einen Nicht-AMPHTML-Anzeige in eine für AMPHTML-Anzeige erforderliche Anzeigenfläche ein.

Serverseitiger Abruf

Damit AMPHTML-Anzeigen frühzeitig gerendert werden, muss der AMPHTML-Anzeigeninhalt gerendert werden. ohne dass zusätzliche Hops vom Client erforderlich sind. Dadurch soll verhindert werden, Schlechte Nutzererfahrung aufgrund von Anzeigenlatenz und zusätzlichen clientseitigen Aufrufen

Nachdem ein Bieter die Auktion gewonnen hat, führt die Anzeigenplattform eine Server-zu-Server-Anfrage zum Abrufen des AMPHTML-Anzeigeninhalts unter der URL bereitgestellt in amp_ad_url. Creative-Server müssen antworten und 300 ms zu laden.

Die vom Creative-Server zurückgegebene AMPHTML-Anzeige wird in den und anschließend gerendert werden. Eine gültige AMPHTML-Anzeige darf keine iFrames oder anderen <amp-ad>-Tags. Weitere Informationen finden Sie im AMPHTML-Leitfaden finden Sie weitere Informationen.

Nur Beta-Funktion: Wenden Sie sich bei Bedarf an Ihr Account-Management-Team.

Während des Server-zu-Server-Abrufs der AMPHTML-Anzeige (angegeben in amp_ad_url), werden in Authorized Buyers möglicherweise der HTTP-Header und die IP-Adresse vom Browser des Nutzers an den Creative-Server gesendet. Dadurch wird sichergestellt, dass das Creative Server empfängt ähnliche Informationen wie die von einem standardmäßigen clientseitigen Fetch". In einigen Fällen wird die IP-Adresse möglicherweise auf die ersten 3 Byte gekürzt. (IPv4) oder die ersten 6 Byte (IPv6). Wenden Sie sich an Ihr Account-Management-Team, wenn Sie dies benötigen. . Hier ist ein Beispiel für einen HTTP-Header:

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

Impressions-Tracking-URLs und Klick-Makros

EZG-Käufer setzen Impressions-Tracker häufig als strukturiertes Feld in die Gebotsantwort (dies ist Bid.burl, die URL der Abrechnungsmitteilung in OpenRTB 2.5).

Bei Authorized Buyers werden sie clientseitig ausgelöst. amp-pixel löst Tracking-URLs aus, wenn das Creative gerendert wird. amp-analytics erweiterte Tracking-Anwendungsfälle, die über das Rendering hinausgehen.

AMPHTML-Anzeigen müssen in folgendem Format ein gültiges Klick-Makro enthalten: den AMPHTML-Code. Das sieht in der Regel so aus:

<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>

Creatives enthalten oft Cookie übereinstimmende Pixel im Creative-Code finden. Für AMPHTML-Anzeigen können die amp-pixel und amp-analytics Komponenten für diesen Anwendungsfall. Wenn Ihr Anwendungsfall nicht durch die amp-analytics oder amp-pixel, öffne eine Zu besprechendes GitHub-Problem Alternativen. Wir begrüßen neue Erweiterungen, die von vielen verschiedenen Unternehmen. Weitere Informationen finden Sie unter detailliert Richtlinien oder eine technisch Anleitung zum Erstellen einer neuen Erweiterung.

Beispiele für URLs von AMP-Anzeigen zu Testzwecken

Sie können die folgenden AMPHTML-Beispielanzeigeninhalte zum Testen verwenden:

Ressourcen

Das AMP-Projekt und Google haben eine Reihe von Ressourcen zur Verfügung gestellt, die Ihnen den Einstieg erleichtern sollen:

Anzeigen in AMP erstellen
RTB-spezifische Vorschläge an IAB / OpenRTB Group