web-dev-qa-db-ja.com

キャッチされていないReferenceError:gaがga( 'require'、 'ec')で定義されていません

私のサイトは、Googleタグマネージャーを使用してページビューを追跡し、ga('require', 'ec')を使用して一部のページで拡張eコマースプラグインを読み込みますが、エラーがあります。

キャッチされないReferenceError:gaが定義されていません

コードスニペット:

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                                              
    });

どうしたの?

11
Lina Zhai

このスクリプトの実行後にGAがロードされます。

GTMは非同期であるため、GTMに含まれるタグは、インラインスクリプトが実行される前に実行されることが保証されていません。

このスクリプトをGTMのHTMLタグとして追加し、その要件としてユニバーサルアナリティクスタグを設定するか、ページの頭に スクリプトを追加 することができます。

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

(ソース)

24
Chris Combs