Annonces vidéo

Ce guide décrit les exigences d'intégration, la configuration et les champs pertinents que vous pouvez utiliser lorsque vous enchérissez sur l'inventaire vidéo.

Google accepte les annonces vidéo InStream, natives et interstitielles représentées sous forme d'opportunités d'annonces individuelles ou de blocs d'annonces vidéo dynamiques. Les séries d'annonces dynamiques décrivent un groupe d'annonces vidéo diffusées de façon séquentielle, où une durée maximale pour la série est divisée en une ou plusieurs vidéos de durée variable. Pour en savoir plus sur ces formats, consultez les guides sur les formats d'annonces natives et interstitielles.

Conditions requises pour les acheteurs

Protocole RTB

Ce guide fait généralement référence au format Protobuf, mais les noms et les chemins de champ sont équivalents entre ce format et le format JSON, sauf indication contraire.

Vous trouverez le fichier proto OpenRTB et les extensions OpenRTB spécifiques à Google sur la page Fichiers proto et données de référence. Pour en savoir plus sur le développement d'un enchérisseur, consultez Traiter la requête et Créer la réponse.

Examen des créations

Google vous recommande d'envoyer vos créations pour approbation avant de les utiliser dans vos enchères. Vous pouvez utiliser la ressource "Creatives" de l'API Real-time Bidding pour lancer le processus d'examen.

Configuration du préciblage

Pour recevoir de l'inventaire vidéo, votre compte Authorized Buyers doit créer une configuration de préciblage incluant l'inventaire vidéo.

Macros

Vous pouvez spécifier des macros dans le lien de l'URL vidéo ou dans le code XML VAST spécifié dans BidResponse.seatbid.bid.adm. De plus, si vous spécifiez une URL vidéo, vous pouvez également placer des macros dans le document XML VAST associé. Les macros suivantes sont acceptées pour les créations vidéo :

  • %%CACHEBUSTER%%
  • %%WINNING_PRICE%%
  • %%SITE%%

Les macros de clic telles que CLICK_URL_ESC ne sont pas acceptées, car Authorized Buyers inclut ses trackers de clics dans un wrapper VAST. Pour en savoir plus sur les macros acceptées, consultez Spécifier des macros.

Détails de l'accroche

Vous pouvez utiliser le champ BidRequest.imp.video d'OpenRTB pour identifier si une demande d'enchère entrante concerne un inventaire vidéo InStream ou interstitiel, et trouver des informations supplémentaires spécifiques aux vidéos concernant la demande. De plus, pour l'inventaire d'annonces natives, vous pouvez utiliser BidRequest.imp.native.{request/request_native}.assets.video pour obtenir des informations similaires spécifiques aux vidéos.

BidRequest.{app/site}.content.producer.domain

URL de la page décrivant le contenu vidéo, sans les paramètres. L'éditeur envoie cette URL à Google. Exemple :

http://www.publisher.com/watchpagelink
banner.vcm
Si la valeur est définie sur true, l'annonce associée peut être sélectionnée pour être affichée en tant que panneau de fin (fiche info) dans l'emplacement vidéo une fois l'annonce vidéo terminée. Sinon, l'annonce associée n'est pas affichée en tant qu'image de fin.
BidRequest.imp.rwdd
Si la valeur est définie sur true, cela indique que l'utilisateur reçoit une récompense pour avoir regardé l'annonce vidéo. Les récompenses classiques peuvent être la lecture d'un article supplémentaire sans frais, une vie supplémentaire dans un jeu ou une session de musique sponsorisée sans publicité.
BidRequest.imp.video.maxduration

Durée maximale autorisée en secondes pour chaque annonce individuelle incluse dans la réponse à l'enchère. Si elle n'est pas définie, il n'y a pas de durée maximale. Lorsque BidRequest.imp.video.skip est défini sur true, le comportement peut être différent. Pour en savoir plus, consultez Durée maximale des vidéos désactivables.

