0

Nous poussons d'abord un objet contenant des variables à la couche de données:Comment mettre à jour une variable dataLayer?

dataLayer.push({ 
    'environment': { 
     'userName': 'abc', 
     'id': 123, 
     'clicks': 0 
    } 
}); 

Nous voulons maintenant augmenter la valeur de environment.clicks à chaque clic d'un utilisateur fait. Comment faire cela? Quand nous le poussons via

dataLayer.push({ 
    'environment': { 
     'clicks': 123 
    } 
}); 

Le dataLayer Array peut obtenir 10.000s d'entrées. Comment mettre à jour correctement la variable?

+0

Il est intéressant que ceci soit marqué "google-datalayer" mais pas "google tag manager". Est-ce intentionnel? Sans GTM, le datalayer est simplement un tableau javascript, la magie spéciale est ajoutée par GTM avec de nouvelles méthodes ou modifications sur les méthodes JS existantes respectivement. Si vous utilisez GTM, il peut être préférable d'ajouter la balise appropriée. –

Répondre

1

La manière de mettre à jour une variable datalayer consiste à pousser une variable, soit lorsqu'un événement GTM "natif" se produit, soit à côté d'un événement personnalisé. Donc, fondamentalement, vous avez raison. En ce qui concerne vos soucis que le DL peut arriver à beaucoup d'entrées - le dataLayer obtient une nouvelle entrée sur chaque clic dans tous les cas (GTM l'ajoute lui-même), donc les entrées supplémentaires pour votre variable n'auront probablement pas autant d'importance .

Si vous voulez toujours éviter cela, vous pouvez mettre à jour une variable Javascript globale et l'utiliser dans GTM. Google Tag Manager a accès à toutes les variables de votre page (vous obtiendrez toujours tous les événements de clic dans votre DataLayer). La méthode dataLayer a également une méthode set qui vous permet d'écrire directement dans Datalayer, ce que vous recherchez apparemment. Vous devez acquérir votre instance GTM, puis vous pouvez définir des valeurs:

var gtm = window.google_tag_manager[{{Container ID}}]; 
    gtm.dataLayer.set('balloonsPopped', undefined); 

Les détails sont par ex. ici dans un Lunametrics article. Vous pouvez l'utiliser dans une balise HTML personnalisée pour mettre à jour le nombre de clics avant que l'événement click déclenche votre balise.

De même, dataLayer est réinitialisé au chargement de la page. Il faudrait une application d'une seule page pour collecter 10 000 clics par page vue.

Ceci est étiqueté Google Analytics. Si vous envisagez de suivre les clics dans GA rappelez-vous qu'une session GA expire après 500 clics, donc les résultats ne seront peut-être pas ce que vous attendez (aussi la version gratuite n'a que 10M par mois, le suivi des clics l'épuisera rapidement). Et si vous souhaitez suivre le nombre de clics dans Google Analytics alors vous avez besoin d'un événement ou d'un élément pour suivre le clic. Le nombre d'événements est donc la statistique que vous recherchez ou vous pouvez créer une statistique personnalisée et la définir sur "1" dans votre appel GA (ce qui signifie qu'il sera incrémenté de un à chaque appel).