Presque tout ce que vous devez mesurer avec analytics.js peut utiliser la file d'attente de commandes ga()
. Ce guide explique en quoi consiste la file d'attente de commandes, comment elle fonctionne et comment exécuter des commandes pour mesurer les interactions des utilisateurs.
File d'attente de commandes ga
La balise Google Analytics définit une fonction ga
globale appelée "file d'attente de commandes". C'est ce qu'on appelle la file d'attente de commandes. Au lieu d'exécuter les commandes qu'elle reçoit immédiatement, elle les ajoute à une file d'attente qui retarde l'exécution jusqu'à ce que la bibliothèque analytics.js soit complètement chargée.
En JavaScript, les fonctions sont également des objets, ce qui signifie qu'elles peuvent contenir des propriétés. La balise Google Analytics définit une propriété q
sur l'objet fonction ga
sous la forme d'un tableau vide. Avant le chargement de la bibliothèque analytics.js, l'appel de la fonction ga()
ajoute la liste des arguments transmis à la fonction ga()
à la fin du tableau q
.
Par exemple, si vous exécutez la balise Google Analytics, puis consignez immédiatement le contenu de ga.q
dans la console, vous verrez un tableau de deux éléments contenant les deux ensembles d'arguments déjà transmis à la fonction ga()
:
console.log(ga.q);
// Outputs the following:
// [
// ['create', 'UA-XXXXX-Y', 'auto'],
// ['send', 'pageview']
// ]
Une fois la bibliothèque analytics.js chargée, elle inspecte le contenu du tableau ga.q
et exécute chaque commande dans l'ordre. Ensuite, la fonction ga()
est redéfinie, de sorte que tous les appels suivants s'exécutent immédiatement.
Ce modèle permet aux développeurs d'utiliser la file d'attente de commandes ga()
sans avoir à vérifier si le chargement de la bibliothèque analytics.js est terminé. Il fournit une interface simple et synchrone qui élimine la plupart des complexités du code asynchrone.
Ajouter des commandes à la file d'attente
Tous les appels vers la file d'attente de commandes ga()
partagent une signature commune. Le premier paramètre, "command", est une chaîne qui identifie une méthode analytics.js particulière. Les paramètres supplémentaires sont les arguments transmis à cette méthode.
La méthode à laquelle une commande fait référence peut être globale (comme create
), une méthode sur l'objet ga
ou une méthode d'instance sur un objet de suivi, comme send
. Si la file d'attente de commandes ga()
ne reçoit pas une commande qu'elle ne reconnaît pas, elle l'ignore simplement, ce qui rend les appels de la fonction ga()
très sûrs, car ils ne généreront presque jamais d'erreur.
Pour obtenir la liste complète de toutes les commandes pouvant être exécutées via la file d'attente de commandes, consultez la documentation de référence sur la file d'attente de commandes ga()
.
Paramètres de commande
La plupart des commandes analytics.js (et les méthodes correspondantes) acceptent des paramètres dans différents formats. Cette méthode pratique permet de transmettre plus facilement des champs couramment utilisés à certaines méthodes.
Prenons l'exemple des deux commandes de la balise Google Analytics:
ga('create', 'UA-XXXXX-Y', 'auto');
ga('send', 'pageview');
Dans la première commande, create
accepte les champs trackingId
, cookieDomain
et name
à spécifier éventuellement en tant que deuxième, troisième et quatrième paramètres. La commande send
accepte un second paramètre facultatif hitType
.
Toutes les commandes acceptent un paramètre fieldsObject
final qui permet également de spécifier des champs. Par exemple, les deux commandes ci-dessus du tag peuvent être réécrites comme suit:
ga('create', {
trackingId: 'UA-XXXXX-Y',
cookieDomain: 'auto'
});
ga('send', {
hitType: 'pageview'
});
Consultez la documentation de référence sur la file d'attente de commandes ga()
pour obtenir la liste complète des paramètres facultatifs autorisés pour chacune des commandes.
Étapes suivantes
Après avoir lu ce guide, vous devriez savoir comment exécuter des commandes avec analytics.js et comment fonctionne la file d'attente de commandes. Le guide suivant vous explique comment créer des objets de suivi.