開発者のためのGoogleアナリティクス マスターガイド 第3回(森田怜依) Googleアナリティクスの計測の仕組みを理解しよう 1/3

20170217-1

マーケッター向けに語られることが多い Google アナリティクス。本連載では開発者の方に向けて Google アナリティクス と Google タグマネージャ の使い方を、基本から単なるページビュー計測にとどまらない利用方法までご紹介します。今回は Google アナリティクス のトラッキングコードが動作してからレポート画面に表示されるまでに何が行われるかを解説します。

対象読者

  • Google アナリティクス を利用している/利用したいウェブサイトの制作者の方
  • JavaScript開発者の方

ディメンションと指標

まずは今後 Google アナリティクス を解説するにあたって必要なこれらの単語を説明します。 ディメンションと指標は、どちらも Googleアナリティクス のレポート画面に出てくる表示項目です。

ディメンションはデータの属性です。「ページ」「ブラウザ」「市区町村」などです。 指標はデータを定量化したものです。「ページビュー数」「セッション」「ページ別訪問数」などが挙げられます。 大抵の場合、表の1番左にあるのがディメンションで、右に続く数値の列が指標です。

ページ(ディメンション) ページビュー数(指標) ページ別訪問数(指標)
/index.html 300 200

Google アナリティクス のレポートはこのようにディメンションと指標の組み合わせでできています。

データ収集の仕組み

それでは開発者の方向けに Google アナリティクス の技術的な仕組みをご紹介します。仕組みを理解して適切な設定を行うようにしましょう。

Googleアナリティクスは、ヒットという単位でデータを収集します。ウェブ計測を行う場合、主に使用するヒットは「ページビュー(pageview)」「イベント(event)」「ソーシャル(social)」「タイミング(timing)」の4種類が挙げられます。

どのヒットの種類を利用するかはsendと一緒に指定します。

// ページビューを送信する場合
ga('send', 'pageview');

ga(‘send’, [hitType], [hitTypeに応じた必要なパラメータ])というコードを実行することで、初めて Google アナリティクス にデータが送信されます。

sendメソッドが実行される際、Google アナリティクス は何も指定しなくても自動的にいろいろなデータを送信してくれます。例えば以下のようなデータです。

  • 現在のページのURL
  • 現在のページのタイトル
  • ユーザーの言語
  • 画面サイズ
  • 解像度
  • ユーザーエージェント

さて、ヒットを送信することでデータが収集されるわけですが、ではどうやって同じユーザーの行動であると判別しているでしょうか。

それを実現しているのがCookieと、トラッカーと呼ばれるオブジェクトです。

トラッカーの重要な役割の1つは、送信先のトラッキングIDを指定することです。トラッキングコードを動かす際はまず最初に必ずトラッカーを生成し、トラッキングIDを指定しなければいけません。トラッカーの生成はcreateメソッドで行われます。

// UA-XXXXX-Yへデータを送信するトラッカーを生成
ga('create', 'UA-XXXXX-Y', 'auto');

トラッカーは生成されると、まずクライアントIDを発行します。これがユーザーを識別するIDです。そして発行されたクライアントIDは_gaという名前でCookieに記録されます[1]。

[1]:_gaにはクライアントIDだけが記録されるわけではありません。_gaには「GA1.2.1234567890.1234567890」のような値が記録されますが、このうちクライアントIDは「1234567890.1234567890」の部分だけです。また、クライアントIDの値を取得したい場合、Cookieから直接取得することは避けてください。

ヒットの送信時、このクライアントIDも一緒にGoogleアナリティクスのサーバーへ送信されます。

そしてユーザーが次のページへ移動して再度トラッカーが生成されると、トラッカーは今度はすでにCookieにクライアントIDが記録されていることを確認してそのクライアントIDを使用します。

これにより Google アナリティクス は1人のユーザーが起こした行動を判別することができるようになるというわけです。

Cookieはもちろんドメイン単位に発行されるものです。どのドメインにCookieを発行するかは3つめのパラメータ(cookieDomain)で指定することができます。つまり、上記の例ではautoを指定しています。

autoを指定すると、できる限り上位のドメインにCookieを発行します。 何の指定もない場合、トラッカーは現在のページのドメインにCookieを発行します。ただし現在のドメインがwwwから始まるページだった場合、wwwは無視されます。

この2つの違いはどのような影響があるでしょうか。

例えばウェブサイトのドメインとしてsubdomain1.example.comとsubdomain2.example.comの2つを使用しており、cookieDomainの指定はしていない場合を考えてみます。

subdomain1.example.comを訪問した際、トラッカーはクライアントID:123を.subdomain1.example.comに対して発行します(先頭に「.」が付いているのは、サブドメインからも参照可能であることを示しています)。

その後ユーザーがsubdomain2.example.comへ遷移すると、トラッカーは.subdomain1.example.comに発行されたクライアントIDを確認することができません。そのため新たにクライアントID:456を.subdomain2.example.comに対して発行します。

データを受け取った Google アナリティクス のサーバーは、クライアントID:123と456は別人として理解します。実際には同じユーザーが行った行動であってもそのように計測はされないのです。

一方cookieDomainをautoで指定した場合です。subdomain1.example.comを訪問した際、トラッカーはクライアントID:123を.example.comに対して発行します。そしてユーザーがsubdomain2.example.comへ遷移すると、トラッカーは.example.comに発行されたクライアントIDを確認し、同様にクライアントID:123としてデータを送信します。これによりGoogleアナリティクスのサーバーは同じユーザーとして認識することができます。

cookieDomainの設定
cookieDomainの設定

Cookieに利用するドメインの指定方法と結果表[2]

cookieDomain www.example.com訪問時 subdomain.example.com訪問時
(指定なし) .example.com .subdomain.example.com
auto .example.com .example.com

[2]:cookieDomainには「指定なし」「auto」以外に、現在のドメインをそのまま利用する「none」や、ドメインを直接指定することも可能です。

cookieDomainの指定はユーザーを識別する上で非常に重要です。特に理由がない限り、cookieDomainはautoを指定しておくことが望ましいでしょう。

さて、データ収集により Google アナリティクス には情報が蓄えられましたが、それらのデータを Google アナリティクス のレポートに表示するにはいくつか加工を施す必要があります。

その加工の説明をする前に、まずは Google アナリティクス のユーザー、セッション、ヒットについてご紹介します。

お問い合わせ

当社のサービス・製品に関するご相談やご質問、お見積りのご依頼など、こちらからお問い合わせください。