fr | en | es | de

Rich media

Nouveau !
Découvrez les nouvelles applications de l'
Analytics Suite grâce à notre nouvelle aide en ligne.

Sommaire : Masquer

Grâce à la fonctionnalité Rich media, vous disposez d’une mesure précise et détaillée de tous les types de contenus (audio, vidéo, podcast...), mais également d’informations complémentaires sur lieux de diffusion des contenus (internes ou externes à votre site), les modes de diffusion (Clip ou Live) ainsi que sur les actions précises effectuées par les internautes (play, stop, pause, backward, forward, partage, envoi par email, mise en favoris...).

Ce document de marquage décrit une marche à suivre générale en fonction de la technologie utilisée pour l’implémentation de la mesure Rich media :

Les informations et exemples fournis sont donc valables pour la mesure de tous les types de contenus mesurés (audio, vidéo, etc.).

Toutes les informations décrites dans ce document sont conditionnées par le téléchargement préalable (et par vos soins) du fichier xtcore.js version 3.4.002 ou ultérieure. Ce dernier est disponible dans votre interface depuis :

Principes généraux

Quel que soit votre type de lecteur (JavaScript ou Flash), AT Internet vous propose de mesurer les types de contenus suivants :

Important

Un contenu ne peut pas appartenir à 2 types différents. Le fait de renseigner le même libellé lors du marquage (ou le même identifiant) ne permet pas de les regrouper.

Personnalisation du marquage

En fonction du type de contenu mesuré, vous avez la possibilité de nommer tous les éléments, puis de les classer (avec pour séparateur "::") sur 3 niveaux de thèmes maximum.

AT Internet vous propose de mesurer un grand nombre d’éléments Rich media en vous proposant des valeurs prédéfinies, mais vous permet également d’intégrer des informations personnalisées au moment du marquage.

Important

Retrouvez toutes les valeurs prédéfinies des variables dans les annexes de ce document.

Tag de rafraîchissement

Pour garantir la parfaite intégrité de la mesure, AT Internet a prévu un envoi (à fréquence régulière) de hits indépendants de rafraîchissement (Refresh) afin de s’assurer que le media est toujours lu par l’internaute.

Vous obtenez ainsi des durées de lecture plus précises qu’avec une simple mesure basée sur la différence de temps entre l’action "Stop" et l’action "Play".

Publicités post-roll

Les publicités post-roll sont des publicités présentées en fin de diffusion d’un contenu précis Rich media. La mesure de ce type de contenu doit passer par la méthode xt_rm() décrite plus bas.

Le cas des podcasts

La méthode d’implémentation du marqueur Podcast est sensiblement différente des autres types de contenus.

La procédure de marquage est évoquée en détail dans ce document.

Implémentation JavaScript

La méthode de mesure des éléments Rich media consiste à appeler une fonction JavaScript (xt_rm()) au moment du clic de l’internaute sur un élément du player (diffusant le contenu du média).

Marquer les contenus vidéo et audio

La page Web qui contient le lecteur Rich media doit contenir un code du marqueur avec le fichier xtcore.js.

Ce fichier xtcore.js contient la fonction xt_rm() qui doit être appelée sur chaque action réalisée sur le lecteur (action JavaScript).

Important

Vous devez donc faire appel à la fonction xt_rm() pour mesurer tous les événements sur les types de contenus audio et vidéo.

Appel en JavaScript via la fonction xt_rm()

La fonction xt_rm(), commune à tous les types de contenus, permet de passer plusieurs variables. Ces dernières ont une signification différente en fonction du type de contenu mesuré.

La fonction xt_rm() doit prendre la forme suivante (ordre à respecter) :

Onclick=xt_rm(A,B,C,D,E,F,G,H,I,J,K,L,M,N)

 

Liste des variables à renseigner

Variables

Description

A

