GA4では、今までのUAと同じように、user_idでの計測が可能です。
ここではそんなuser_idの計測方法であったり、管理画面上での表示、そしてBigQueryのローデータで吐き出fした際の表示などを確認していこうと思います。
Contents
そもそもuser_idとは?
まずUAやGA4を今回初めて触った方もいると思いますので、user_id(ユーザーID)とはなんぞやから説明をしたいと思います。
サイトにアクセスするユーザー1人1人に対して、UAやGA4のcookieである「_ga」というものが発行されます。
正式にはこの_gaはブラウザ×デバイス粒度で発行されます。
同じ例えばPCを使っている人が、safariとchromeの2つでサイトにアクセスすると、それぞれのブラウザで別々の「_ga」が発行されるので、同じ人がアクセスしても、ユーザーは2人とカウントされてしまいます。
なので、別々のユーザーとみなされてしまうので、GAで分析する際も、_gaごとにユーザーの動きを見て分析することができるので、別々のcookieが発行されてしまっている今、同じ人でもブラウザごとに分析を行うことになってしまいます。
しかし、できれば同じ人なら、別のブラウザであっても、そして別のデバイスであってもサイトに来た人が同じ人なら、ユーザーは1人とカウントして欲しいですよね!
別のデバイスや別のブラウザでアクセスしても、同じ人なのだから、サイト内の動きを完全に追いたいですよね!
これをクロスデバイストラッキングと言ったりします。
デバイス間の影響なしに同一ユーザーの行動を追うということです。
それを実現する機能が、user_id(ユーザーID)というものになります。
user_idはどういったときに使用するのか?
user_idを使用するのは、よくある例として、サイト内にログインがあるサイトで使用されます。
Webとアプリでのuser_id計測設定
GTMでは設定フィールドでuser_idに、アクセスユーザーの固有なID(上の例で言えば、ログインID)をセットします。
これだけです。
user_idにそのユーザーの固有なIDを入れるだけで、計測が可能になります。
user_idはユーザーに固有な値なので、ユーザー粒度の値になります。
そのため、設定フィールドに設定しなくても、ユーザープロパティでuser_idを設定することでも問題はないです。
アプリについては、以下で扱ってますので、ここでは簡単なプログラムだけをご紹介しておきます!
プラットフォーム | 処理 |
---|---|
iOSアプリ | Analytics.setUserId() |
Androidアプリ | Analytics.setUserId() |
それぞれ、setUserId()の引数にそのユーザーの固有なIDを入れるようにします。
ユーザーの固有IDが12345なら、setUserId("12345")という感じです。
これでアプリはuser_idが計測されるようになります。
※ Webとアプリで、ユーザーの行動を見たいのであれば、Webとアプリを両方でうまく同じ固有のuser_idを発行して、それぞれでuser_idにセットするといった処理の構築が必要です。
注意点:GA4の管理画面上でのユーザー数について
ここで注意点があります。
GA4では、レポート識別子というものがあり、GA4の標準レポートや探索レポートを構成する際に、ユーザーはどのデータで集計するかを指定することができます。
デフォルトでは、デバイスIDというものが設定されており、
このデバイスIDは以下で発行された値になります。
プラットフォーム | 処理 |
---|---|
Web | GAのcookie「_ga」 |
iOSアプリ | Analytics.getAppInstanceId() |
Androidアプリ | Analytics.getAppInstanceId() |
つまり、cookieなど通常デフォルトで発行されるユーザーの識別子になります。
この値を用いて、デフォルトはユーザー数の集計を行います。
しかし、ここでuser_idを計測すると、user_idの値がnullではないユーザーは上記のcookieの値で計測ではなく、このuser_idの数値を使って集計し、user_idの値がnullのユーザーは、user_idがないので普通のcookieの値を採用し、この値を使って集計します。
このようにuser_idを計測すると、ユーザー数の集計方法に違いが出てきます。
デバイスIDはデフォルトで計測されるcookie値だが、user_idは固有のユーザーIDがあるユーザーが採用される。
至極当然ちゃ当然ですね!user_idというどのデバイスからでも同じユーザーとみなされるユーザーは1人として集計した方が、デバイスIDで集計するよりも精緻なユーザー数を出すことができるのは容易に想像できます。
GTMでの設定
そしてここからGTMでの計測設定をします。
設定フィールドにて、以下を設定します。
ただ今回は、user_idの値がある場合、ちゃんとGA4のユーザー数の集計などで反映されるのかを検証するため、アクセスユーザー全員同じ値を振って、ユーザー数が1となることを確認します。
以下のように同じuseridを付与します。
こうすることで、アクセスユーザー全員が同じuseridになるので、ユーザー数は1になるはずです。
実際上記設定をして公開し、実際にアクセスしてGA4の画面を見てみると、確かにユーザー数が1になっていました。
想定通りですね!
GA4でのローデータ
上で
user_idがないユーザーはデバイスIDを、
user_idがあるユーザーはuser_idを
それぞれ採用して集計するとお話ししました。
実際、それぞれを計測している場合、BigQueryのローデータにはどのように吐き出されているのでしょうか?
上のように、カラムuser_idには、GTMで設定フィールドのuser_idで指定した値が入るようになっていますね!
そして、レポートで集計はされないが、cookieの値もuser_pseudo_idに入るようになっています!