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?
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>