213 人が現在オンライン
213 人が現在オンライン
Google アナリティクスの Google タグマネージャを含む計測の設定やトラブルシュートなどについて、ユーザー同士で意見交換ができます。解析を通して浮かんだ質問やアイディアを投げかけ合ってより知識を高めていきましょう。
ガイドを表示
star_border
返信

GTMによるEコマースタグの実装について

中級者 ✭ ✭ ✭

GTMを利用してGAでEコマース(標準Eにコマース)を計測しようとしています。

 

現状

購入完了ページには

<script>
window.dataLayer = window.dataLayer || []
dataLayer.push({
   'transactionId': '1234',
   'transactionAffiliation': 'Acme Clothing',
   'transactionTotal': 38.26,
   'transactionTax': 1.29,
   'transactionShipping': 5,
   'transactionProducts': [{
       'sku': 'DD44',
       'name': 'T シャツ',
       'category': 'アパレル',
       'price': 11.99,
       'quantity': 1
   },{
       'sku': 'AA1243544',
       'name': '靴下',
       'category': 'アパレル',
       'price': 9.99,
       'quantity': 2
   }]
});
</script>

を<head>のGTMスニペットの前に設置しており、

 

GTM内の設定ではEコマースタグとして

◆タグの設定

 ・タグタイプ:ユニバーサルアナリティクス

 ・トラッキングタイプ:トランザクション

 ・Googleアナリティクス設定:UA‐XXXXXX

  └変数で計測したいトラッキングIDで設定済み

◆トリガー

 ・トリガーの種類:DOMReady 

 ・このトリガーの発生場所:一部のDOMReady イベント

  └PageURL 含む 購入完了ページのURL

 

にしておりますが

上記の設定ではアナリティクスのEコマース部分に上手く数値が反映されません。

こちら何か要因ございますでしょうか?

 

どうぞ宜しくお願い致します。

1 件の受理された解決策

受理された解決策
ベストアンサーのマーク済み.
解決策
トピック作成者shinさんが付与
3月

Re: GTMによるEコマースタグの実装について

レジェンド
一部の時間帯だけでテストされているのか、どのようにテストされているのかはわかりませんが
タグ設定、dataLayer ともに、あらかた正しい設定となっているため、
あとはテストしながらエラーやソースコード確認、プレビューでの発火タグや変数チェックで
トライアンドエラーするしかありません。

・修正済みのGTMを公開しているか
・ソースコードの dataLayer にすべてのデータが確りと書き出されているか
・プレビューでGAタグが発火しているか
・プレビューでdataLayer がGTMに認識されているか、また内容は意図した内容となっているか
などをご確認ください。

設定・実装の基本は、プレビューチェック、テスト・コードチェックです。

商品情報がGAにデータ表示されていれば、
dataLayer の一部の情報はGAに送られているため
考えられるのは、売上データのソースコード書き出しミスが起こっているのが原因と思います。

あと、質問される際、可能な限りGAやGTMの状況がわかるキャプチャ画像を付けられることをおすすめします。
テキストよりも画像の方が情報が伝わりやすいことが多いですよ。

Tatsuma Ishibashi
※問題が解決できた際は、参考になった回答の「✓解決策マークを付ける」をクリックいただけると幸いです。

元の投稿で解決策を見る

Re: GTMによるEコマースタグの実装について

レジェンド
拡張eコマースで実装してみては?
拡張eコマースを完了ページへのみ実装は可能ですので。
レポートに表示される数値にも変わりありませんし。

eコマースのを拡張eコマースに切り替える対応は、
簡単にですが以下のとおりです。

●完了ページに設置してあるdataLayerコードを
 拡張eコマース仕様のコードに変更。
 参照:
 https://developers.google.com/tag-manager/enhanced-ecommerce#purchases
 ※ actionField の中の id は、トランザクションID(≒注文番号)
 ※ products の中の id は、商品ID
 ※他のプロパティの意味は、日本語訳したとおりになりますが、
  わからなければ、以下ご参照ください。
  拡張 e コマース  |  ウェブ向けアナリティクス(analytics.js)  |  Google Developers :
  https://developers.google.com/analytics/devguides/collection/analyticsjs/enhanced-ecommerce 

