SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

開発者のためのGoogleアナリティクス マスターガイド

Googleアナリティクスの計測の仕組みを理解しよう

開発者のためのGoogleアナリティクス マスターガイド 第3回

  • このエントリーをはてなブックマークに追加

 マーケッター向けに語られることが多い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
  • 現在のページのタイトル
  • 前のページのURL
  • ユーザーの言語
  • 画面サイズ
  • 解像度
  • ユーザーエージェント

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

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

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

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

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

備考:_gaの値

 [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

その他のcookieDomainの値

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

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

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

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

会員登録無料すると、続きをお読みいただけます

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

次のページ
ユーザー/セッション/ヒット

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
開発者のためのGoogleアナリティクス マスターガイド連載記事一覧

もっと読む

この記事の著者

森田 怜依(NRIネットコム株式会社)(モリタ レイ)

 NRIネットコム株式会社にてGoogleアナリティクス360の導入とサポートを行っています。ウェブアプリやスマートフォンアプリの開発経験を活かし、Googleアナリティクスとその他のシステムを組み合わせた活用方法を促進してきました。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/9909 2017/01/20 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング