衣袋教授の新・Googleアナリティクス入門講座

GA活用&Eコマーストラッキングを徹底解説! EC売上や集客の分析方法[第55回]

GA(Googleアナリティクス)を活用すれば、ECサイトの収益・集客を分析できる。Eコマーストラッキングの設定方法や、トランザクションの記述などトラッキングコードのカスタマイズ方法を解説する

トラッキングコードのカスタマイズの最後を飾るのは、ECサイトの売上データをGoogleアナリティクスに取り込んで分析し、売り上げアップなどの施策をより良くするための「eコマース」のトラッキングコードだ。

これから3回にわたり、eコマースのトラッキングを紹介する。今回はトラッキングコードの設定方法を解説する。

eコマースサイトでは、購入された商品や個数、合計購入金額などは基本的に毎回異なるのが普通だ。通常は、そうした売り上げレポートは別途作っていることだろう。しかし、Googleアナリティクスにこうしたデータを取り込めば、サイト上でのユーザー行動をあわせて分析でき、より具体的なユーザー理解と改善案につなげられるようになる。

それを実現するには、動的にプログラミングしてデータを収集できるようにしなければならない。

eコマースのトラッキングコード実装はハードルが高いが、集客やサイト内の行動だけでなく、最終的に売り上げにどう結びついたのかをGoogleアナリティクスで見られることのメリットは大きい。一定規模以上のeコマースサイトであれば、ぜひチャレンジしてほしいカスタマイズだ。

自前で決済システムを作っている巨大なサイトもあれば、カート投入から決済までの部分は外部のレンタルカートシステムを利用している場合もあるだろう。後半ではそのような場合の注意点についても簡単に触れておく。

この記事で学べること:
  • 集客からeコマースサイトの売り上げまでGoogleアナリティクスで分析するように設定できる
  • トラッキングコードのどこをカスタマイズすればいいかわかる

「管理」画面で事前にeコマースを「オン」にする

「eコマース」の機能を利用するためには、「管理」画面(図1赤枠部分)でその準備を行っておく必要がある。ビューの列(図1青枠部分)の項目の「eコマースの設定」(図1緑枠部分)をクリックしよう。すると図1のような表示になる。

図1:[管理]>[eコマースの設定]画面
図1:[管理]>[eコマースの設定]画面

右上に表示されているeコマースの設定が「オフ」になっているので(図1黒枠部分)、まずはここをクリックして「オン」にする(図2赤枠部分)。そして「次のステップ」(図2青枠部分)をクリックしよう。

図2:カスタム ディメンションを追加
図2:カスタム ディメンションを追加
「関連商品の有効化」はいずれなくなる可能性が高い

関連商品の有効化については、オフのままでよいだろう(図2緑枠部分)。以前は、この設定をオンにすると同時購入した商品パターンを見ることができた。ただしこれには「一定量のトランザクションデータと商品数が必要で、関連商品のリストを生成するために30日分のデータが必要」と条件が厳しく、筆者はレポートで確認したことがない。またAPIでの提供が終了しているので、レポート上でもおそらくすでに利用できないか、なくなると思われる。この設定はオフでよいだろう。

続いて表示された画面(図3)で、拡張eコマースの設定はオフ(図3赤枠部分)のまま、「送信」(図3青枠部分)をクリックしよう。これでレポート側の準備は終わりだ。

図3:カスタム ディメンションを追加
図3:カスタム ディメンションを追加

eコマースには2種類ある

この設定プロセスでおわかりのとおり、eコマースの計測方法には現在2つの種類ある。

  • 普通のeコマース(購入完了時のデータ)
  • 拡張eコマース(ページの閲覧やカート投入なども網羅したデータ)

普通のeコマースは「購入完了時点に売上データだけを収集する」方法だ。拡張eコマースは「商品ページの閲覧やカート投入といったさまざまなユーザーの行動まで含んだデータを網羅的に収集する」方法で、設計力と高度で多様な実装が必要になる。

拡張eコマースは本連載の範囲をはるかに超える難易度になるので、ここでは普通のeコマースの実装についてのみ解説する。

準備をしないとレポートに注意書きが出る

この準備をしていないと、関連するレポートである[コンバージョン]>[eコマース]セクションのレポート群(図4赤枠部分)を見ようと思っても、次のような注意書きが表示(図4青枠部分)される。

図4:[コンバージョン]>[eコマース]セクションのレポート
図4:[コンバージョン]>[eコマース]セクションのレポート

トラッキングコードは4種類の記述をセットで行う

それでは本題のトラッキングコードについて進めていこう。eコマースのトラッキングコードは決済完了ページに設定するのが一般的だ。そのページが購入商品や金額が確定した直後だからだ。

そして大きく次の4種類の記述をセットで行う必要がある。

  1. eコマース プラグインの読み込みの記述
  2. トランザクション(購入全体情報)の記述
  3. 個々の売上商品明細の記述
  4. 以上のトランザクションデータを送信するための記述

正確には2番目と3番目のデータのどちらかだけを送信する記述方法もあるが、そうしたバリエーションについてはここでは説明しない。ここで紹介するのはオーソドックスに一度でデータを送る基本的なパターンの実装方法だと考えてほしい。

①eコマース プラグインの読み込みの記述

それでは1つずつ説明していこう。最初の「eコマース プラグインの読み込みの記述」とは、eコマース機能を利用するために必要な準備をするプログラムを読み込むための記述だ。具体的には次の記述を行う。

ga('require', 'ecommerce');

次のような標準のトラッキングコードのトラッカー オブジェクト(下記赤字部分のこと)作成後の場所に記述する必要がある。標準のトラッキングコードの下(下記青字部分)にeコマースのトラッキングコード一式を追加していくのが素直だろう。

<script> (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','https://www.google-analytics.com/analytics.js','ga'); ga('create', 'UA-11111111-1', 'auto'); ga('send', 'pageview'); ga('require', 'ecommerce');</script>

以降は、ここで追加した1行の下に続けて記述していく。

②トランザクション(購入全体情報)の記述

続いて「トランザクションの記述」部分だ。これは該当する1購入全体の情報が含まれる。具体的には、最大で次の5種類の情報を指定する。

変数値の型必須意味
idテキストはいトランザクションID(1つひとつの購買ID)
affiliationテキストいいえ売り上げた店舗
revenue通貨いいえ※合計販売金額(送料や税金を含む総合計を指定するのが一般的)
shipping通貨いいえ送料
tax通貨いいえ税金
表1:トランザクションの記述

表1で※印がある「revenue(合計販売金額)」が「必須」でないのは違和感があるかもしれない。基本的な実装では合計販売金額を記述すべきだが、合計販売金額を送信するにはそれ以外にもさまざまな記述方法が許容されているので「必須ではない」となっているだけだ。※印がある項目は基本的に必須と考えた方が無難だろう。後述する表2でも同様だ。

トラッキングコードの記述例は以下のとおりだ。青字部分が今回記述する範囲で、赤字部分が各変数の値になる箇所なので、そこが各トランザクションで個別に変化する箇所になる。

ga('require', 'ecommerce');ga('ecommerce:addTransaction', { 'id': 'abc1234', 'affiliation': 'xyz shop', 'revenue': '10800', 'shipping': '500', 'tax': '800' });

上記の例では、購買IDが「abc1234」で、購入店舗が「xyz shop」ということだ。税込売上額が10,800円で、そのうち送料が500円、税が800円なので、その分を差し引けば商品の本体価格は9,500円だということになる。

③個々の売上商品明細の記述

続いて「個々の売上商品明細の記述」部分だ。これは動的なプログラムで商品ごとに繰り返し記述する。たとえば「商品A」が2個、「商品B」が3個売れたのであれば、「商品A」と「商品B」の2つ分の記述が必要になるということだ。各商品では最大で次の6種類の情報を指定する。

変数値の型必須説明
idテキストはいトランザクションID(1つひとつの購買ID)
nameテキストはい商品の名前
skuテキストいいえ商品のSKU
categoryテキストいいえ商品カテゴリ
price通貨いいえ※各商品の単価
quantity整数いいえ※購入した個数
表2:個々の売上商品明細の記述

トラッキングコードの記述例は以下のとおり。赤字部分が各変数の値になるので、可変部分になる。トランザクションIDは、「トランザクションの記述」部分で指定したトランザクションIDと同じものを指定する。

ga('require', 'ecommerce'); ga('ecommerce:addTransaction', { 'id': 'abc1234', 'affiliation': 'xyz shop', 'revenue': '10800', 'shipping': '500', 'tax': '800' });ga('ecommerce:addItem', { 'id': 'abc1234', 'name': 'klmn', 'sku': '9876xyz', 'category': 'Toy', 'price': '9500', 'quantity': '1' });

各商品を識別するための変数には「name」「sku」「category」があり、これがGoogleアナリティクスのレポート上にあるディメンション「商品」「商品のSKU」「商品カテゴリ」に対応する。レポートでの見え方について詳しくは次回、この記事の最後で簡単に説明する。

「SKU」とは「Stock Keeping Unit」の略で、サイズや色違いの管理したい最小単位のことだ。素直にこの3つを利用するとすれば、一番大きい単位が「category」で、次が「name」、最後が「sku」ということになるだろう。

あとはその販売した商品の単価と販売数量の2つを指定すればいい。

④以上のトランザクションデータを送信するための記述

最後は「以上のトランザクションデータを送信するための記述」部分で、次の記述を行う。これはサイトや商品によって変化せず、同じ記述でよい。

ga('require', 'ecommerce'); ga('ecommerce:addTransaction', { 'id': 'abc1234', 'affiliation': 'xyz shop', 'revenue': '10800', 'shipping': '500', 'tax': '800' }); ga('ecommerce:addItem', { 'id': 'abc1234', 'name': 'klmn', 'sku': '9876xyz', 'category': 'Toy', 'price': '9500', 'quantity': '1' });ga('ecommerce:send');

eコマースのトラッキングコードのフルの記述例

最終的にトラッキングコード一式としてはどう記述するかを見てみよう。青字部分がeコマーストラッキングで追記した箇所で、赤字部分がプロパティIDやトランザクションデータ固有の部分だ。赤字部分を実態に合わせて変更することになる。

<script> (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','https://www.google-analytics.com/analytics.js','ga'); ga('create', 'UA-11111111-1', 'auto'); ga('send', 'pageview'); ga('require', 'ecommerce'); ga('ecommerce:addTransaction', { 'id': 'abc1234', 'affiliation': 'xyz shop', 'revenue': '10800', 'shipping': '500', 'tax': '800' }); ga('ecommerce:addItem', { 'id': 'abc1234', 'name': 'klmn', 'sku': '9876xyz', 'category': 'Toy', 'price': '9500', 'quantity': '1' }); ga('ecommerce:send');</script>

外部のカートシステムを利用している場合は?

カートシステムは外部のシステムを利用しているという場合もあるだろう。有名なショッピングカートシステムであれば、Googleアナリティクスに対応している場合も多い。しかし商品を陳列している自分のサイトのドメインと外部のショッピングカートは別ドメインになると思うので、次の2つのことを確認しよう。

  • 自分のサイトとカートのサイト間の移動でセッションが切れないように、クロスドメインというトラッキングコードのカスタマイズを行う必要があるかどうか
  • 同じ目的(セッションが切れないようにするため)で、Googleアナリティクス側の参照元除外の設定が必要になるかどうか

ここでは詳細は省略するが、カートシステムが別ドメインになる場合は、Googleアナリティクス側ならびにショッピングカートシステム側でどのような設定が必要か、専門家に聞いて正しく実装と設定を行うようにしてほしい。

対応するeコマースのレポート

eコマース系のレポートの活用方法については次回詳しく解説する予定だが、ここでもトラッキングコードで指定した各変数がレポートのどこに該当するのかだけを示しておこう。

まず「id」は、[コンバージョン]>[eコマース]>[トランザクション]レポートにおけるディメンション「トランザクションID」(図5赤枠部分)として利用される。「affiliation」は直接目にすることはないが、セカンダリ ディメンション(図5青枠部分)などから利用することが可能で、「アフィリエーション」と表示されるディメンションだ。

「revenue」「shipping」「tax」は同レポートにおける「収益」「配送」「税金」の指標(図5緑枠部分)として集計される。

図5:[コンバージョン]>[eコマース]>[トランザクション]レポート
図5:[コンバージョン]>[eコマース]>[トランザクション]レポート

「name」「sku」「category」は前述したように[コンバージョン]>[eコマース]>[商品の販売状況]レポート上のディメンション「商品」「商品のSKU」「商品」(図6赤枠部分)に対応する。「price」と「quantity」は同レポートの各指標(図6青枠部分)の集計数値に利用される。

図6:[コンバージョン]>[eコマース]>[商品の販売状況]レポート
図6:[コンバージョン]>[eコマース]>[商品の販売状況]レポート

次回は、こうやって収集したeコマースのレポートをどのように見て、分析していくかを解説する。

◇◇◇

📝筆者が継続的に主催している講座群(Google アナリティクス中心)に興味がある方はこちらをご確認ください。
http://xfusion.jp/train.html

この記事が役に立ったらシェア!
メルマガの登録はこちら Web担当者に役立つ情報をサクッとゲット!

人気記事トップ10(過去7日間)

今日の用語

Python
「Python」(パイソン)は、プログラミング言語の1つ。プログラマのグイド・ヴ ...→用語集へ

インフォメーション

RSSフィード


Web担を応援して支えてくださっている企業さま [各サービス/製品の紹介はこちらから]