web-dev-qa-db-fra.com

Uncaught ReferenceError: ga n'est pas défini avec ga ('require', 'ec')

Mon site effectue le suivi des pages vues à l'aide de Google Tag Manager , et charge le plug-in de commerce électronique amélioré dans certaines pages à l'aide de ga('require', 'ec'), mais il y a une erreur:

Uncaught ReferenceError: ga n'est pas défini

Extrait de code:

ga('require', 'ec');
function onProductClick(product, url, key) {
    ga('ec:addProduct', {
        'id': "'" + product.product_id + "'",                        
        'name': product.model_name,                                  
        'category': product.series_name + '/' + product.dealer_name, 
        'brand': product.brand_name,                                 
        'variant': product.model_name,                               
        'position': key                                              
    });

Qu'est ce qui ne va pas avec ça?

11
Lina Zhai

GA se charge après l'exécution de ce script.

GTM est asynchrone, donc les balises qui y sont incluses ne sont pas garanties de s'exécuter avant l'exécution des scripts en ligne.

Vous pouvez ajouter ce script en tant que balise HTML dans GTM et définir la balise Universal Analytics comme exigence, ou ajouter un script supplémentaire à la tête de votre page.

<script>
  window['GoogleAnalyticsObject'] = 'ga';
  window['ga'] = window['ga'] || function() {
    (window['ga'].q = window['ga'].q || []).Push(arguments)
  };
</script>

(Source)

24
Chris Combs