BidRequest.imp.video.maxseq

Nombre maximal d'annonces pouvant être diffusées dans une série d'annonces vidéo dynamique. Si poddur est défini, mais que maxseq n'est pas défini ou est défini sur 0, vous n'avez aucune restriction sur le nombre d'annonces pouvant être diffusées dans une série d'annonces vidéo. Google n'accepte que les pods dynamiques.

Le nombre réel d'annonces vidéo diffusées peut être inférieur ou égal à cette valeur, mais ne peut pas la dépasser.

BidRequest.imp.video.minduration
Durée minimale en secondes de chaque annonce incluse dans la réponse aux enchères. Si elle n'est pas définie, il n'y a pas de durée minimale.
BidRequest.imp.video.plcmt
Indique l'emplacement de diffusion de la vidéo.
PLCMT_UNKNOWN L'emplacement est inconnu ou indéterminable.
PLCMT_INSTREAM Annonces pré-roll, mid-roll et post-roll diffusées avant, pendant ou après le contenu vidéo en streaming demandé par le consommateur. Les vidéos InStream doivent être définies sur "son activé" par défaut au démarrage du lecteur ou l'intention de l'utilisateur de regarder le contenu vidéo doit être clairement exprimée. Bien qu'il puisse y avoir d'autres contenus autour du lecteur, le contenu vidéo doit être l'objectif principal de la visite de l'utilisateur. Il doit rester le contenu principal de la page et le seul lecteur vidéo visible capable de diffuser du son lors de la lecture. Si le lecteur devient flottant/fixe, les appels d'annonces suivants doivent indiquer précisément la nouvelle taille du lecteur.
PLCMT_ACCOMPANYING_CONTENT Annonces pré-roll, mid-roll et post-roll diffusées avant, pendant ou après un contenu vidéo en streaming. Le lecteur vidéo se charge et lit le contenu avant, entre ou après des paragraphes de texte ou du contenu graphique, et ne commence la lecture que lorsqu'il entre dans la fenêtre d'affichage. La lecture du contenu associé ne doit commencer que lorsque le contenu entre dans la fenêtre d'affichage. Il peut se transformer en lecteur flottant/fixe lorsqu'il disparaît de la page.
PLCMT_INTERSTITIAL Annonces vidéo diffusées sans contenu vidéo Lors de la lecture, il doit être l'objet principal de la page et occuper la majeure partie de la fenêtre d'affichage. Il ne doit pas pouvoir être masqué par défilement. Il peut s'agir d'emplacements tels que des vidéos ou des diaporamas dans les applications.
PLCMT_NO_CONTENT_STANDALONE Annonces vidéo diffusées sans contenu vidéo en streaming. Il peut s'agir d'emplacements tels que des diaporamas, des flux natifs, des emplacements intégrés au contenu ou des emplacements fixes/flottants.
BidRequest.imp.video.playbackmethod
Décrit comment lire l'annonce vidéo. La méthode de lecture est définie sur "Lecture automatique" ou "Click-to-play" en fonction de la meilleure mesure disponible.
AUTO_PLAY_SOUND_ON Le son est activé au chargement de la page.
AUTO_PLAY_SOUND_OFF L'annonce se lance au chargement de la page, sans le son.
CLICK_TO_PLAY L'annonce se lance au clic avec le son activé.
MOUSE_OVER Le son est activé et la lecture démarre lorsque l'utilisateur pointe sur l'annonce.
ENTER_SOUND_ON L'annonce démarre lorsque l'utilisateur entre dans la fenêtre d'affichage, avec le son activé.
ENTER_SOUND_OFF L'annonce se lance lorsque l'utilisateur entre dans la fenêtre d'affichage, avec le son désactivé par défaut.
BidRequest.imp.video.skip
Si la valeur est true, cela indique que le lecteur autorise la désactivation de la vidéo ou des annonces désactivables. Dans le cas contraire, cela indique que les annonces désactivables ne sont pas autorisées.
BidRequest.imp.video.startdelay

