Principe de fonctionnement

 

Set

Après initialisation du Tracker, le marquage se fait par le biais de « setter » (tag.<functionality>.set()) décrits dans les différentes pages de cette documentation.

Exemple pour un marquage de page

var tag = new ATInternet.Tracker.Tag();
tag.page.set({
    name:'pageName'
});

Une fois le marquage souhaité réalisé, l’envoi des informations se fait par la méthode dispatch().

tag.dispatch();

Cet exemple cumulé au précédent enverra un hit de page « pageName ».

 

Dispatch

Cette méthode est prévue pour être utilisée lors du chargement de la page ou de l’élément mesuré. Elle permet de déclencher l’envoi des marquages cumulés par le biais de « setter », et optimise le nombre de hits à envoyer en fonction des « setter » détectés.

Exemple

var tag = new ATInternet.Tracker.Tag();

tag.<functionality1>.set(...);
tag.<functionality2>.add(...);
tag.<functionality3>.set(...);

tag.dispatch();

Dans le cas d’une mesure utilisant des « setter » sur un élément déclenchant une redirection il faut utiliser la méthode dispatchRedirect()

 

Dispatch redirect

Cette méthode est équivalente à la méthode dispatch() mais ajoute une gestion automatique de redirection.

Elle prend un objet en paramètre dont les propriétés sont les suivantes :

PropriétéDescription
elemElement du DOM marqué
event(optionnel) Evénement JavaScript (bloque la propagation de l’événement passé en paramètre)
callback(optionnel) Fonction à exécuter

Il est fortement conseillé de limiter ce type de marquage aux cas ne pouvant faire autrement car celui-ci réduira systématiquement la vitesse de la redirection concernée (basé sur la configuration du Timeout de la gestion automatique de clic).
Si la mesure concerne une seule fonctionnalité, vérifier si elle possède une méthode send() et suivre la documentation de marquage correspondante. Ce choix est préférable car cette méthode ne se base pas uniquement sur le Timeout de la gestion automatique de clic mais sur le téléchargement du pixel de mesure qui sera dans la grande majorité des cas bien inférieur à la durée de timeout configurée (500ms par défaut).

Exemple utilisant l’élément cliqué

<a href="http://www.site.com" onclick="return customFunction(this);">Link</a>
<script type="text/javascript">
window.tag = new ATInternet.Tracker.Tag();
function callback() {console.log('executed');}
function customFunction(clickedElement){
	tag.<functionality1>.set(...);
	tag.<functionality2>.add(...);
	tag.<functionality3>.set(...);
	
	return tag.dispatchRedirect({
		elem : clickedElement,
		callback: callback
	});
}
</script>

Exemple utilisant des données de redirection fournies manuellement

<a href="javascript:void(0);" onclick="return customFunction();">Link</a>
<script type="text/javascript">
window.tag = new ATInternet.Tracker.Tag();

function customFunction(){
	tag.<functionality1>.set(...);
	tag.<functionality2>.add(...);
	tag.<functionality3>.set(...);
	
	return tag.dispatchRedirect({
		elem : {
			href : 'http://www.site.com', 
			target : '_self'
		}
	});
}
</script>

Exemple sur un formulaire

<form action="http://www.site.com" type="GET" onsubmit="return customFunction(this);">
...
</form>
<script type="text/javascript">
window.tag = new ATInternet.Tracker.Tag();

function customFunction(clickedForm){
	tag.<functionality1>.set(...);
	tag.<functionality2>.add(...);
	tag.<functionality3>.set(...);
	
	return tag.dispatchRedirect({
		elem : clickedForm
	});
}
</script>

Exemple utilisant JQuery

<a href="http://www.site.com" id="link">Link</a>
<script type="text/javascript">
window.tag = new ATInternet.Tracker.Tag();

$("#link").on( "click", function(event) {
	
	tag.<functionality1>.set(...);
	tag.<functionality2>.add(...);
	tag.<functionality3>.set(...);
	
	tag.dispatchRedirect({
		elem: this,
		event: event
	});
  
});
</script>
 

Send

Il est possible d’envoyer des hits de façon ponctuelle et directe par l’intermédiaire de la méthode tag.<functionality>.send(). Cette méthode est utile notamment pour envoyer des hits sur des actions ou événements spécifiques (ex : clic sur un lien).

var tag = new ATInternet.Tracker.Tag();
tag.page.send({name:'pageName'});
Dernière mise à jour : 23/07/2018