Obligatoire - Type de contenu ("video", "audio" ou "vpost" pour la mesure des vidéos post-roll). Le type de contenu doit être concaténé à la variable "&plyr=" contenant l’identifiant du lecteur en cours d’utilisation (voir exemple plus bas). Cette variable "&plyr=", non obligatoire, doit être ajoutée dans le cas de l’utilisation de plusieurs lecteurs, afin d’assurer le distinguo entre les hits.

B

Site de niveau 2 dans lequel est rangé le contenu.

C

Obligatoire - Libellé du contenu (utilisez les "::" si besoin) ou d'une publicité post-roll (dans ce cas, ne pas utiliser les "::"). Le libellé d'une publicité post-roll doit être concaténé à la variable "&clnk=". Celle-ci doit reprendre le libellé du contenu de la vidéo à laquelle la publicité est liée (voir exemple plus bas).

D

Obligatoire - Action (identifiant prédéfini). Retrouvez la liste des identifiants dans les annexes de ce document.

E

Valeur de l’action personnalisée (si la variable D="perso"). Vous pouvez ajouter jusqu’à 5 actions personnalisées. disponible prochainement

F

Durée de rafraichissement (optionnel en seconde mais nécessaire pour calculer les durées détaillées). La durée de rafraîchissement est blindée. Il est impossible de saisir une durée inférieure à 5 secondes.

G

Obligatoire (sauf si D est différent de "play" ou si L est égal à "Live") : durée totale du contenu en seconde (laisser vide si L= "Live").Elle doit être inférieure à 86400.

H

Informations de position de lecture ("rmp", "rmpf" et "rmpbufp") en seconde. Vous devez renseigner ces 3 variables à concaténer comme suit : "rmp=0&rmpf=0&rmbufp=0" (0 est la valeur par défaut).

- rmp (rich media position) : position de la tête de lecture. Cette valeur doit être mise à jour pour chaque action (variable D).

- rmpf (rich Media position from) : position de départ de la tête de lecture lors d’un déplacement sur la barre de lecture. Cette valeur doit être mise à jour pour chaque action (si variable D est égale à "move").

- rmbufp (rich media buffer cache position) : position de la barre d'avancement du cache dans le contenu. Cette valeur doit être mise à jour pour chaque action (variable D).

J

Identifiant de flux .

K

Localisation ("int" ou "ext").

L

Diffusion ("live" ou "clip"). Si L est vide, le mode de diffusion pris en compte est "clip".

M

Taille du contenu (entier en Ko, laisser vide si L="live"))

N

Format du contenu (identifiant prédéfini par nos soins. Voir annexes)

Note

Toutes les caractéristiques doivent être transmises à chaque appel.

Important

Retrouvez toutes les valeurs prédéfinies des variables dans les annexes.

Exemple 1 :

Ci-dessous l’exemple de la fonction xt_rm qualifiant une action "play" sur un lecteur vidéo se mettant à buffériser.

xt_rm('video&plyr=1','3', 'mychapter::mycontent', ' play&buf=1','','0','3600','rmp=0&rmpf=0&rmbufp=0','','1','int','clip','300','1')

 

Exemple 2 :

Ci-dessous l’exemple de la fonction xt_rm qualifiant une action "move" sur un lecteur vidéo.

xt_rm('video&plyr=1','3','mychapter::mycontent','move','','0','3600','rmp=15&rmpf=10&rmbufp=15','','1','int','clip','300','1');

- la position de la tête de lecture avant déplacement (rmpf) : ‘10’

- la position de la tête de lecture après déplacement (rmp) : ‘15’

 

Exemple 3 :

Ci-dessous l'exemple de la lecture d’une vidéo suivie d'une publicité post-roll. Précisons que le marquage de la vidéo précédant la publicité n'est pas obligatoire.

 

- Action "play" sur la vidéo "videos::video1" (lancement de la vidéo) :

xt_rm('video&plyr=1','1','videos::video1','play','','5','15','rmp=0&rmpf=0&rmbufp=0','','1','int','clip','300','1');

 

- Action "refresh" sur la vidéo (2 hits sont générés de façon automatique).

 

