sGTMを試してみた【後編】

こんにちは、データアナリストの左海です。

昨日16日に引き続き、mediba Advent カレンダー 17日目は私からサーバーサイドGTM(以下sGTM)を試してみたお話の続きとなります。

前編でsGTMの導入が完了したので、後編ではSafariのITP制限がGoogle Analytics4(以下GA4)のログにどう影響しているのか観察していきます。

SafariのITP制限によるGA4ログへの影響とsGTM

まずは、前編の重要な部分を簡単に振り返ります。

SafariのITP制限は主にCookieに対して制限をかけており、JavaScriptで設定された1st Party Cookieの有効期限は7日間となります。

そのため、アクセス解析においては8日以上の間隔を空けて再訪問したユーザーは新規ユーザー扱いとなり、同一ユーザーとしてカウントされません。

上記問題を緩和するのがsGTMで、サーバーサイドでCookieを発行するため、GA4のCookieの有効期限はデフォルトの有効期限に緩和することが可能でした。

観察したいこと

前述の通り、ITP制限のアクセス解析への影響は、8日以上の間隔を空けて再訪問したユーザーは新規ユーザー扱いとなることです。

ゆえに、sGTMを利用した場合、GA4では8日以上の間隔を空けて再訪問したユーザーは同一ユーザーとして計測されるのか観察していきます。

おそらく、同一ユーザーと判定されるため、GA4のデータ探索でユーザー数1と表示されるはずです。

観察方法

それでは、観察していきます。観察は以下の手順で行いました。

  1. 2022/12/7 13:00ごろSafariで初回訪問し、page_viewイベントを発生させる
  2. 2022/12/14 14:00以降にSafariで再訪問し、page_viewイベントを発生させる(8日以上の間隔を空けて再訪問)
  3. GA4のデータ探索でユーザー数を確認する

観察結果

GA4のデータ探索で確認したところ、想定していた結果とは異なり、総ユーザー数/アクティブユーザー数には2と表示されていました。新規ユーザーとして扱われていることになります。

ユーザー数(想定)ユーザー数(結果)
sGTMを利用12

データ探索の設定は、ユーザーセグメントでブラウザをSafariに絞って総ユーザー数/アクティブユーザー数を取得しています。

BigQueryで以下クエリを実行して日付ごとに訪問ユーザーのuidを確認してみました。

SELECT 
  DISTINCT(event_date)
  ,user_pseudo_id
FROM
  `projectName.datasetName.events_*`
WHERE
  _TABLE_SUFFIX BETWEEN '20221207' AND '20221214'
  AND device.mobile_model_name = 'Safari'
;   

7日と14日で全く別の値が入っているので別ユーザーとしてカウントされています。

考察

観察した結果、当初想定していた同一ユーザーとしてはカウントされず、新規ユーザーとしてカウントされてしまいました。

今回調査に十分な時間を確保できなかったのですが、Webkitの「IPアドレス判定でのCookie制限」が既に適用されているかもしれません。

WebKit will start limiting the lifetime of cookies to 7 days when set via “third-party” IP addresses. Third-partiness determined by whether the first half of the request’s IP address matches the first half of the first-party IP address.

参考 - Steven Englehardt氏

おわりに

今回、sGTMを試してみてCookieへの理解、sGTMやDNSの設定方法など新たに多くのことを知ることができました。

中でもCookieはデータアナリストとして業務を行う上でプライバシー保護の取り組みと併せて最新の情報を理解しておく必要があると感じました。

最後に、今回の観察結果の考察が正しければ、やはりITPがプライバシーを守る取り組みである以上、sGTMでCookie制限を恒久的に回避するのは難しいかもしれません。

どなたかの参考になれば、幸いです。