2017-03-10 6 views
3

サイトでGoogleタグマネージャを使用してページビューをトラッキングし、ga('require', 'ec')を使用して一部のページで拡張eコマースプラグインを読み込みますが、未知のReferenceError:gaがga( 'require'、 'ec')で定義されていません

Uncaught ReferenceError: ga is not defined

コードスニペット:それと間違って何

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

+0

(これが機能し、誤った設定をヒットするために必要であろう多分あなたはトラッカー名を変更することを意図し、)高度な設定でグローバル関数名を変更偶然あなたをしましたか? –

+0

@EikePierstorffグローバル関数名は変更しませんでしたが、私のサイトはhttpsで、httpsはgtmの負荷に影響を及ぼしますか? –

+0

いいえ、httpsはGTMに影響しません。 Analyticsタグが読み込まれる前にコードが実行されている可能性があります。 GTMを使用してeコマーストラッキングを作成した場合(つまり、データレイヤーに値をプッシュしてから、GTMアナリティクスタグを使用して情報を送信する方がよい場合) –

答えて

10

このスクリプトの実行後にGAが読み込まれています。

GTMは非同期なので、インラインスクリプトを実行する前に、そのタグが動作することは保証されません。

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

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

(Source)

関連する問題