質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Google Analytics

Google AnalyticsはGoogleが開発した無料のウェブ分析のソリューションです。複数のクライアント側のAPIとデータをエクスポートし管理するREST APIも格納されています。

Q&A

解決済

2回答

4875閲覧

拡張eコマースの、各種関数の使い方について

takushi168

総合スコア228

Google Analytics

Google AnalyticsはGoogleが開発した無料のウェブ分析のソリューションです。複数のクライアント側のAPIとデータをエクスポートし管理するREST APIも格納されています。

0グッド

0クリップ

投稿2016/01/15 05:33

編集2016/01/27 04:44

初めて質問させていただきます。失礼がありましたらすみません。
長くなりますが、よろしくお願いいたします。

通販サイトで、拡張eコマースの導入を考えています。
が、依頼主も開発する我々も知識が薄く、困っています。
細かい疑問はたくさんありますが、大きく分けて2点の質問をさせてください。

// <追記>
// 今回は見送って通常のeコマースを導入することになりました。
// そのため急ぎではありませんが、今後の参考のため、ご教授いただけると大変ありがたいです。

GoogleDevelopersの下記ページを中心に、ある程度は調べてみたつもりなのですが…
https://developers.google.com/analytics/devguides/collection/analyticsjs/enhanced-ecommerce?hl=ja

質問① 以下のような理解で合っているでしょうか?

・ga('send', 'pageview');
このページが参照されましたよ、的な情報をgoogleへ送信する
また、以下のadd○○などで作成したデータがある場合は一緒に送信する

・ga('ec:addImpression', ... );
商品が初めて見られるタイミングで、これを用いてデータ作成。
sendするまではgoogleへ送信されない

・ga('ec:addProduct', ... );
商品の情報を表示・カートへの追加削除・決済手続きなど、
商品に関わるデータを作成(ただしaddImpressionとは併用しない?)
sendするまではgoogleへ送信されない

・ga('ec:setAction', ... );
addImpressionやaddProductの処理内容を設定
add, remove, checkout などが指定可能
sendするまではgoogleへ送信されない?

他にもいくつかありましたが、今回使いそうなのは以上でした。
商品とは関係なくページの参照情報を取りたければsend(pageview)、
商品一覧ページではaddImpression+send(pageview)、
商品詳細ページではaddProduct+setAction(detail)+send(pageview)、
カート操作はaddProduct+setAction(add/remove)+send(pageview)、
決済ではaddProduct+setAction(checkout等)+send(pageview)…
…という感じでよいのでしょうか。
特に、googleへの送信を伴う処理と伴わない処理の見分けがついているのかどうか、自信がないです。

質問② コードの記載方法で困っています。

もし①の理解で正しいのであれば…という前提ですが。

サイトはテンプレートを用いて動的に生成しているのですが(PHP+Smarty)
テンプレートは、全ページに共通なヘッダ部分と、ページごとに異なるメイン部分に分けています。(ヘッダ部分はメイン部分からincludeされる)
可能であれば、ヘッダに以下<コード1>を、メインに<コード2>などのページごとに異なる処理を入れたいと思っています。

<コード1:全ページに設置>
<script> (function(i,s,o,g,r,a,m){}) ... ; ga('create', 'UA-********-*', 'auto'); ga('require', 'ec', 'ec.js'); ga('send', 'pageview'); </script>
<コード2:商品を扱うページに設置(例:商品一覧的なページ)>
<script> ga('ec:addImpression', { ... }); ga('send', 'pageview'); </script>
こうしてしまうと、恐らく「このページを参照しましたよ情報」が2回送信されてしまうのではないかと思います。
addImpressionなどで生成したデータのみを送信する方法があれば助かるのですが、そういう方法はありますか?
(pageviewではなくeventを送信するというのもあるようですが、使い道が違うように感じます)

以上、よろしくお願いいたします。
上記質問に限らず、概念が理解しやすいサイトなどありましたら教えていただけると助かります。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

今更ではありますが、自分のブログ(SEM Technology)にこのページから流入していたようなので、気になってコメントします。

質問① 以下のような理解で合っているでしょうか?

はい、合っています。Googleへの送信は全て、「ga('send')」コマンドによって行われます。ただ、カート操作など一部のアクションについては、ページビューではなくイベントで送信した方が実装しやすいものもあるかと思います。

質問② コードの記載方法で困っています。

ご認識の通り、「ga('send', 'pageview');」を2回書くと、ページビューが重複して2回送信されてしまいます。これの解決策としては、拡張eコマースに関する情報は全てイベントで送信する、としてしまってもいいかと思います(nonInteraction情報をtrueに設定することを忘れてはいけません)。
実は、公式ヘルプでは、ヒットタイプに「item」が指定できる、と書かれているため、「ga('send', 'item', { 商品情報 });」という書き方ができそうな予感もありますが、サンプルコード含め、ヒットタイプにitemが指定されたコードを見たことがないので、使い方は不明です。

投稿2016/11/25 14:39

1987yama3

総合スコア253

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

takushi168

2016/11/28 04:46

コメントありがとうございます! だいぶすっきり理解できた気がします。
guest

0

拡張eコマースの設定、難しいですよね。
実際の設定方法として、私は下記のサイトが一番参考になりました。
https://sem-technology.info/ja/google-analytics/enhanced-ecommerce-implements-best-practice

投稿2016/06/23 04:10

編集2016/06/23 04:11
yamacho

総合スコア61

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

takushi168

2016/06/24 01:28

ありがとうございます! ご提示いただいたサイト、確かに今までで一番分かりやすい気がしますね。 実装の際はかなり参考になりそうです。 (まだ解決といえるほど理解できていないので、すみませんが質問はクローズせずこのままとさせていただきます)
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問