Measurement Protocolとは(2)
利用と確認
Googleアナリティクスのリアルタイムレポートで結果を確認してみましょう。Measurement ProtocolのHTTPリクエストを、以下のように記述します。
https://www.google-analytics.com/collect?v=1&t=pageview&tid=UA-XXXXXXXXX-1&cid=12345&dp=%2Fhome%2FMeasurement%2F
「tid=UA-XXXXXXXXX-1」の箇所はGoogleアナリティクスのプロパティにおけるトラッキングIDを入れる必要があります。
上図のように「リアルタイム」>「イベント」のレポートでデータが確認できれば成功です。
以下、仕様について詳細を解説していきます。
クライアントIDとユーザーID
パラメータとして必須のクライアントIDの他に、ユーザーIDがあります。少々わかりにくいので説明します。
クライアントIDは、上述のようにウェブブラウザやモバイルデバイスなど送信元を識別するIDです。一方、ユーザーIDはクロスデバイスでユーザーを識別するために用いるIDです。
上図のように、ClientIDはユーザーが同一でもユーザー接点の端末ごとに異なりますが、ユーザーIDはこのユーザーを1つのIDで識別します。ユーザーIDを用いるにはGoogleアナリティクスの設定画面より機能を有効にする必要があります。
まずは、「管理」>「プロパティ設定」>「トラッキング情報」>「User-ID」と進み、ダイアログに従い機能を有効にします。
ユーザーIDはシステムなどで生成したユーザー固有なテキストを設定できます。ただし、IDにメールアドレスなどの個人情報を使うことはできません。また、機能を有効にする際は、User-IDに関するポリシーに同意する必要があります(そこで設定できる情報に関する記載もあります)。ユーザーIDについての詳細はヘルプを参照してください。
ヒットタイプ別のパラメータ設定の例
ヒットタイプ別に、パラメータ設定の例を説明します。
ページビュー
ヒットがpageviewの場合、「dl」または 「dh + dp」の組み合わせのいずれかを指定する必要があります。
dl:ドキュメントの場所の URL
- 例:dl=http%3A%2F%2Fsample.com%2Fhome%3Fkey%3Dvalue
URLにはURLエンコードを行った値を指定します。上の値は「http://sample.com/home?key=value」です。
dh:ドキュメントのホスト名
- 例:dh=foo.com
コンテンツがホストされているホスト名を指定します。
dp:ドキュメントパス
- 例:dp=%2Ffoo
ページの URL のパス部分を「/」で始めます。
例えば、「フィーチャーホンで"http://sample.com/foo"というページを閲覧した」という行動を捕捉する場合、以下のように設定します。ここではカスタムディメンション(後述)のパラメータを用いて、フィーチャーホン利用を明示しています。
t=pageview&dl=http%3A%2F%2Fsample.com%2Ffoo&cd1=FeaturePhone
イベント
イベントを指定する場合は「イベントカテゴリ」「イベントアクション」が必須項目になります。
ec:イベントカテゴリ
- 例:ec=videos
最大150バイト、空白は不可です。
ea:イベントアクション
- 例:ea=play
最大150バイト、空白は不可です。
例えば、「実店舗でインタラクティブな動画再生機器をユーザーが再生した」という行動を捕捉する場合、以下のようにリクエストのパラメータを設定します。
t=event&ec=videos&ea=play
その他のパラメータについては、こちらを参照してください。
検証方法
パラメータが正しいかどうかを検証する方法を紹介します。
Hit Builder
オフィシャルのツールであるHit Builderで検証が行えます。
必須パラメータなどを入力するフォームがあるので、このフォームを埋めるだけでデータ送信のためのHTTPリクエストを生成できます。
検証サーバー
本番環境で利用するURL「https://www.google-analytics.com/collect?」にdebugを付加したURL、「https://www.google-analytics.com/debug/collect?」が検証サーバーのURLになります。以下のURLをブラウザに貼り付けて実行してみてください。
https://www.google-analytics.com/debug/collect?v=1&t=event&tid=UA-12356-1&cid=12345&ec=email&ea=open
以下のようなテキスト(JSON)が表示されます。
{
"hitParsingResult": [ {
"valid": true,
"parserMessage": [ ],
"hit": "/debug/collect?v=1\u0026t=event\u0026tid=UA-12356-1\u0026cid=12345\u0026ec=email\u0026ea=open"
} ],
"parserMessage": [ {
"messageType": "INFO",
"description": "Found 1 hit in the request."
} ]
}
検証サーバーと本番用サーバーには、以下の違いがあります。
- 実際にはデータがサーバーに格納されない
- JSONのレスポンスが返ってくる
通常のパラメータ確認ではHitBuilderが便利ですが、システム上でテストの自動化を行うなどの場合、検証サーバーの利用が便利です。