●GTM内のGAタグを
 ユニバーサルアナリティクスタグ
 トラッキング タイプ:ページビュー
 詳細設定 > eコマース を
 拡張 e コマース機能を有効にする:真またはTrue
 データレイヤーを使用する:チェックオン

以上です。
ご参考になりましたら幸いです。

Tatsuma Ishibashi
※問題が解決できた際は、参考になった回答の「✓解決策マークを付ける」をクリックいただけると幸いです。

Re: GTMによるEコマースタグの実装について

中級者 ✭ ✭ ✭

tatsuma1484さん
ご回答頂きありがとうございます。

ご指摘とおり拡張Eコマースで再度チャレンジしたいと考えております。
ご教授頂いた内容と一部重複しますが、
GTM内のGAタグは現状の

GTM内の設定ではEコマースタグとして

◆タグの設定
 ・タグタイプ:ユニバーサルアナリティクス
 ・トラッキングタイプ:トランザクション
 ・Googleアナリティクス設定:UA‐XXXXXX
  └変数で計測したいトラッキングIDで設定済み

ユニバーサルアナリティクスタグ
 トラッキング タイプ:ページビュー
 詳細設定 > eコマース を
 拡張 e コマース機能を有効にする:真またはTrue
 データレイヤーを使用する:チェックオン

こちらに変更するという形でよろしいでしょうか?
またその際のトリガーは
・トリガーの種類:DOMReady
・このトリガーの発生場所:一部のDOMReady イベント
  └PageURL 含む 購入完了ページのURL
という認識でよろしいでしょうか?

※データレイヤーコードは<head>のタグマネージャーより上部に記載しております。

以上となります。
どうぞよろしくお願いします。

Re: GTMによるEコマースタグの実装について

中級者 ✭ ✭ ✭

tatsuma1484さん

質問が五月雨となり恐縮ですが

拡張Eコマースの設定をしてみました。

ファイルをアップロードしましたしたので

こちらで正か見て頂くことは可能でしょうか?

 

※変数部分はトラッキングIDを入れ込んでおります。

 

ご確認の程よろしくお願いたします。

Re: GTMによるEコマースタグの実装について

レジェンド
ご確認、ご返信ありがとうございます。

全て、ご認識の通りで問題ございません。

トリガーは、DOMReady でなくても、ページビューでも問題ありません。
dataLayer がGTMタグの上にあり、GTMタグも<head>内にあるということですので。
DOMReady の方が確実ではありますが。

ご参考になりましたら幸いです。

Tatsuma Ishibashi
※問題が解決できた際は、参考になった回答の「✓解決策マークを付ける」をクリックいただけると幸いです。

Re: GTMによるEコマースタグの実装について

レジェンド
1点、修正したほうがいい点がありました。

トラッキング ID は、「設定変数の値を使う」のままにしておいて問題ありません。
このような状態です。

https://i.gyazo.com/12c26edbc9bb6db1ab10fc52961e5470.png
Tatsuma Ishibashi
※問題が解決できた際は、参考になった回答の「✓解決策マークを付ける」をクリックいただけると幸いです。

Re: GTMによるEコマースタグの実装について

[ 編集済み ]
中級者 ✭ ✭ ✭

tatsuma1484さん

詳細にご教授頂きありがとうございます。
1点厄介な問題が発生しまして
<head>内ではactionField、'productsの変数部分が上手く反映されないECカートということが判明しました。。
例)'name': '×××',
└私の方では×××を変数部分と解釈しております。

現状のカートの仕様では
・head部分
<!-- Google Tag Manager -->
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-XXXX');</script>
<!-- End Google Tag Manager -->

・<body>部分
<!-- Google Tag Manager (noscript) -->
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-XXXX"
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<!-- End Google Tag Manager (noscript) -->

//以下データレイヤーPUSH部分
<script>
window.dataLayer = window.dataLayer || [];
dataLayer.push({
'ecommerce': {
'purchase': {
'actionField': {
'id': '',
'affiliation': '',
'revenue': '',
},
'products': [{
'name': '',
'id': '',
'price': '',
'brand': '',
'category': '',
'quantity': ,
  }]
}
}
});
</script>

