Annonces natives

Les annonces natives sont formatées pour s'adapter au contenu environnant et à l'image conception, ce qui les rend plus susceptibles d’être vues et de cliquer sur les utilisateurs. Annonce native l'inventaire est disponible dans les applications mobiles, ainsi que sur les sites Web pour ordinateur et pour mobile. Pour en savoir plus sur les annonces natives, consultez la page Présentation des annonces natives d'annonces.

Les annonces natives sont compatibles avec Authorized Buyers Open Bidding.

Voici le processus pour les annonces natives:

  1. Un appel pour une annonce native est envoyé à Google. L'appel spécifie l'un des modèles d'annonces natives ci-dessous, ou les deux, chacun spécifiant le des champs natifs.
  2. Google envoie aux acheteurs une demande d'enchère RTB contenant une liste des les champs demandés.
  3. Les acheteurs intéressés répondent en fournissant les champs demandés.
  4. Google lance une mise aux enchères afin de sélectionner l'enchère gagnante, puis envoie l'enchère les éléments de création fournis par l'acheteur à l'éditeur.
  5. L'éditeur assemble les éléments dans une annonce native et leur applique un style. pour s'adapter à la conception du site.

Formats des messages

Google prend en charge les Spécification OpenRTB au format JSON et Protobuf.

Pour les annonces natives Protobuf OpenRTB, les champs suivants diffèrent des spécifications:

Spécification JSON
(PROTOCOL_OPENRTB_2_4)
Type JSON Implémentation d'OpenRTB
(PROTOCOL_OPENRTB_PROTOBUF_2_4)
Type OpenRTB
BidRequest.imp[].native.request string BidRequest.imp[].native.request_native NativeRequest
BidResponse.seatbid[].bid[].adm string BidResponse.seatbid[].bid[].adm_native NativeResponse

Les champs OpenRTB sont des messages Protobuf plutôt que des chaînes.

Si vous utilisez l'implémentation de Protobuf OpenRTB, vous ne recevrez BidRequest.imp[].native.request, et doit répondre avec BidResponse.seatbid[].bid[].adm_native Réponses aux enchères avec BidResponse.seatbid[].bid[].adm sont filtrées. Les ID d'éléments ne sont pas obligatoires pour OpenRTB Protobuf des réponses aux enchères.

Si vous utilisez un SDK d'acheteur pour afficher les annonces natives, vous devez inclure une image type dans le fichier declared_ad lorsque vous envoyer des créations pour examen.

Modèles d'annonces natives

Google accepte les deux modèles d'annonces natives les plus courants : annonces natives vidéo:

D'autres modèles existent. Ils peuvent être soumis à d'autres exigences les champs, les dimensions et les tailles.

Modèle d'annonce incitant à installer une application

Les tableaux ci-dessous présentent les champs intitulés Obligatoire ou Recommandé. Les règles suivantes s'appliquent :

  • Les champs signalés comme obligatoires sont obligatoires par l'enchérisseur.
  • Les champs signalés comme recommandés ne sont pas requis par l'enchérisseur. l'éditeur peut les afficher ou non si elles sont fournies (par exemple, évaluation).
  • Une incitation à l'action est toujours marquée comme recommandée, car un "default" est attribué si aucune valeur n'est envoyée par l'enchérisseur, mais elle sera toujours affiché s'il est envoyé.

Le tableau suivant répertorie les champs d'un modèle d'annonce incitant à installer une application. Les applications mobiles utilisent ces champs pour créer des annonces natives incitant à installer une application.

Champ Description Obligatoire ou recommandé ? Toujours affiché ? Taille d'image recommandée/nombre maximal de caractères Exemple
Titre Titre de l'application Obligatoire Oui 25 caractères La marée des couleurs
Image Une capture d'écran de l'application ou toute autre image pertinente Obligatoire Non 1 200 x 627 px ou 600 x 600 px selon le format requis par l'éditeur. <Capture d'écran du jeu Flood-It!>
Corps Texte principal de l'application Obligatoire Non 90 caractères D'une simplicité trompeuse, mais aussi d'un défi terrible = addictif !
Icône de l'application L'icône de l'appli Obligatoire Non 128 x 128 px <Flood-it! icône de l'application >
Incitation à l'action Action utilisateur préférée Recommandé Oui 15 caractères Installer
Note Nombre d'étoiles (0 à 5) représentant Note de l'application sur la plate-forme de téléchargement d'applications Recommandé Non 0 – 5 4.5
Prix Le coût de l'application Recommandé Non 15 caractères Gratuit

Remarques sur la longueur du texte

Si un acheteur envoie un composant texte (corps du texte, par exemple) d'une longueur supérieure à nombre maximal de caractères suggéré, le texte risque d'être tronqué et par Google ou par l'éditeur. Notez que la troncation sont deux fois moins visibles en chinois, coréen et japonais. Par exemple, La limite pour les titres est de 90 pour l'anglais et de 45 pour le chinois.

Remarques sur la taille de l'image

Les éditeurs sont autorisés à:

  • Recadrez l'image principale de façon symétrique jusqu'à 20% dans une seule dimension (hauteur ou (largeur).
  • Redimensionne l'image sans modifier son format.
  • Images dont les formats sont sensiblement différents de ceux implicites en fonction de la hauteur et de la largeur.

Modèle d'annonce de contenu

Le tableau suivant répertorie les champs d'un modèle d'annonce de contenu. Éditeurs utilisez ces champs pour créer des annonces de contenu natives.

Champ Description Obligatoire ou recommandé ? Toujours affiché ? Taille d'image recommandée/nombre maximal de caractères * Exemple
Titre L'en-tête de l'annonce Obligatoire Oui 25 caractères Taux de prêt les plus bas
Image L'image principale de l'annonce Obligatoire Non 1 200 x 627 px ou 600 x 600 px selon le format requis par l'éditeur. <Image principale de l'annonce>
Corps Le contenu de l'annonce Obligatoire Non 90 caractères Votre maison de Brooklyn, moins chère et plus tôt que vous ne le pensez !
Logo Logo de l'annonceur ou autre petite image pertinente Recommandé Non 128 x 128 px <Logo de NY Mortgage Inc.>
Incitation à l'action Action préférée de l'utilisateur Recommandé Non 15 caractères Demander un devis
Annonceur Texte permettant d'identifier l'annonceur ou la marque Obligatoire Non 25 caractères NY Mortgage Inc.

Modèle d'annonce vidéo incitant à installer une application

Champ Description Obligatoire ou recommandé ? Toujours affiché ? Taille d'image recommandée/Nombre maximal de caractères* Exemple
Vidéo Réponse vidéo VAST contenant tous les éléments nécessaires à la lecture d'une annonce vidéo. Obligatoire Non - URL d'un fichier XML VAST contenant un fichier Flood-It! Annonce vidéo
Titre Titre de l'application Obligatoire Oui 25 caractères La marée des couleurs
Image Image (vignette) affichée dans le lecteur avant que l'utilisateur clique sur l'annonce vidéo ou pendant son chargement. Obligatoire Non Elle doit correspondre au format de la vidéo (par exemple, 1 280 x 720 pour une vidéo en 16 x 9, 4 x 3 pour une vidéo en 640 x 480). Capture d'écran du jeu Flood-It! ou à partir de la vidéo
Corps Texte principal de l'application Obligatoire Non 90 caractères D'une simplicité trompeuse, mais aussi d'un défi terrible = addictif !
Icône de l'application L'icône de l'appli Obligatoire Non 128 x 128 px Flood-it! icône d'application
Incitation à l'action Action utilisateur préférée Obligatoire Oui 15 caractères Installer
Note Nombre d'étoiles (0 à 5) représentant la note de l'application sur la plate-forme de téléchargement d'applications Recommandé Non 0 – 5 4.5
Prix Le coût de l'application Recommandé Non 15 caractères Gratuit

Restrictions

  • Vidéo: toutes les vidéos doivent se présenter sous la forme d'une URL VAST. ou un tag VAST. Vous ne pouvez pas spécifier de fichier vidéo brut (WebM, MP4, etc.).

  • Longueur du texte: si un acheteur spécifie un composant texte tel que le body dans la réponse, elle peut être tronquée entre Google ou l'éditeur. Notez que les limites de troncation sont la moitié de la taille chinois, japonais et coréen. Par exemple, la limite pour les titres est de 90 en anglais. et 45 pour le chinois.

  • Taille de l'image: les éditeurs sont autorisés à:

    • Recadrez l'image principale de manière symétrique jusqu'à 20% en une seule dimension (hauteur ou la largeur.
    • Redimensionne l'image sans modifier son format.

Exemple d'annonce incitant à installer une application

vidéo native

Modèle d'annonce vidéo de contenu

Champ Description Obligatoire ou recommandé ? Toujours affiché ? Taille d'image recommandée/Nombre maximal de caractères* Exemple
Vidéo Réponse vidéo VAST contenant tous les éléments nécessaires à la lecture d'une annonce vidéo. Obligatoire Oui - URL d'un fichier XML VAST contenant un fichier Flood-It! Annonce vidéo
Titre L'en-tête de l'annonce Obligatoire Oui 25 caractères Taux de prêt les plus bas
Image Image (vignette) affichée dans le lecteur avant que l'utilisateur clique sur l'annonce vidéo ou pendant son chargement. Obligatoire Non Elle doit correspondre au format de la vidéo (par exemple: 1 280 x 720 pour une vidéo en 16 x 9, 4 x 3 pour une vidéo en 640 x 480). Une capture d'écran de la vidéo
Corps Le contenu de l'annonce Obligatoire Non 90 caractères Votre maison de Brooklyn, moins chère et plus tôt que vous ne le pensez !
Logo Logo de l'annonceur ou autre petite image pertinente Recommandé Non 128 x 128 px Logo de NY Mortgage Inc.
Incitation à l'action Action préférée de l'utilisateur Obligatoire Non 15 caractères Demander un devis
Annonceur Texte permettant d'identifier l'annonceur ou la marque Obligatoire Non 25 caractères NY Mortgage Inc.

Méta-champs

Les champs de métadonnées suivants sont partagés par tous les modèles d'annonces compatibles:

Autorisé Tampon de protocole en temps réel pour les acheteurs Autorisé Équivalent OpenRTB pour les acheteurs Description
NativeAd.click_link_url Link.url URL qui est appelée par le navigateur lorsque l'utilisateur clique sur l'annonce. Il peut s'agir de la première étape d'une chaîne de redirection qui conduit au final page de destination. Pour les annonces natives, nous vous recommandons d'utiliser le champ click_link_url afin de définir la destination vers laquelle l'utilisateur ira finalement. Il est obligatoire d'utiliser ce champ dans le cas de pages de destination dynamiques.
Ad.click_through_url Bid.adomain

Doit être défini si l'enchérisseur a l'intention de définir une enchère. Il s'agit de l'ensemble des destinations Les URL de l'extrait, y compris celles auxquelles l'utilisateur sera redirigé s'il clique sur l'annonce affichée, et sur toutes les URL visibles dans la annonce. N'incluez pas d'appels intermédiaires au serveur publicitaire sans lien avec la page de destination finale. Une réponse à l'enchère qui renvoie un extrait ou une annonce vidéo mais déclare qu'aucun click_through_url ne sera supprimé. Défini uniquement ce champ si html_snippet, video_url ou native_ad sont définis. Ces données sont utilisées comme URL de destination , par exemple pour le post-filtrage des URL bloquées par l'éditeur ou des la classification. Reportez-vous à la NativeAd.click_link_url ci-dessus lorsque vous utilisez des annonces natives.

Pour les annonces non natives, il n'est pas utilisé pour le suivi des clics ni pour aucune autre la fonctionnalité ; elle n'est utilisée que comme déclaration d'URL de destination.

Pour les annonces natives, si NativeAd.click_link_url n'est pas défini, la première valeur de click_through_url est utilisée pour diriger l'utilisateur vers la page de destination. De plus, toutes les valeurs sont utilisées comme URL de destination. (semblable au cas non natif).

NativeAd.click_tracking_urls Link.clicktrackers Facultatif. URL supplémentaires qui permettent aux annonceurs d'effectuer le suivi des clics des utilisateurs sur l'annonce.
Ad.ad_choices_destination_url BidExt.ad_choices_destination_url Lien vers une page de préférences ou de désactivation pour les annonces. Le cas échéant, une L'icône Choisir sa pub est ajoutée à la création native et associée à cette URL. Ce est compatible avec les annonces natives, mais ne fait pas partie du message natif du réponse à l'enchère.
Ad.impression_tracking_url NativeResponse.imptrackers Le suivi de l'impression native doit être effectué impression_tracking_url dans les enchères en temps réel Authorized Buyers proto ou des imptrackers natifs dans OpenRTB.

required_fields et recommended_fields sont spécifiés par l'éditeur. Nous vous montrons comment convertir ces champs de bits pour déterminer si un champ est requis ou recommandé.

Un champ de bits utilise chaque bit d'une valeur binaire pour stocker une valeur "true" ou "false" qui équivaut à l'envoi de nombreux signaux booléens tels que is_logo_required, is_header_required, etc., mais tous sont regroupés.

Exemple

Pour cet exemple, nous allons utiliser une valeur required_fields de 1085

Tout d'abord, trouvez la valeur binaire équivalente: 10000111101

Une fois que vous avez la valeur binaire, vous pouvez vérifier les bits pour voir si un champ est obligatoire (1) ou non obligatoire (0).

Le tableau ci-dessous mappe les champs à leur position dans la valeur binaire. Consultez les binaire de droite à gauche, le bit de 1 bit correspondant à la position la plus à droite dans la valeur binaire.

Champ Emplacement de la valeur binaire (de droite à gauche)
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

Si l'on considère l'exemple de valeur binaire 10000111101, la valeur (le plus à droite) est 1, ce qui signifie qu'il s'agit d'une valeur obligatoire. Selon le table, la valeur de 1 bit correspond à HEADLINE.

La valeur de 2 bits (deuxième valeur en partant de la droite) correspond à 0. pas obligatoire. La valeur de 2 bits correspond à BODY.

Voici tous les champs obligatoires interprétés comme dans notre exemple:

Valeur Description Obligatoire ?
1 VIDEO Oui
0 STORE Non
0 PRICE Non
0 STAR_RATING Non
0 APP_ICON Non
1 LOGO Oui
1 IMAGE Oui
1 ADVERTISER Oui
1 CALL_TO_ACTION Oui
0 BODY Non
1 HEADLINE Oui

Message NativeAdTemplate

Lorsque vous recevez une demande d'enchère contenant un inventaire natif, BidRequest.adSlot[].native_ad_template est renseigné. Le message NativeAdTemplate fournit des spécifications pour:

  • Champs obligatoires ou recommandés.
  • Dimensions des images, des logos et des icônes d'application.
  • Spécifications relatives au style d'affichage de l'annonce.
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;

  // ...
}

Message NativeAd

Lorsqu'ils définissent des enchères sur un inventaire natif, un acheteur doit renseigner BidResponse.ad[].native_ad avec des champs obligatoires déclarés dans le BidRequest.adSlot[].native_ad_template correspondant.

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

Exemples de demandes d'enchères

Demandes d'enchères pour des contenus non vidéo

Google

JSON OpenRTB

Protobuf OpenRTB

Demandes d'enchères pour les annonces vidéo

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

Exemples de réponses aux enchères

Notez que les valeurs de cette réponse ne sont pas destinées à correspondre au les requêtes correspondantes ci-dessus. Toutefois, si le modèle de la requête suggère des attributs obligatoires/facultatifs , les réponses fournies ici respectent ces exigences.

Réponses aux enchères pour des contenus non vidéo

Google

JSON OpenRTB

Protobuf OpenRTB

Réponses aux enchères vidéo

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