データ分析とインテリジェンス

[GA4+BigQuery] ページタイトル別/ページURL別のpv

ページのタイトルやURL別にpvを集計するクエリ

説明は後半にして先にクエリを書いておく。_table_suffixでは実行日前日のデータを集計対象にしている。

#前日のページタイトル別のpv数
SELECT 
 (select value.string_value from unnest(event_params) p where p.key = 'page_title') as page_title
,count(1)
FROM `xxxxxxxxxx.xxxxxxxxxx.events_*` #プロジェクトIDとデータセット名
where event_name='page_view'
and _table_suffix = format_date('%Y%m%d',date_add(current_date("Asia/Tokyo"),interval -1 day))
group by 1
#前日のページURL別のpv数
SELECT 
(select value.string_value from unnest(event_params) p where p.key = 'page_location') as page_url
,count(1)
FROM `xxxxxxxxxx.xxxxxxxxxx.events_*` #プロジェクトIDとデータセット名
where event_name='page_view'
and _table_suffix = format_date('%Y%m%d',date_add(current_date("Asia/Tokyo"),interval -1 day))
group by 1

ページのタイトルやURL別にpvを集計するクエリの説明

pvを集計する時に気を付ける事

  • イベント名を絞り込む
  • keyはpage_titleとpage_location

イベント名を絞り込む。

GA4+BigQueryの場合イベント単位でレコードが出来る。session_startやfirst_visitのように他のイベントも記録されているのでwhereの中で「event_name='page_view'」に絞り込む。

keyはpage_titleとpage_location

page_titleとpage_locationにそれぞれの値が入っている。

page_titleはイベントが発生した時点の値。途中で変えたりページを読み込んでから翻訳されたりすると変わってしまう(らしい)。

page_locationでは余計なパラメータがついたりする。あとpage_urlではない。

どちらにしてもちゃんと取るなら整理が必要なので悩ましい。

カテゴリー:データ整備