User ID - ウェブ トラッキング(analytics.js)

このガイドでは、analytics.js で User ID を設定する方法について説明します。

概要

User ID を使用すると、個人を特定できない永続的な固有の文字列 ID でユーザーを表すことにより、複数の端末をまたいでセッションのグループを解析できます。User ID の実装をおすすめする理由については、User ID 機能を使用するメリットをご覧ください。

実装

User ID をウェブに実装する方法は次のおとりです。

  1. 個々のログイン済みユーザーを表す、個人を特定できない一意の永続的な文字列 ID を指定します。ほとんどの場合、この ID は認証システムから提供されます。
  2. トラッカーにユーザー ID を設定します。
    ga('create', 'UA-XXXX-Y', { 'userId': 'USER_ID' });
    ga('send', 'pageview');
    

一般的な認証システムでは、ログイン済みユーザーを表す、個人を特定できない一意の永続的な ID を提供できるようになっています。この ID は、ユーザーがウェブサイトにログインしたときに Google アナリティクスに送信できます。

PHP で作成したウェブサイトがこのような認証システムを導入している場合、各ユーザーに対応する ID が入手可能になった時点で、標準の analytics.js コード スニペットを動的に更新して userId を設定することができます。以下にその例を示します。

<!-- Google Analytics -->
<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','//www.google-analytics.com/analytics.js','ga');

<?php
// New Google Analytics code to set User ID.
// $userId is a unique, persistent, and non-personally identifiable string ID.
if (isset($userId)) {
  $gacode = "ga('create', 'UA-XXXX-Y', { 'userId': '%s' });";
  echo sprintf($gacode, $userId);
} else {
  $gacode = "ga('create', 'UA-XXXX-Y');";
  echo sprintf($gacode);
}?>

ga('send', 'pageview');

</script>
<!-- End Google Analytics -->

各要素の説明は次のとおりです。

  • $userId は、ユーザーがサービスの認証システムを通過した場合のみサーバーによって設定される変数です。