gtag.js を使用した Cookie とユーザーの識別

gtag.js では、複数のブラウジング セッションをまたいでユニーク ユーザーを識別するために Cookie を使用します。このページでは、Cookie の設定をカスタマイズする方法について説明します。

次の表に、gtag.js で使用される Cookie フィールドのデフォルト値を示します。

フィールド名 値の型 デフォルト値
cookie_domain string auto
cookie_expires integer 63072000(2 年間(秒単位))
cookie_prefix string _ga
cookie_update boolean true
cookie_flags string

これらの値を変更するには、プロパティの config コマンドにあるパラメータ リストで値を指定します。例:

gtag('config', 'GA_MEASUREMENT_ID', {
  'cookie_prefix': 'MyCookie',
  'cookie_domain': 'blog.example.com',
  'cookie_expires': 28 * 24 * 60 * 60  // 28 days, in seconds
});

gtag.js では、Cookie ドメインの自動設定がデフォルトで有効になっています。有効にすると、できる限り上位のドメインに Cookie が設定されます。たとえば、ウェブサイト アドレスが blog.example.com の場合、Cookie は gtag.js によって example.com ドメインに設定されます。サーバーがローカル環境(例: localhost)で実行されていることが検出されると、cookie_domain は自動的に 'none' に設定されます。この場合は、ドキュメントの場所の完全なドメインを使って Cookie が設定されます。

Cookie ドメインの自動設定を無効にするには、プロパティの config コマンドで cookie_domain パラメータの値を指定します。

gtag('config', 'GA_MEASUREMENT_ID', {
  'cookie_domain': 'blog.example.com'
});

他の Cookie との競合を避けるために、gtag.js によって設定された Cookie の前に追加される Cookie プレフィックスを変更する必要があるかもしれません。たとえば、Google アナリティクスで使用される ID Cookie のデフォルトの名前は「_ga」です。以下のコードにより、この Cookie は「example_ga」という名前になります。

gtag('config', 'GA_MEASUREMENT_ID', {
  'cookie_prefix': 'example'
});

ページが読み込まれるたびに、Cookie の有効期限はその時点の時刻と cookie_expires フィールドの値を足した値に更新されます。つまり、cookie_expires が 1 週間に設定されていて、ユーザーが 5 日以内に同じブラウザを使用してページを再訪問した場合、Cookie はその時点からさらに 1 週間利用可能になり、そのユーザーは Google アナリティクスでは同じ訪問者とみなされます。一方、Cookie の元の有効期限が切れた後に同じユーザーがページにアクセスした場合、新しい Cookie が作成され、1 回目と 2 回目の訪問は Google アナリティクスで個別のユーザーのものとみなされます。

cookie_expires 値を 0(ゼロ)秒に設定すると Cookie がセッション ベースになり、現在のブラウザ セッションが終了した時点で期限切れとなります。

gtag('config', 'GA_MEASUREMENT_ID', {
  'cookie_expires': 0
});

cookie_updatetrue(デフォルト値)に設定されていると、ページが読み込まれるたびに Cookie が更新されます。つまり、サイトへの最新の訪問に基づいて Cookie の有効期限が更新されます。たとえば、Cookie の有効期限が 1 週間に設定されていて、ユーザーが 5 日ごとに同じブラウザを使用して訪問した場合、Cookie の有効期限は訪問ごとに更新されるため、有効期限が切れることはありません。

false に設定すると、Cookie はページの読み込みごとには更新されません。つまり、ユーザーが最初にサイトにアクセスしたときに基づいて Cookie の有効期限が決まります。

gtag('config', 'GA_MEASUREMENT_ID', {
  'cookie_update': false
});

設定時に Cookie に追加のフラグを追加します。フラグはセミコロンで区切る必要があります。

gtag('set', {
  'cookie_flags': 'SameSite=None;Secure'
});

User-ID を設定する

User ID は、個人を特定できない形でユーザーを表す永続的な固有の文字列 ID です。User ID によって、デバイスをまたいだ複数のセッションを分析できます。User ID の実装をおすすめする理由については、User ID 機能を使用するメリットをご覧ください。

gtag.js で User ID を実装するには、プロパティの config コマンドで User ID を設定します。

gtag('config', 'GA_MEASUREMENT_ID', {
  'user_id': 'USER_ID'
});

ユーザーが同意しない限り Cookie の読み取りや書き込みを行わないように gtag.js を設定できます。詳しくは、ユーザーの同意状況に基づいてタグの動作を調整するをご覧ください。