の記載順になってしまいます。。
①データレイヤー部分は必ずしも<head>部分でないといけないのか?
②もし上記の並び順であれば、トリガーを工夫することで上手く反映させることができるのか?

③もしくは他の方が行っている様にカスタムHTMLを利用することになるのか?

 └カスタムHTMLを利用する場合利用方法を詳細にご教授頂けると非常に助かります。。

上記ご回答頂ければ幸いです。
どうぞよろしくお願いします。

Re: GTMによるEコマースタグの実装について

レジェンド
>①データレイヤー部分は必ずしも<head>部分でないといけないのか?
いいえ。
推奨なだけで、必ず<head>内に入れる必要はありません。


>②もし上記の並び順であれば、トリガーを工夫することで上手く反映させることができるのか?
可能です。
トリガーを DOMReady にすればいいですよ。


ちなみに、なんという名前のカートでしょうか?
Tatsuma Ishibashi
※問題が解決できた際は、参考になった回答の「✓解決策マークを付ける」をクリックいただけると幸いです。

Re: GTMによるEコマースタグの実装について

中級者 ✭ ✭ ✭

tatsuma1484さん
ご連絡頂きありがとうございます。
>②もし上記の並び順であれば、トリガーを工夫することで上手く反映させることができるのか?
>可能です。
>トリガーを DOMReady にすればいいですよ。

⇒ありがとうございます!
 では
 ユニバーサルアナリティクスタグ
 トラッキング タイプ:ページビュー
 詳細設定 > eコマース を
 拡張 e コマース機能を有効にする:真またはTrue
 データレイヤーを使用する:チェックオン

またその際のトリガーは
・トリガーの種類:DOMReady
・このトリガーの発生場所:一部のDOMReady イベント
  └PageURL 含む 購入完了ページのURL

で一度作成させて頂きます。

カートはECBeingとなります。
https://www.ecbeing.net/

Re: GTMによるEコマースタグの実装について

レジェンド
カートをご教示いただきありがとうございます。
ecbeing でしたか…
あまりGA、GTMには優しくなく、親和性がないですよね。
工夫次第なのでしょうが。。
Tatsuma Ishibashi
※問題が解決できた際は、参考になった回答の「✓解決策マークを付ける」をクリックいただけると幸いです。

Re: GTMによるEコマースタグの実装について

中級者 ✭ ✭ ✭

tatsuma1484さん
ご返信頂きありがとうございます。

本日拡張Eコマース設定で再度設定したのですが
アナリティクスの
コンバージョン⇒Eコマース⇒概要の数値が一部反映されておりませんでした。。
一部というのはカート側ではトランザクションが4件反映されているのに対して、
アナリティクスではトランザクションが1件分のみ反映されている状況です。

 

コンバージョン⇒目標⇒概要ではしっかり4件目標完了が反映されているのですが。。
※目標は購入完了ページで設定

 

タグは
<head>箇所
<!-- Google Tag Manager -->
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-XXXX');</script>
<!-- End Google Tag Manager -->

・<body>箇所
<!-- Google Tag Manager (noscript) -->
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-XXXX"
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<!-- End Google Tag Manager (noscript) -->

//以下データレイヤーPUSH部分
<script>
window.dataLayer = window.dataLayer || [];
dataLayer.push({
'ecommerce': {
'purchase': {
'actionField': {
'id': '',
'affiliation': '',
'revenue': '',
},
'products': [{
'name': '',
'id': '',
'price': '',
'brand': '',
'category': '',
'quantity': ,
  }]
}
}
});
</script>
を記載しております。
※変数部分はEcbeing指定の書式を代入

 

GTMは

・GAタグ

・Eコマースタグ

・Eコマースタグに紐づくDOMReady 時点のトリガー

・トラッキングIDに紐づく変数

を設定しております。

※全て画像にて添付させて頂いたおります。

 

自分自身でひとつ思い当たる節としましては

変数の詳細設定で

拡張Eコマースを機能を有効にする

をONにしていなかったのでここが影響しているのかとは思っています。

 