- Action "stop" sur la vidéo "videos::video1" (fin de lecture) :

xt_rm('video&plyr=1','1','videos::video1','stop','','5','15','rmp=15&rmpf=0&rmbufp=15','','1','int','clip','300','1');

 

- Action "play" sur vidéo post-roll "post1" (lecture de la publicité suivant la vidéo) :

xt_rm('vpost&plyr=1','1','post1&clnk=video1','play','','5','10','rmp=0&rmpf=0&rmbufp=0','','1','int','clip','200','1');

Marquer les podcasts

Pour l’analyse de la performance des podcasts d’un site, nous proposons plusieurs types de mesure :

 

Mesure du flux XML

La mesure du flux XML est permise par une redirection du flux vers l’un de nos serveurs afin que nous puissions mesurer chacun des chargements du flux.

Afin d’installer cette redirection, vous devez procéder de la façon suivante :

http://logxxxx.xxxx/get/feed?xts=xxxx&type=Podcast&feed=feed_name&url=http://www.mysite.com/feed2.xml

 

Dans cette URL, les modifications suivantes doivent être apportées :

Note

Cette méthode permet de mesurer les flux XML déjà enregistrés par les internautes dans leur lecteur de flux (iTunes ou autres). Pour toute nouvelle inscription, il est recommandé de proposer aux internautes le même fichier XML avec en paramètre la date de l’inscription : la redirection vers logxxxx.xxxx/…. ne se fait alors que si la date de diffusion est supérieure à celle de l’inscription (pas de mesure le 1er jour).

* Date de la mesure (variable "xtdate") :

Pour éviter que les lecteurs de flux podcast enregistrent directement l'URL redirigée, vous devez vous baser sur la date d'inscription au flux. Si la date récupérée est la date du jour, la redirection ne se fait pas, si la date est différente de la date du jour, la redirection s'effectue.

 

Si votre site propose un flux Podcast sur l'URL suivante :

http://www.mysite.com/feed.xml

 

Vous devez suivre les étapes suivantes :

1. A tous les appels à ce flux, ajoutez la date du jour dans une variable "xtdate".

Par exemple en ASP :

http://www.mysite.com/feed.xml?xtdate=<% = date %>

Cette date sera récupérée comme la date d'inscription au flux.

 

2. Copiez le contenu de ce fichier flux.xml dans un autre fichier (par exemple feed2.xml) qui servira au point 3.

 

3. Remplacez le contenu du fichier flux.xml par une redirection dynamique (côté serveur) vers nos serveurs :

http://logxxxx.xxxx/get/feed?xts=xxxx&type=podcast&feed=feed_name&xtinsc={value_xtdate}&url=http://www.mysite.com/feed2.xml

feed_name est à remplacer par votre propre libellé de flux.

Important

Vous devez réaliser cette opération UNIQUEMENT si la variable xtdate n'est pas la date du jour.

Par exemple, en ASP, vous auriez :

<% xtdate = request.querystring("xtdate")
if date = xtdate then %>
<!-- #include file="feed2.xml" -->
<% else
response.redirect "http://logxxxx.xxxx/get/feed?xts=xxxx&type=podcast&feed=feed_name
&xtinsc=" & xtdate & "&url=http://www.mysite.com/feed2.xml"
end if
%>

 

Au final :

 

Mesure des articles podcast

Les articles podcast peuvent être des fichiers audio, vidéo ou autres, que le flux XML propose en téléchargement.

Là aussi, il est nécessaire de passer par une redirection, en procédant de la façon suivante :

<enclosure url="http://mysite.com/video.mov" length="34524" type="video/quicktime" />

<enclosure url="http://logxxxx.xxxx/get/my_video.mov?xts=xxxx&amp;type=Podcast&amp;feed=feed_name&amp;pod=video_name&amp;url=http://www.mysite.com/video.mov" length="34524" type="video/quicktime" />

Note

Pour des raisons de compatibilité avec iTunes, il est impératif d’ajouter  "amp ;" derrière le caractère "&".