Une valeur de 0 signifie "pré-roll", -1 signifie "mid-roll" et -2 signifie "post-roll".

Toute autre valeur positive correspond au temps en secondes écoulé depuis le début de la vidéo jusqu'au moment où l'annonce est affichée.

BidRequest.imp.video.durfloors et BidRequest.imp.audio.durfloors

Tableau d'objets DurFloors indiquant les prix planchers respectifs pour les créations vidéo ou audio de différentes durées avec lesquelles l'acheteur peut enchérir.

Voici un exemple de durfloors spécifié par Google :

  1. {"maxdur": 16, "bidfloor": 5} représentant (0, 16) secondes à $5.
  2. {"mindur": 16, "maxdur": 31, "bidfloor": 10} représentant [16, 31) secondes à $10.
  3. {"mindur": 31, "bidfloor": 20} représentant [31, inf) secondes à $20.

Ces signaux ne sont pas propres aux créations vidéo, mais ils sont particulièrement utiles aux enchérisseurs :

BidRequest.device.ifa
Ce champ est un UUID de 36 caractères qui n'est défini que lorsque vous utilisez SSL et qui n'est pas haché. Il s'agit de la version non chiffrée de BidRequest.device.dpidm5. Pour les appareils iOS, il contient l'identifiant publicitaire (IDFA) en majuscules. Pour les appareils Android, il contient l'identifiant Android (ADID) en minuscules. Pour les appareils TV connectés, il contient leurs identifiants uniques (par exemple, le RIDA de Roku).
BidRequest.device.devicetype
Spécifie le type d'appareil.
MOBILE Alias obsolète pour HIGHEND_PHONE ou TABLET.
PERSONAL_COMPUTER y compris les ordinateurs de bureau et portables)
CONNECTED_TV inclut à la fois les téléviseurs connectés (c'est-à-dire les smart TV) et les appareils connectés (Roku, Apple TV, etc.).
HIGHEND_PHONE Inclut les téléphones haut de gamme.
TABLET Inclut les tablettes.
CONNECTED_DEVICE Inclut les appareils de jeu dédiés.
SET_TOP_BOX Inclut les boîtiers décodeurs.
OOH_DEVICE Inclut les dispositifs publicitaires extérieurs, par exemple les panneaux d'affichage numériques.
BidRequest.device.make
Spécifie la marque de l'appareil (Nokia ou Samsung, par exemple).
BidRequest.device.model
Spécifie le modèle exact de l'appareil (N70 ou Galaxy, par exemple) s'il est disponible. Sinon, il contient un modèle générique tel que "iphone" ou "ipad".
BidRequest.imp.metric
Lorsque Metric.type est défini sur completion_rate, Metric.value sera une fraction comprise entre 0,0 et 1,0 représentant le taux d'achèvement historique des annonces vidéo diffusées dans l'emplacement publicitaire. La valeur par défaut -1.0 indique que les données sur le taux d'achèvement historique ne sont pas disponibles.
BidRequest.imp.video.poddur
Durée, en secondes, que vous pouvez remplir pour une série d'annonces vidéo dynamique. Ce champ fait référence à la durée de l'intégralité de l'emplacement publicitaire. Si elle n'est pas définie, l'emplacement publicitaire ne fait pas partie d'un pod.

La demande d'enchères vidéo contient également des informations sur l'inventaire, comme le secteur, les fournisseurs autorisés et les informations sur la chaîne. Tous les autres champs existants dans la demande d'enchère s'appliquent également aux vidéos.

Les champs "width" (largeur) et "height" (hauteur) du message AdSlot d'une demande vidéo correspondent à la taille du lecteur d'annonces vidéo.

BidRequest.imp.ext.allowed_vendor_type
Les fournisseurs autorisés. Consultez le fichier vendors.txt dans la documentation technique pour obtenir la liste des ID. Par exemple, 309 = DFA Video Unit.
BidRequest.imp.video.mimes
Liste d'autorisation décrivant les types MIME de contenu acceptés pour les annonces diffusées en réponse à la demande d'enchère (par exemple, "video/mp4"). La réponse d'enchère doit indiquer que l'annonce est compatible avec au moins l'un de ces formats.
BidRequest.imp.video.protocols
Décrit les versions VAST acceptées par un éditeur pour les demandes d'annonces vidéo. Contient un tableau de valeurs d'énumération Protocol, y compris : VAST_2_0, VAST_3_0, VAST_2_0_WRAPPER, VAST_3_0_WRAPPER, VAST_4_0, VAST_4_0_WRAPPER, et plus encore.
BidRequest.imp.video.companionad
Ce champ inclut un tableau d'objets Banner représentant les annonces associées, le cas échéant.
BidRequest.site.page

URL de la page de lecture de la vidéo ou de la page dans laquelle la vidéo a été intégrée. Exemple :

http://www.publisher.com/watchpagelink

Lorsqu'il répond à une demande vidéo, l'enchérisseur doit renvoyer une URL de redirection VAST ou un fichier XML VAST dans le champ BidResponse.seatbid.bid.adm. La réponse aux enchères doit également contenir la déclaration appropriée pour l'annonce vidéo. Voici un extrait d'une réponse d'enchère vidéo appropriée :

id: "n40G42d551UX18627ao8lt"
seatbid {
  bid {
    id: "17u6BnD62h88r5q7066"
    impid: "1"
    price: 0.797848
    adm: "https://video.test.com/ads?id=123456&wprice=%%WINNING_PRICE%%"
    adomain: "google.com"
    crid: "test_creative_id_987914"
    w: 320
    h: 480
    cattax: GOOGLE_CATEGORIES
    [com.google.doubleclick.bid] {
      attribute: 47
      attribute: 50
      billing_id: 55383762512
      skadn {
        version: "4.0"
        network: "306el65O"
        itunesitem: "832461214"
        sourceapp: "977150768"
        fidelities {
          fidelity: VIEW_THROUGH_ADS
          nonce: "0054e0b9-0b53-4426-99dd-a1eefeb45565"
          timestamp: "1757329316673"
          signature: "oE3Ek8347oZV1Yl1J42G2c88BSKr2dqEbiOK2S4ni7NVDh3v128NN0hlzWK5aX96ecV1504E9k288i0t0wGX73P317812WE7"
        }
        fidelities {
          fidelity: STOREKIT_RENDERED_ADS
          nonce: "0054e0b9-0b53-4426-99dd-a1eefeb45565"
          timestamp: "1757329316673"
          signature: "b1GqXA4v889p842512GQ1p3249q5VmPt1335f1H1zdK92fq24j7a7ml419W7u8B7rhhH97s507f2251923oWi89XF1voZv4b"
        }
        sourceidentifier: "8396"
      }
      app_promotion_type: INSTALLS
      clickurl: "google.com"
    }
  }
}
[com.google.doubleclick.bid_response] {
  processing_time_ms: 20
}

Voici les champs importants d'une réponse d'enchère vidéo :

BidResponse.seatbid.bid.ext.attribute
Attributs pour les annonces pouvant être diffusées à partir de cet extrait. Consultez le fichier buyer-declarable-creative-attributes.txt pour obtenir la liste des ID. Nous vérifions qu'aucun de ces attributs ne correspond à ceux interdits par l'éditeur dans la demande d'enchère. Par exemple, si vous définissez l'un des champs sur 30, cela indique que l'annonce nécessite la compatibilité VPAID pour s'afficher.
BidResponse.seatbid.bid.adm

Pour les annonces vidéo, il s'agit de l'URL de redirection VAST de l'annonce vidéo. Exemple :

http://ad.doubleclick.net/pfadx/N270.132652.1516607168321/B3442378.3;dcadv=1379578;sz=0x0;ord=79879;dcmt=text/xml

Il peut également s'agir d'un code XML VAST brut.

Exemples de demandes et de réponses d'enchères

Formats vidéo

Comment les acheteurs peuvent-ils inclure une vidéo ?

Les tableaux suivants illustrent les différentes façons dont les acheteurs peuvent inclure des vidéos dans leurs créations et les emplacements dans lesquels elles peuvent être diffusées pour le Web et les applications mobiles, respectivement.

Web

Création vidéo InStream (tous) In-Feed/In-Article Annonces natives In-Feed/In-Article Interstitiel InBanner

VPAID + VAST

 

VAST

 

MRAID + JS

 

 

 

 

 

JS personnalisé

 

Native + VAST

 

Application mobile

Création vidéo InStream (tous) In-Feed/In-Article Annonces natives In-Feed/In-Article Interstitiel InBanner

VPAID + VAST

 

 

 

 

 

VAST

MRAID + JS

JS personnalisé

Native + VAST

Clé : Format/technologie non disponible

Création vidéo acceptée dans cet emplacement, sous réserve des blocages de l'éditeur

Création vidéo non disponible pour cet emplacement

Signaux OpenRTB recommandés

Les tableaux suivants illustrent les signaux OpenRTB recommandés pour tous les formats vidéo pour le Web pour ordinateur et mobile, et les applications mobiles.

Web pour ordinateur et pour mobile

Format vidéo Signaux recommandés (signaux pertinents pour la vidéo uniquement) Signaux associés (signaux pertinents pour les vidéos uniquement)

InStream (VPAID)

Objet VIDEO présent   &
video.placement = INSTREAM   &


InStream (sans VPAID)

Objet VIDEO présent   &
video.placement = INSTREAM    &
video.api = 1 VPAID 1.0 or 2:VPAID 2.0


Non InStream

Objet VIDEO présent

video.linearity: linear
placement depends on actual
placement, values as below
Video.startdelay = 0


In-Feed

Objet VIDEO présent   &
video.placement = IN-FEED


In-Article

Objet VIDEO présent   &
video.placement = IN-ARTICLE


Natif

Objet NATIVE présent et


InBanner

Objet vidéo absent &
banner.battr ≠ 6 Vidéo InBanner (lecture automatique) &
banner.battr ≠ 7 Vidéo InBanner (déclenchée par l'utilisateur)


Appli mobile

Format vidéo Détails de la demande d'enchères (uniquement les détails concernant la vidéo)

InStream

Objet VIDEO présent   &
video.placement = INSTREAM    &

video.api = 1 VPAID 1.0 ou 2 VPAID 2.0

Non InStream

Objet VIDEO présent

video.linearity: linear
placement depends on actual
placement, values as below
Video.startdelay = 0


In-Feed

Objet VIDEO présent   &
video.placement = IN-FEED


In-Article

Objet VIDEO présent   &
video.placement = IN-ARTICLE


Natif

Objet NATIVE présent et


Interstitiel (VAST)

Objet VIDEO présent   &
video.placement = INTERSTITIAL


Interstitiel (sans VAST)

Objet VIDEO présent   &
video.placement = INTERSTITIAL

Filtrage

InBanner (MRAID)

Objet vidéo absent &
banner.battr ≠ 6 Vidéo InBanner (lecture automatique) &
banner.battr ≠ 7 Vidéo InBanner (déclenchée par l'utilisateur)


InBanner

(sans MRAID)

Objet vidéo absent &
banner.battr ≠ 6 Vidéo InBanner (lecture automatique) &
banner.battr ≠ 7 Vidéo InBanner (déclenchée par l'utilisateur)


Autoriser ou refuser les vidéos pour les éditeurs

Le tableau suivant illustre les différentes manières dont les éditeurs peuvent autoriser ou interdire les vidéos dans leurs emplacements.

Option de publication Formats applicables Description dans la demande d'enchère

Spécifier une unité vidéo InStream

InStream (tous)

Objet vidéo présent &
video.placement = INSTREAM

Activer VPAID

Instream Web

Objet vidéo présent et
video.api = 1 (VPAID 1.0) ou 2 (VPAID 2.0)

Activer la validation basée sur l'identité

InBanner

Interstitiel

banner.battr ≠ 6 Vidéo InBanner (lecture automatique) et/ou 7 Vidéo InBanner (déclenchée par l'utilisateur)

Activer (instructions)

In-Feed

In-Article

Objet vidéo présent &
video.placement = IN-FEED ou IN-ARTICLE

Activer les annonces non InStream (instructions)

Natif

Objet natif présent

Bloquer les vidéos interstitielles

Interstitiel pour une application

Objet VIDEO absent

Cas extrêmes

# Description du cas Commentaires Demande d'enchère

1

Fermeture personnalisée différée à l'aide de MRAID

Pour les interstitiels, la fermeture de l'annonce peut envoyer une notification à l'acheteur à l'aide de MRAID, même s'il n'a pas utilisé de bouton de fermeture personnalisé.


La croix X appliquée par Authorized Buyers apparaît toujours au-dessus de toute croix de fermeture personnalisée, même si celle-ci apparaît en dessous après cinq secondes.


Glossaire

Consultez le glossaire vidéo Authorized Buyers.

Champs pertinents pour les formats InStream et non InStream

Consultez OpenRTB 2.5 (à partir de la page 47).

BidRequest.Video.
Placement
InStream mWeb

1 : InStream
2 : InBanner

mApp

1 : InStream
2 : InBanner

Non InStream mApp Interstitial

5 : interstitiel

Native

3 : In-Article
4 : In-Feed

Rewarded

rwdd : bool

linearity

Indique si l'impression doit être linéaire, non linéaire, etc. Si aucune n'est spécifiée, supposez que toutes sont autorisées.

InStream mWeb

1 : LINEAR (InStream)

mApp

1 : LINEAR (InStream)

Non InStream mApp Interstitial

2 : INTERSTITIAL

Native

3 : IN_FEED
5 : IN_ARTICLE

videoad_start_delay
InStream mWeb

>0: start delay in seconds
 0: PRE_ROLL
-1: GENERIC_MID_ROLL
-2: GENERIC_POST_ROLL

mApp

>0: start delay in seconds
 0: PRE_ROLL
-1: GENERIC_MID_ROLL
-2: GENERIC_POST_ROLL

Non InStream Rewarded

>0: start delay in seconds
 0: PRE_ROLL
-1: GENERIC_MID_ROLL
-2: GENERIC_POST_ROLL

Source de la valeur de la demande d'enchère

Objet OpenRTB 
Champs Authorized Buyers
/Exchange
Bidding
Non-instream
Exemples de valeurs Qui le détermine ?
/D'où provient cette valeur ?
Objet
Vidéo mimes oui ["application/javascript",
"video/mp4"]",
Google
minduration non Configuré par l'éditeur
maxduration oui Configuré par l'éditeur
playbackmet
hod
oui [6] Généralement, l'éditeur
Configuré
api (MRAID) oui [1,2] Google
protocols oui [2,3,5,6,7,8] Google
linéarité oui [1] Google
placement oui [1] Google
largeur du lecteur oui 400,400,300 Google
hauteur du lecteur oui 225 300 153 Google
délai de démarrage oui 0 Google, 5 s par défaut
passer oui 1 Éditeur/Google
- pour les interstitiels => Google
- pour les InStream => Éditeur
décide d'autoriser
les annonces désactivables, non désactivables ou les deux.
Annonces avec récompense, toujours non désactivables ;
Débit minimal Non Google
débit maximal non Google
pos oui 1 Google
Appareil
Ratio px oui 1 Google
impression
Sécurisé oui 1 Google
par défaut sur "true"
car le tag d'annonce est toujours
sécurisé