※それでも一部取得できて一部取得できていない、明確な説明にはなりませんが。。

 

以上となります。

お力添え頂ければ非常に助かります!!

 

ご確認のほどよろしくお願いします。

 

 

Re: GTMによるEコマースタグの実装について

中級者 ✭ ✭ ✭

tatsuma1484さん

 

質問が五月雨となり申し訳ありません。

今回は不要かと思われますが

https://webtan.impress.co.jp/e/2015/03/18/18983

上記URLの通り変数を現行の設定に追加する必要はあるのでしょうか?

私の理解と知識が不足しており、恐縮ですが何卒ご確認のほどよろしくお願いします。

Re: GTMによるEコマースタグの実装について

レジェンド
頂いた情報の限りですと、完了ページで二重にGAタグ発火する状況になっているからでしょう。

以下の通りの変更することで、正常に計測できるはずですよ。

・Eコマースタグを一時停止(タグ編集画面の右上の縦に3つ点がならんだところをクリックしてでてきたメニューからできます)
・Googleアナリティクス設定変数の 詳細設定 > eコマース > 拡張eコマースを有効にする をオン
・同上 データレイヤーを使用するをオン

2つ目に頂いていた質問ですが、不要です。

以上、参考になりましたら幸いです。

Tatsuma Ishibashi
※問題が解決できた際は、参考になった回答の「✓解決策マークを付ける」をクリックいただけると幸いです。

Re: GTMによるEコマースタグの実装について

[ 編集済み ]
中級者 ✭ ✭ ✭

tatsuma1484さん
ご返信頂きありがとうございます。

・Eコマースタグを一時停止(タグ編集画面の右上の縦に3つ点がならんだところをクリックしてでてきたメニューからできます)
・Googleアナリティクス設定変数の 詳細設定 > eコマース > 拡張eコマースを有効にする をオン
・同上 データレイヤーを使用するをオン

⇒こちらで設定させて頂きましたが、Eコマースタグは一時停止したままでよろしいでしょうか?
 変数設定後は一時停止解除する形となりますでしょうか?

 

◆現状
タグ記載箇所
・変更無し

 

GTM設定
・GAタグ
 └拡張Eコマース設定無し

 

・Eコマースタグ(一時停止中)
 └拡張Eコマース設定あり

 

・Eコマースタグに紐づくDOMReady 時点のトリガー

 

・Googleアナリティクス設定変数
 └Eコマースタグに付随

を設定しております。


また、勉強不足で恐縮ですが完了ページで二重にGAタグ発火する状況の意味が理解しきれてないです。。
タグはGA、Eコマースタグに分けておりますが、そちらは不要という意味でしょうか?
あわせてご教授いただけると幸いです。

長文となり恐縮ですがご確認のほどよろしくお願いします。

Re: GTMによるEコマースタグの実装について

レジェンド
名前が「Eコマースタグ」のタグは、不要なので一時停止で問題ありません。

名前が「GA」のタグは、GA設定変数を利用して有効に。

Googleアナリティクス設定変数は、
詳細設定 > eコマース > 拡張eコマースを有効にする をオン
同上 データレイヤーを使用するをオン
でOKです。

>また、勉強不足で恐縮ですが完了ページで二重にGAタグ発火する状況の意味が理解しきれてないです。。
配信トリガーの詳細がわからないのでなんともいえませんが、頂いた情報の限りですと以下のようになります。

タグ:GA → 完了ページを含む全ページでタグ発火
タグ:Eコマースタグ → 完了ページ(DOMReady)でタグ発火

上記のように、GAもEコマースタグも完了ページでタグ発火します。
なので、GA と Eコマースタグ この2つが1回ずつタグ発火(=GAにデータ送信)し、
二重発火(1回のページ表示で、GAに2回データ送信される)となります。


>タグはGA、Eコマースタグに分けておりますが、そちらは不要という意味でしょうか?
不要です。
タグ:GA のみで問題ありません。

ご参考になりましたら幸いです。

Tatsuma Ishibashi
※問題が解決できた際は、参考になった回答の「✓解決策マークを付ける」をクリックいただけると幸いです。