Native Anzeigen sind so formatiert, dass sie zum Inhalt und Design der Umgebung passen. Dadurch erhöht sich die Wahrscheinlichkeit, dass sie von Nutzern gesehen und angeklickt werden. Natives Anzeigeninventar ist in mobilen Apps sowie auf Websites für Computer und Mobilgeräte verfügbar. Weitere Informationen zu nativen Anzeigen finden Sie unter Übersicht über native Anzeigen.
Native Anzeigen werden sowohl für Authorized Buyers als auch für Open Bidding unterstützt.
So funktioniert der Workflow für native Anzeigen:
- Ein Aufruf für eine native Anzeige wird an Google gesendet. Im Aufruf werden eine oder beide der unten aufgeführten nativen Anzeigenvorlagen angegeben, wobei jeweils die bevorzugten nativen Felder angegeben werden.
- Google sendet den Käufern eine RTB-Gebotsanfrage mit einer Liste der angeforderten Felder.
- Interessierte Käufer antworten mit den angeforderten Feldern.
- Google führt eine Auktion durch, um das erfolgreiche Gebot auszuwählen, und sendet die vom Käufer zur Verfügung gestellten Creative-Assets an den Publisher.
- Der Publisher stellt aus den Assets eine native Anzeige zusammen und gestaltet sie passend zum Design der Website.
Nachrichtenformate
Google unterstützt die OpenRTB-Spezifikation sowohl in JSON als auch in Protobuf.
Bei nativen OpenRTB-Protokollpufferanzeigen weichen die folgenden Felder von der Spezifikation ab:
JSON-Spezifikation (PROTOCOL_OPENRTB_2_4) |
JSON-Typ | OpenRTB-Implementierung (PROTOCOL_OPENRTB_PROTOBUF_2_4) |
OpenRTB-Typ |
---|---|---|---|
BidRequest.imp[].native.request |
string |
BidRequest.imp[].native.request_native |
NativeRequest |
BidResponse.seatbid[].bid[].adm |
string |
BidResponse.seatbid[].bid[].adm_native |
NativeResponse |
Die OpenRTB-Felder sind Protobuf-Nachrichten und keine Strings.
Wenn Sie die OpenRTB-Protokollpufferimplementierung verwenden, erhalten Sie BidRequest.imp[].native.request
nicht und müssen mit BidResponse.seatbid[].bid[].adm_native
antworten. Gebotsantworten mit BidResponse.seatbid[].bid[].adm
werden herausgefiltert. Asset-IDs sind für Gebotsantworten des OpenRTB-Protokollpuffers nicht erforderlich.
Wenn Sie native Anzeigen mit einem Käufer-SDK rendern, müssen Sie ein Bild-type
in die declared_ad
einfügen, wenn Sie Creatives zur Überprüfung einreichen.
Vorlagen für native Anzeigen
Google unterstützt die beiden gängigsten nativen Anzeigenvorlagen für Nicht-Video- und native Videoanzeigen:
- Vorlage für App-Installationsanzeigen: Damit können Sie die Installationen mobiler Apps bewerben und die Anzahl der Installationen steigern.
- Vorlage für Contentanzeigen – Allgemeinere Kombination aus Text und Bildern für Marken- oder Webanzeigen.
- Vorlage für App-Installations-Videoanzeigen
- Vorlage für Videocontentanzeigen
Es gibt auch andere Vorlagen, bei denen für Felder, Abmessungen und Größen möglicherweise andere Anforderungen gelten.
Vorlage für App-Installationsanzeigen
Erforderliche und empfohlene Felder
Die folgenden Tabellen enthalten Felder, die mit Erforderlich oder Empfohlen gekennzeichnet sind. Es gelten die folgenden Regeln:
- Felder, die als erforderlich gekennzeichnet sind, müssen vom Bieter ausgefüllt werden.
- Felder, die als Empfohlen gekennzeichnet sind, müssen für den Bieter nicht angegeben werden. Der Publisher kann sie, falls vorhanden, angeben (z. B. Bewertung).
- Der Call-to-Action (CTA) ist immer als Empfohlen gekennzeichnet, da ein Standardwert zugewiesen wird, wenn vom Bieter kein Call-to-Action gesendet wird. Wenn er gesendet wird, wird er aber immer angezeigt.
In der folgenden Tabelle sind die Felder für Vorlagen für App-Installationsanzeigen aufgeführt. Diese Felder werden für mobile Apps verwendet, um native App-Installationsanzeigen zu erstellen.
Feld | Beschreibung | Erforderlich oder empfohlen? | Immer angezeigt? | Empfohlene Bildgröße/maximale Zeichenanzahl | Beispiel |
---|---|---|---|---|---|
Anzeigentitel | Der Titel der App | Erforderlich | Ja | 25 Zeichen | Flood-It! |
Bild | Screenshot aus der App oder ein anderes relevantes Bild | Erforderlich | Nein | 1.200 × 627 Pixel oder 600 × 600 Pixel,je nach dem vom Publisher geforderten Seitenverhältnis. | <Ein Screenshot aus dem Spiel Flood-It!> |
Text | Haupttext der App | Erforderlich | Nein | 90 Zeichen | Irreführend einfach + fesselnd herausfordernd = macht Spaß! |
App-Symbol | Das App-Symbol | Erforderlich | Nein | 128 x 128 px | <Symbol der Flood-it! App> |
Call-to-Action | Bevorzugte Nutzeraktion | Empfohlen | Ja | 15 Zeichen | Installieren |
Bewertung | Anzahl der Sterne (0–5), die die Bewertung der App im App-Shop darstellen | Empfohlen | Nein | 0–5 | 4.5 |
Preis | Die Kosten der App | Empfohlen | Nein | 15 Zeichen | Kostenlos |
Hinweise zur Textlänge
Wenn ein Käufer ein Text-Asset (z. B. Fließtext) sendet, das die empfohlene maximale Zeichenanzahl überschreitet, wird der Text möglicherweise von Google oder vom Publisher abgeschnitten und mit Ellipsen versehen. Beachten Sie, dass die Längenbeschränkungen für Chinesisch, Japanisch und Koreanisch nur halb so lang sind. Beispielsweise beträgt die maximale Anzahl der Anzeigentitel 90 für Englisch und 45 für Chinesisch.
Hinweise zur Bildgröße
Publishern ist Folgendes erlaubt:
- Schneiden Sie das Hauptbild symmetrisch um bis zu 20% in einer Dimension (Höhe oder Breite) zu.
- Skalieren Sie das Bild, ohne sein Seitenverhältnis zu ändern.
- Bilder, deren Seitenverhältnisse deutlich von den Seitenverhältnissen abweichen, die sich aus der Höhe und Breite ergeben, werden unter Umständen herausgefiltert.
Vorlage für Contentanzeigen
In der folgenden Tabelle sind die Felder einer Vorlage für Contentanzeigen aufgeführt. Publisher verwenden diese Felder, um native Contentanzeigen zu erstellen.
Feld | Beschreibung | Erforderlich oder empfohlen? | Immer angezeigt? | Empfohlene Bildgröße/maximale Zeichenanzahl * | Beispiel |
---|---|---|---|---|---|
Anzeigentitel | Die Kopfzeile der Anzeige | Erforderlich | Ja | 25 Zeichen | Niedrigste Hypothekenzinsen |
Bild | Hauptbild der Anzeige | Erforderlich | Nein | 1.200 × 627 Pixel oder 600 × 600 Pixel,je nach dem vom Publisher geforderten Seitenverhältnis. | <Hauptbild der Anzeige> |
Text | Anzeigeninhalt | Erforderlich | Nein | 90 Zeichen | Dein Zuhause, süßes Zuhause in Brooklyn – günstiger und früher, als du denkst! |
Logo | Logo des Werbetreibenden oder ein anderes relevantes kleines Bild | Empfohlen | Nein | 128 x 128 px | <Logo von NY Mortgage Inc.> |
Call-to-Action | Bevorzugte Aktion des Nutzers | Empfohlen | Nein | 15 Zeichen | Angebot einholen |
Advertiser | Text, der den Werbetreibenden oder die Marke identifiziert | Erforderlich | Nein | 25 Zeichen | New York Mortgage Inc. |
Vorlage für App-Installations-Videoanzeigen
Feld | Beschreibung | Erforderlich oder empfohlen? | Immer angezeigt? | Empfohlene Bildgröße/maximale Zeichenanzahl* | Beispiel |
---|---|---|---|---|---|
Video | Die Video-VAST-Antwort, die alle erforderlichen Assets für die Wiedergabe einer Videoanzeige enthält. | Erforderlich | Nein | - | Eine URL zu VAST-XML, die eine Flood-It!- Videoanzeige |
Anzeigentitel | Der Titel der App | Erforderlich | Ja | 25 Zeichen | Flood-It! |
Bild | Bild (Miniaturansicht), das im Player angezeigt wird, bevor auf die Videoanzeige geklickt wird oder während sie geladen wird. | Erforderlich | Nein | Sollte dem Seitenverhältnis des Videos entsprechen, z. B. 1280 × 720 für 16:9-Videos, 4 : 3 für 640 × 480 Video. | Ein Screenshot aus dem Spiel Flood-It! Oder aus dem Video |
Text | Haupttext der App | Erforderlich | Nein | 90 Zeichen | Irreführend einfach + fesselnd herausfordernd = macht Spaß! |
App-Symbol | Das App-Symbol | Erforderlich | Nein | 128 x 128 px | Symbol der Flood-it! App |
Call-to-Action | Bevorzugte Nutzeraktion | Erforderlich | Ja | 15 Zeichen | Installieren |
Bewertung | Anzahl der Sterne (0–5), die die Bewertung der App im App-Shop darstellen | Empfohlen | Nein | 0–5 | 4.5 |
Preis | Die Kosten der App | Empfohlen | Nein | 15 Zeichen | Kostenlos |
Einschränkungen
Video: Alle Videos müssen in Form einer VAST-URL oder eines VAST-Tags vorliegen. Eine Rohvideodatei im Format WebM oder MP4 kann nicht angegeben werden.
Textlänge: Wenn ein Käufer ein Text-Asset wie
body
in der Antwort angibt, wird es möglicherweise von Google oder dem Publisher gekürzt und mit Auslassungspunkten versehen. In Chinesisch, Japanisch und Koreanisch sind Kürzungsbeschränkungen nur halb so groß. So beträgt die maximale Anzahl der Anzeigentitel für Englisch 90 und für Chinesisch 45.Bildgröße: Publisher dürfen Folgendes tun:
- Schneiden Sie das Hauptbild symmetrisch um bis zu 20% in einer Dimension (Höhe oder Breite) zu.
- Skalieren Sie das Bild, ohne sein Seitenverhältnis zu ändern.
Beispiel für eine App-Installationsanzeige
Vorlage für Videocontentanzeigen
Feld | Beschreibung | Erforderlich oder empfohlen? | Immer angezeigt? | Empfohlene Bildgröße/maximale Zeichenanzahl* | Beispiel |
---|---|---|---|---|---|
Video | Die Video-VAST-Antwort, die alle erforderlichen Assets für die Wiedergabe einer Videoanzeige enthält. | Erforderlich | Ja | - | Eine URL zu VAST-XML, die eine Flood-It!- Videoanzeige |
Anzeigentitel | Die Kopfzeile der Anzeige | Erforderlich | Ja | 25 Zeichen | Niedrigste Hypothekenzinsen |
Bild | Bild (Miniaturansicht), das im Player angezeigt wird, bevor auf die Videoanzeige geklickt wird oder während sie geladen wird. | Erforderlich | Nein | Sollte dem Seitenverhältnis des Videos entsprechen, z. B. 1280 × 720 für 16:9-Videos, 4 : 3 für 640 × 480 Video. | Screenshot aus dem Video |
Text | Anzeigeninhalt | Erforderlich | Nein | 90 Zeichen | Dein Zuhause, süßes Zuhause in Brooklyn – günstiger und früher, als du denkst! |
Logo | Logo des Werbetreibenden oder ein anderes relevantes kleines Bild | Empfohlen | Nein | 128 x 128 px | Logo von NY Mortgage Inc. |
Call-to-Action | Bevorzugte Aktion des Nutzers | Erforderlich | Nein | 15 Zeichen | Angebot einholen |
Advertiser | Text, der den Werbetreibenden oder die Marke identifiziert | Erforderlich | Nein | 25 Zeichen | New York Mortgage Inc. |
Metafelder
Die folgenden Metafelder werden von allen unterstützten Anzeigenvorlagen gemeinsam genutzt:
Protokollzwischenspeicher in Authorized Buyers | Authorized Buyers-OpenRTB-Äquivalent | Beschreibung |
---|---|---|
NativeAd.click_link_url |
Link.url |
Die URL, die vom Browser aufgerufen wird, wenn der Nutzer auf die Anzeige klickt.
Dies kann der erste Schritt einer Weiterleitungskette sein, die schließlich zur Landingpage führt. Für native Anzeigen empfehlen wir die Verwendung von click_link_url als Feld, um das Ziel festzulegen, zu dem der Nutzer letztendlich weitergeleitet wird. Bei dynamischen Landingpages ist es erforderlich. |
Ad.click_through_url |
Bid.adomain |
Muss festgelegt werden, wenn der Bieter ein Gebot abgeben möchte. Dies sind die Ziel-URLs für das Snippet. Dazu zählen die URLs, zu denen der Nutzer weitergeleitet wird, wenn er auf die ausgelieferte Anzeige klickt, sowie alle URLs, die in der gerenderten Anzeige sichtbar sind. Fügen Sie keine Zwischenaufrufe an den Ad-Server ein, die nichts mit der endgültigen Landingpage zu tun haben. Eine BidResponse, die ein Snippet oder eine Videoanzeige zurückgibt, aber kein Bei nicht nativen Anzeigen wird sie nicht für das Klick-Tracking oder andere Anzeigenfunktionen verwendet, sondern nur zur Deklarierung der Ziel-URL. Wenn |
NativeAd.click_tracking_urls |
Link.clicktrackers |
Optional. Zusätzliche URLs, mit denen Werbetreibende Klicks von Nutzern auf die Anzeige erfassen können. |
Ad.ad_choices_destination_url |
BidExt.ad_choices_destination_url |
Link zu einer Seite für Anzeigenvorgaben oder zur Deaktivierung Falls vorhanden, wird dem nativen Creative ein standardmäßiges Datenschutzinfo-Symbol hinzugefügt und mit dieser URL verknüpft. Dies wird für native Anzeigen unterstützt, ist aber nicht Teil der nativen Nachricht in der Gebotsantwort. |
Ad.impression_tracking_url |
NativeResponse.imptrackers |
Die native Impression sollte mit impression_tracking_url im Authorized Buyers-Protokoll für Echtzeitgebote oder mit nativen Impressions-Trackern in OpenRTB erfasst werden. |
Erforderliche und empfohlene Felder
required_fields
und recommended_fields
werden vom Publisher angegeben. Wir zeigen, wie diese Bitfelder übersetzt werden, um zu bestimmen, ob ein Feld erforderlich oder empfohlen wird.
Ein Bitfeld verwendet jedes Bit eines Binärwerts zum Speichern einer Wahr- oder Falsch-Anweisung, was dem Senden vieler boolescher Signale wie is_logo_required
, is_header_required
usw. entspricht, aber alle zusammengepackt ist.
Beispiel
In diesem Beispiel verwenden wir den required_fields
-Wert 1085
.
Suchen Sie zuerst nach dem äquivalenten Binärwert: 10000111101
Sobald Sie den Binärwert haben, können Sie die Bits überprüfen, um festzustellen, ob ein Feld erforderlich (1) oder nicht erforderlich (0) ist.
In der folgenden Tabelle werden die Felder ihrem Platz im Binärwert zugeordnet. Lesen Sie das Binärprogramm von rechts nach links, wobei das 1-Bit der ganz rechtssten Stelle im Binärwert entspricht.
Feld | Binärwert-Platzierung (von rechts nach links) |
---|---|
HEADLINE |
1 |
BODY |
2 |
CALL_TO_ACTION |
4 |
ADVERTISER |
8 |
IMAGE |
16 |
LOGO |
32 |
APP_ICON |
64 |
STAR_RATING |
128 |
PRICE |
256 |
STORE |
512 |
VIDEO |
1024 |
Im Beispielbinärwert 10000111101
ist das 1-Bit (ganz rechts) 1
, was einen erforderlichen Wert angibt. Laut Tabelle entspricht das 1-Bit HEADLINE
.
Der 2-Bit-Wert (zweiter Wert von rechts) ist 0
und bedeutet, dass nicht erforderlich ist. Das 2-Bit entspricht BODY
.
Hier sind alle interpretierten Pflichtfelder in unserem Beispiel:
Wert | Beschreibung | Erforderlich? |
---|---|---|
1 |
VIDEO |
Ja |
0 |
STORE |
Nein |
0 |
PRICE |
Nein |
0 |
STAR_RATING |
Nein |
0 |
APP_ICON |
Nein |
1 |
LOGO |
Ja |
1 |
IMAGE |
Ja |
1 |
ADVERTISER |
Ja |
1 |
CALL_TO_ACTION |
Ja |
0 |
BODY |
Nein |
1 |
HEADLINE |
Ja |
NativeAdTemplate-Mitteilung
Wenn Sie eine Gebotsanfrage mit nativem Inventar erhalten, enthält diese die ausgefüllte Anfrage BidRequest.adSlot[].native_ad_template.
Die NativeAdTemplate
-Nachricht enthält Spezifikationen für:
- Felder, die erforderlich oder empfohlen werden.
- Abmessungen von Bildern, Logos und App-Symbolen
- Dies ist die Spezifikation für das Design, in dem die Anzeige gerendert wird.
message BidRequest { //... message AdSlot { //... message NativeAdTemplate { // Defines the bits used in required_fields and recommended_fields. // There is one bit for each of the fields in BidResponse.Ad.NativeAd enum Fields { NO_FIELDS = 0x0; HEADLINE = 0x1; BODY = 0x2; CALL_TO_ACTION = 0x4; ADVERTISER = 0x8; IMAGE = 0x10; LOGO = 0x20; APP_ICON = 0x40; STAR_RATING = 0x80; PRICE = 0x100; DEPRECATED_STORE = 0x200; VIDEO = 0x400; } // Bitfield describing which fields are required by the publisher. Bid // responses with no value for these fields will be rejected. Click // and view tracking urls are always implicitly required. optional int64 required_fields = 1; // Bitfield describing which fields are recommended by the publisher. // All recommended field are supported, but not all recommended fields // are required. optional int64 recommended_fields = 2; // max_safe_length indicates the maximum number of Unicode characters that // are guaranteed to be shown without truncation. Longer strings may be // truncated and ellipsized by Ad Exchange or the publisher during // rendering. optional int32 headline_max_safe_length = 3; optional int32 body_max_safe_length = 4; optional int32 call_to_action_max_safe_length = 5; optional int32 advertiser_max_safe_length = 6; optional int32 price_max_safe_length = 15; // The width and height from which to calculate the required aspect ratio. // You can provide a larger image in the response. Images that have aspect // ratios substantially different than those implied by the height and // width may be filtered. optional int32 image_width = 7; optional int32 image_height = 8; optional int32 logo_width = 9; optional int32 logo_height = 10; optional int32 app_icon_width = 11; optional int32 app_icon_height = 12; // Globally distinct id for the specific style, HTML, and CSS with which // the native ad is rendered. optional int32 style_id = 16; // Type of style layout for each native ad template. enum LayoutType { PIXEL = 0; FLUID = 1; } optional LayoutType style_layout_type = 17 [default = PIXEL]; // If the style_layout_type is Pixel, width and height of the // entire native ad after rendering. If the style_layout_type is // Fluid, the style_height and style_width may optionally // not be populated. optional int32 style_height = 18; optional int32 style_width = 19; } repeated NativeAdTemplate native_ad_template = 51; } // NativePlacementType describes placement of native ad slot with respect to // surrounding context. enum NativePlacementType { PLACEMENT_UNKNOWN = 0; // In the feed of content - for example as an item inside the organic // feed/grid/listing/carousel. PLACEMENT_IN_FEED = 1; // In the atomic unit of the content - for example, in the article page or single // image page. PLACEMENT_ATOMIC_UNIT = 2; // Outside the core content - for example in the ads section on the right // rail, as a banner-style placement near the content, etc. PLACEMENT_OUTSIDE = 3; // Recommendation widget, most commonly presented below the article // content. PLACEMENT_RECOMMENDATION = 4; } optional NativePlacementType native_placement_type = 45; // ... }
NativeAnzeigenmitteilung
Wenn ein Käufer auf natives Inventar bietet, muss ein Käufer BidResponse.ad[].native_ad mit den Pflichtfeldern füllen, die in der entsprechenden BidRequest.adSlot[].native_ad_template
angegeben sind.
message BidResponse { //... message Ad { //... message NativeAd { // A short title for the ad. optional string headline = 1; // A long description of the ad. optional string body = 2; // A label for the button that the user is supposed to click. optional string call_to_action = 3; // The name of the advertiser or sponsor, to be displayed in the ad // creative. optional string advertiser = 4; // Next tag to use: 4 message Image { optional string url = 1; // Image width and height are specified in pixels. You may provide a // larger image than was requested, so long as the aspect ratio is // preserved. optional int32 width = 2; optional int32 height = 3; } // A large image. optional Image image = 5; // A smaller image, for the advertiser's logo. optional Image logo = 6; // The app icon, for app download ads. optional Image app_icon = 7; // The video file. Only set this field if the video field is requested. oneof video { // The URL to fetch a video ad. The URL should return an XML response // that conforms to VAST standards. string video_url = 13; // The VAST document to be returned. string video_vast_xml = 16; } // The app rating in the app store. Must be in the range [0-5]. optional double star_rating = 8; // The URL that the browser/SDK will load when the user clicks the ad. // This can be the landing page directly, or the first step of a redirect // chain that eventually leads to it. For backward compatibility, if this // is not set, the first Ad.click_through_url is used. optional string click_link_url = 14; // The URL to use for click tracking. The SDK pings click tracking url on // a background thread. When resolving the url, HTTP 30x redirects are // followed. The SDK ignores the contents of the response; this URL // has no effect on the landing page for the user. // This field is planned to be deprecated and we are moving to the // repeated click_tracking_urls field. optional string click_tracking_url = 11; // The URLs to use for click tracking. This will be used throughout the // serving stack and will incorporate any URL in click_tracking_urls. repeated string click_tracking_urls = 15; // The price of the promoted app including the currency info. optional string price = 10; }; optional NativeAd native_ad = 18; // The set of destination URLs for the snippet. This includes the URLs that // the user will go to if they click on the displayed ad, and any URLs that // are visible in the rendered ad. Do not include intermediate calls to the // adserver that are unrelated to the final landing page. A BidResponse that // returns a snippet or video ad but declares no click_through_url will be // discarded. Only set this field if html_snippet or video_url or native_ad // are set. This data is used as a destination URL declaration, for example // for post-filtering of publisher-blocked URLs or ad categorization. // // For non-native ads, it is not used for click tracking or any // other ad functionality; it is only used as a destination URL // declaration. // // For native ads, if NativeAd.click_link_url is not set, the first // value of click_through_url is used to direct the user to the landing // page. In addition, all values are used as destination // URL declarations (similar to the non-native case). repeated string click_through_url = 4; //... // The URLs to call when the impression is rendered. The SDK pings // impression urls on a background thread and ignores the contents // of the response. repeated string impression_tracking_url = 19; // Link to ad preferences page. This is only supported for native ads. // If present, a standard AdChoices icon is added to the native ad creative and // linked to this URL. optional string ad_choices_destination_url = 21; // ... } }
Beispiele für Gebotsanfragen
Gebotsanfragen ohne Video
OpenRTB-JSON
OpenRTB-Protokollzwischenspeicher
Videogebotsanfragen
Beispiele für Gebotsantworten
Beachten Sie, dass die Werte in dieser Antwort nicht mit den entsprechenden Anfragen oben übereinstimmen sollen. Wenn die Vorlage des Antrags jedoch Pflichtfelder oder optionale Felder vorschlägt, entsprechen die Antworten hier diesen Anforderungen.