私のサイトは、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
});
どうしたの?
このスクリプトの実行後にGAがロードされます。
GTMは非同期であるため、GTMに含まれるタグは、インラインスクリプトが実行される前に実行されることが保証されていません。
このスクリプトをGTMのHTMLタグとして追加し、その要件としてユニバーサルアナリティクスタグを設定するか、ページの頭に スクリプトを追加 することができます。
<script>
window['GoogleAnalyticsObject'] = 'ga';
window['ga'] = window['ga'] || function() {
(window['ga'].q = window['ga'].q || []).Push(arguments)
};
</script>