GA4Query

お問い合わせ

GA4+BigQueryでデバイス/OS/ブラウザ別のUU数を集計するSQL

公開日:2022年11月22日
更新日:2022年12月02日
GA4+BigQueryでデバイス/OS/ブラウザ別のUU数を集計するSQL

今回は、Googleアナリティクスを用いたアクセス解析において確認頻度の高い、デバイス別、OS別、ブラウザ別のユニークユーザー数(UU数)を、BigQueryにエクスポートしたデータで集計するためのSQLクエリを紹介する。

SQLクエリ概要

まず、device フィールドに格納されているデータを使う。

このdevice フィールドは 、列のデータ型が RECORD 型に設定されており、その中にネストされた値は device.category という形で取得することができる。

そして、device の中にはさらに web_info という RECORD 型のフィールドがあり、その中の値は device.web_info.browser という形で取得することができる。

(BigQuery公式ドキュメント参考)

テーブル スキーマでネストされた列と繰り返し列を指定する

ユニークユーザー数(UU数)の集計に関しては、こちらの記事で詳しく解説している。

SQLクエリサンプル

1つ目の、デバイス別UU数集計のクエリサンプルは、以下のようになる。

デバイス別のユニークユーザー数(UU数)を集計するSQLクエリ

SELECT
  device.category AS device,
  COUNT(DISTINCT user_pseudo_id) AS user_count
FROM
  `technogram-354804.analytics_291973511.events_intraday_202210*`
GROUP BY
  device
ORDER BY
  user_count DESC
;

■ BigQueryでの集計結果

BigQueryでの集計結果は、以下のようになる。

デバイス別のユニークユーザー数(UU数)を集計するSQLクエリをやった時のBigQueryでの集計結果 | GA4+BigQueryでデバイス/OS/ブラウザ別のUU数を集計するSQL

続いて2つ目の、OS別UU数集計のクエリサンプルは、以下のようになる。

OS別のユニークユーザー数(UU数)を集計するSQLクエリ

SELECT
  device.operating_system AS OS,
  COUNT(DISTINCT user_pseudo_id) AS user_count
FROM
  `technogram-354804.analytics_291973511.events_intraday_202210*`
GROUP BY
  OS
ORDER BY
  user_count DESC
;

■ BigQueryでの集計結果

BigQueryの集計結果は、以下のようになる。

OS別のユニークユーザー数(UU数)を集計するSQLクエリをやった時のBigQueryでの集計結果 | GA4+BigQueryでデバイス/OS/ブラウザ別のUU数を集計するSQL

続いて3つ目の、ブラウザ別UU数集計のクエリサンプルは、以下のようになる。

ブラウザ別のユニークユーザー数(UU数)を集計するSQLクエリ

SELECT
  device.web_info.browser AS browser,
  COUNT(DISTINCT user_pseudo_id) AS user_count
FROM
  `technogram-354804.analytics_291973511.events_intraday_202210*`
GROUP BY
  browser
ORDER BY
  user_count DESC
;

■ BigQueryでの集計結果

BigQueryでの集計結果は、以下のようになる。

ブラウザ別のユニークユーザー数(UU数)を集計するSQLクエリをやった時のBigQueryでの集計結果 | GA4+BigQueryでデバイス/OS/ブラウザ別のUU数を集計するSQL

最後に4つ目の、デバイス/OS/ブラウザの組み合わせ毎のUU数集計のクエリサンプルは、以下のようになる。

デバイス/OS/ブラウザの組み合わせごとのユニークユーザー数(UU数)を集計するSQLクエリ

SELECT
  device.category AS device,
  device.operating_system AS OS,
  device.web_info.browser AS browser,
  COUNT(DISTINCT user_pseudo_id) AS user_count
FROM
  `technogram-354804.analytics_291973511.events_intraday_202210*`
GROUP BY
  device,
  OS,
  browser
ORDER BY
  user_count DESC
;

■ BigQueryでの集計結果

BigQueryでの集計結果は、以下のようになる。

デバイス/OS/ブラウザの組み合わせごとのユニークユーザー数(UU数)を集計するSQLクエリをやった時のBigQueryでの集計結果 | GA4+BigQueryでデバイス/OS/ブラウザ別のUU数を集計するSQL

■ GA4(Googleアナリティクス4)探索画面での集計結果

また、GA4での探索画面での集計結果は、以下のようになる。

 デバイス/OS/ブラウザの組み合わせごとのユニークユーザー数(UU数)を集計するSQLクエリをやった時のGA4(Googleアナリティクス4)探索画面での集計結果 | GA4+BigQueryでデバイス/OS/ブラウザ別のUU数を集計するSQL

BigQueryの集計結果と、GA4の探索画面での集計結果が一致したことがわかる。

この記事の執筆者

Akifumi Watanabe

Webディレクター・上級Web解析士。 Google Analytics Certification保有。 GA4Queryの記事作成担当。 Web分析を活かした制作ディレクションを中心に行う。 元制作者の目線を活かしweb改善に取り組む。