Dans cette URL, les modifications suivantes doivent être apportées :

Important

L'URL placée derrière dans la variable url= doit commencer par ‘http://’ et doit être placée à la fin.
La variable "pod" doit être utilisée uniquement pour les articles téléchargés (sans cette variable, une actualisation du flux est mesurée et non un téléchargement d’élément).

Note

Les analyses seront disponibles dans Rich media > Podcasts.

Implémentation ActionScript

Nous décrivons ici la méthode d’implémentation Rich media dans un lecteur de type Flash AS3.

Important

Pour l'implémentation Rich media, nous mettons à votre disposition un dossier "XiTiFlash". Ce dossier est disponible UNIQUEMENT SUR DEMANDE à formuler depuis le Centre Support dans l’interface. Il contient :
- Des fichiers sources AS3 : ils ne doivent pas être modifiés et doivent être placés dans le même dossier que votre film flash source.
- Un fichier "xititag.xml" qui doit contenir toutes les informations reliant les flags aux variables.

L’implémentation du marqueur Rich media nécessite plusieurs étapes :

1. Placer les bons fichiers contenus dans le dossier "XiTiFlash" dans votre espace de travail Flash.

2. Modifier votre film Flash pour insérer des flags qui caractérisent les endroits que vous souhaitez mesurer tout au long de votre film.

3. Implémenter un fichier XML (exemple proposé dans le dossier "XiTiFlash") qui reprend tous les flags créés pour leur attacher des variables.

Etape 1 : insertion des appels dans les fichiers AS existants

En fonction de vos besoins de mesure, vous devez insérer la ligne :

XiTiTag.loadXml("Flag_Name");

 

Dans cette ligne de code "Flag_Name" est un libellé qui relie l’événement Flash à mesurer au code contenu dans le fichier xititag.xml.

XiTiTag est une fonction créée dans un des fichiers ".as" du dossier "XiTiFlash".

Nous vous recommandons de donner des noms suffisamment explicites aux flags, tout en sachant que vous devez configurer leurs propriétés à mesurer dans le fichier "xititag.xml" (voir étape 2).

Important

Si le film Flash fait appel ("XiTiTag.loadXml()") à un flag non déclaré dans le fichier XML, la mesure ne se fait pas.

Exemple :

impl_RM_ex.jpg

 

L’image ci-dessus présente un code ".as" existant dans lequel ont été ajoutés 2 appels XiTiTag.loadXml() avec un nom de flag "Play_video1" et "stop_video1".

L’objectif de ces appels est de générer une mesure Rich media avec une action "play" et "stop". Ces actions sont renseignées dans le fichier xititag.xml, via la fonction xt_rm().

 

Variables dynamiques

Pour des raisons pratiques, si vous souhaitez passer les valeurs de certaines variables (à passer dans la fonction xt_rm() du fichier xititag.xml) directement dans le code source du fichier .as, vous devez regrouper ces variables (concaténées avec des séparateurs "&") dans une chaine à passer comme seconde variable de XiTiTag.loadXml().

 

Exemple :

//Start play

private function doPlay (e:MouseEvent) :void

{

  var nameflv:String="&richname=theme::myvideo1";

  flv=video1.flv";

  if (nextP){

     flv="video2.flv";

     nameflv="&richname=thme::myvideo2";

   }

   XiTiTag.loadXml ("Play", nameflv) ;

   vidtest.stopPlay (ns) ;

   vid.clear () ;

   vidTest.startPlay (ns, flv) ;

   vid.attachNetStream (ns) ;

}

 

Cet exemple montre comment une variable dynamique ("nameflv") est construite pour changer un nom de contenu ("myvideo1" ou "myvideo2") selon un certain contexte.

 

L’appel suivant :

XiTiTag.loadXml("Play",nameflv);

Permet ainsi de se reposer sur les caractéristiques du flag "Play" (passées dans xt_rm() de xititag.xml) tout en modifiant le libellé du contenu.

