GA4のユーザー判別・ユーザー数算出の仕組みや定義をまとめる

# ▼結論
GA4のユーザー判別・ユーザー数算出の方法は、**GA4のレポートIDの設定・Googleシグナル**の設定有無によって変化する。そして、標準レポートと探索レポート、BigQueryへエクスポートしたデータにおいても表示されるデータが異なることがある。

レポートIDの設定ごとにまとめる

## ➀ハイブリッド(モデリングあり）
- 標準レポート
    - **User-ID または デバイスID またはモデル化データ**によりユーザが判別される
        - モデリングによりcookieの同意を拒否したユーザのイベントが補完される
            - 表示されるユーザ数、その他イベントが多く表示されることになる
        - Googleシグナル設定をオンにしていると、Googleアカウントにてログインかつ広告のカスタマイズ(chromeの設定)をオンにしているユーザの修正が行われることがある
            - Googleアカウントにログインしており、違うブラウザやデバイスで訪問した人分のユーザ数が減ることがある
- 探索レポート・BigQuery
    - User-ID または デバイスIDによりユーザが判別される
        - モデリングとGoogleシグナルの影響なし

## ➁計測データ(モデリングなし User-ID or デバイスID)
- 標準レポート
    - **User-ID または デバイスID**によりユーザが判別される
        - Googleシグナル設定をオンにしていると、Googleアカウントにてログインかつ広告のカスタマイズ(chromeの設定)をオンにしているユーザの修正が行われることがある
            - Googleアカウントにログインしており、違うブラウザやデバイスで訪問した人分のユーザ数が減ることがある
- 探索レポート・BigQuery
    - User-ID または デバイスIDによりユーザが判別される
        - モデリングとGoogleシグナルの影響なし

## ③デバイスベース(モデリングなし デバイスIDのみ）
- 標準レポート
    - **デバイスIDのみ**によりユーザが判別される
        - Googleシグナル設定をオンにしていると、Googleアカウントにてログインかつ広告のカスタマイズ(chromeの設定)をオンにしているユーザの修正が行われることがある
            - Googleアカウントにログインしており、違うブラウザやデバイスで訪問した人分のユーザ数が減ることがある
- 探索レポート・BigQuery
    - デバイスIDによりユーザが判別される
        - モデリングとGoogleシグナルの影響なし

# ▼補足説明
ここからは結論で記載した用語などについて説明する。

## レポートID設定
GA4ではユーザをどのように判別するかを管理画面上で設定できる。この設定がユーザ数の算出方法を決める。
【設定画面】管理>プロパティ設定>データの表示>レポートID

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2998651/75b57836-b744-4376-aa3d-cec64bbacb42.png)
[参考：Google公式](https://support.google.com/analytics/answer/10976610?hl=ja&utm_id=ad&visit_id=638764933000885876-84501164&rd=1)


以下の3種類が選べる。以下3種類はUser-ID,デバイスID,モデル化データという３つの識別子の使い方で分けられている。
- ハイブリッド
    - User-IDにてユーザを判別、User-IDが無い場合はデバイスIDを使用する
    - User-ID、デバイスID両方が使えない場合はモデル化データが使われる
- 計測データ
    - User-IDにてユーザを判別、User-IDが無い場合はデバイスIDを使用する
- デバイスベース
    - デバイスIDでのみユーザを識別する

ここからはUser-ID,デバイスID,モデル化データ, Googleシグナルについて説明する。

### User-ID
個々のユーザにIDを振ることでユーザをデバイスによる影響なく識別できる。
ログインIDなどをイメージすると分かりやすい

設定としては、GTMにてgoogleタグの構成パラメータのuser_idにログインIDを設定することで行う
[参考：Google公式 User-IDの設定方法](https://developers.google.com/analytics/devguides/collection/ga4/user-id?hl=ja&client_type=gtm)

[参考：Google公式 Googleタグの構成パラメータ](https://support.google.com/tagmanager/answer/13438166?sjid=8136698895245601511-NC)

### デバイスID
定義としては、ウェブサイトの場合はクライアントID、アプリの場合はアプリ インスタンスID を使用されます。
これはGA4のレポートID設定画面に記載がある

クライアントIDは、「_ga」という名前のCookieに保存される。写真のように、ランダムな番号とタイムスタンプの組み合わせによりデバイスごとにIDを振り分ける。
この値はCookieの値を使用していることからも分かるように、ブラウザを変えたりCookieの値が削除されたりなどすると新しいIDが付与される

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2998651/1d4d6e1a-a2c2-4653-9da4-bcbf61f24246.png)
[参考：Google アナリティクス 4 のさまざまな ID を理解する](https://www.gainjp.com/various-ids-in-google-analytics.html)

インスタンスIDは、アプリのインストールを一意に識別するID

## モデル化データ
レポートID設定をハイブリットにした場合、
User-IDとデバイスIDの両方が使えない場合、つまりCookieの同意に対しユーザが拒否した場合はモデル化データが使われることになる。

ユーザがcookieの使用に同意しなかった場合はGA4の計測は行えない。そのようなデータを補完するためにgoogleは機械学習を使用している。
cookieの同意がなされなかったユーザのイベントは実際は行われているのに計測されていない。そうすると実際のユーザの行動よりも少ない数が計測されることになる。
そこで、googleは過去に計測されたユーザのイベントのデータを使ってcookieに同意しなかったユーザの行動を予測しているのだ。そして、その予測した行動データにてデータの補完を行っている。

## Googleシグナル

レポートIDの設定とは別にGoogleシグナルという設定がある。
【設定画面】プロパティ設定>データの収集と修正>データの収集
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2998651/1287b155-173b-4809-8ebc-b155b9f4ee79.png)

この設定によってGoogleアカウントに紐づけられた情報についても一部収集出来るようになる。

Googleシグナルの設定をオンにすると、Googleアカウントにログインしており、広告のカスタマイズ(chromeの設定)をオンにしているユーザについてはGoogleアカウントの情報を元にユーザを判別する
PCでもwebでも同じgoogleアカウントにログインをしていれば同じユーザとして判別するということだ。
そして、それを元に標準レポートに表示されるユーザ数は修正される。

しかし、以下のような記載がある。これはどういうことだろうか

:::note info
Google シグナルは Google アナリティクスのレポート用識別子からは除外されます
:::

clickというイベントを行ったユーザ数を集計するとする。
この際にはレポートIDにて指定した識別子に加えてGoogleシグナルつまりGoogleアカウントの情報を使ってclickを行ったユーザ数を算出しようと思うかもしれない。
しかし、Googleシグナルの情報を識別子には使わずレポートIDの設定にて指定した識別子のみを識別子として使うと上記文言は言っているのだ。

まとめると、
Googleシグナルは、Googleアカウントの情報を使ってユーザを識別するものであり、標準レポートにてユーザ数を求める際に使用されることがある。しかし、ユーザ識別子に影響は与えない。