Toutes les variables passées en seconde variable de cet appel sont prioritaires sur les informations renseignées dans le fichier XML (étape 2).

 

Structure des variables

Pour contrôler dynamiquement chaque variable de xt_rm(), il suffit donc de les renseigner dans les noms suivants :

Variables

Description

type 

Obligatoire - Type de contenu ("audio", "video", ou "vpost" pour la mesure des publicités post-roll).

plyr

Identifiant de lecteur.

clnk

Libellé du contenu lié à une publicité post-roll (type vpost).

xtn2 

Site de niveau 2 dans lequel ranger le contenu.

richname

Obligatoire - Libellé du contenu (avec utilisation de "::" si besoin pour établir une arborescence thématique).

action 

Obligatoire - Identifiant texte caractérisant une action parmi les actions prédéfinies (voir annexes).

refresh 

Durée de rafraîchissement (optionnel, en seconde). Pour les contenus de longue durée, cette variable permet de générer des hits intermédiaires automatiques (entre le hit de "play" et celui de "stop") apportant ainsi une mesure plus fine de la durée.

duration

Durée totale du contenu en seconde (laisser vide si mode="live"). Cette variable est obligatoire si action="play" et mode="clip".

buf

Buffering en cours (buf=1).

rmp

Position de la tête de lecture.

rmpf

Position d'origine lors d’un déplacement sur la barre de lecture.

stream 

Identifiant de flux

location 

Localisation du contenu ("int" pour interne au site ou "ext" pour externe).

mode 

Diffusion ("live" pour les contenus diffusés en continu et sans durée, ou "clip" pour les contenus à durée finie). Si mode est vide, le mode de diffusion pris en compte est "clip".

size 

Taille/poids du contenu (entier en Ko, laisser vide si mode="live").

extension 

Format du contenu (identifiant prédéfini. Voir annexes).

 

Pour contrôler dynamiquement les variables de pages et de niveau 2 contenant le media, vous devez les renseigner dans les noms suivants :

xtprich : libellé de la page avec contenu media.

xts2rich : niveau 2 de la page avec contenu media.

Etape 2 : implémentation du fichier "xititag.xml"

Ce fichier contient :

Note

Les variables définies dans la balise <tags> sont les valeurs globales par défaut à attribuer à toutes les balises <tag> : cela évite d’avoir à répéter dans chaque balise le sous-domaine et l’identifiant du site. Ces variables peuvent être redéfinies de façon dynamique.

Exemple :

Ci-dessous un exemple de fichier "xititag.xml" donné dans le dossier "XiTiFlash" :

<?xml  version="1.0" encoding="iso-8859-1"?>

<xiti>

<tags xtsd="http://log"  xtsite="32"  xtn2="17">

 

<! -- video launch -->

<tag  key="Play_video1"  xtprich="page_with_video" xts2rich="3"  xtrm="video,4,video1,play,0,2,3000,4,1,1,int,clip,1000,8"  />

<tag  key="Stop_video1"  xtprich="page_with_video" xts2rich="3"  xtrm="video,4,video1,stop" />

 

</tags>

 

<! -- General parameters defintion -->

<settings>

<url>.xiti.com/hit.xiti</url>

</settings>

</xiti>

Exemple d’implémentation

Avec le tag XML suivant :

<tag key="Play_video1" xt_rm="video&plyr=1,4,chap::myvideo,play,0,6,10,rmp=0&rmpf=0&rmbufp=0 ,1,1,int,clip,1000,8" xtprich="video_page" xts2rich="3" />

 

Tout appel :

XiTiTag.loadXml("Play_video1");

envoie un hit contenant les informations suivantes :

Par contre, l’appel suivant :

XiTiTag.loadXml("Play_video1", "&richname=theme::myvideo&duration=20&rmp=10");

 

envoie un hit avec exactement les mêmes informations, à l’exception :

 

 

Ces informations vous ont-elles été utiles ?

 

 button_satisfy_yes.png    button_satisfy_no.png

ico_up.gif