Looker Studioで「Google Analytics 4の月別・週別・日別レポート」を作ってみた

 

Googleのサービスの「Looker Studio(旧データポータル)」を使って,Google Analytics 4のデータを使った月別・週別・日別レポート(ダッシュボード)を作ってみました.週別(週次)レートでは,「週(ISO年のISO週)」毎でアクセスデータをまとめたレポートです.

1.はじめに

Google Analytics(ユニバーサルアナリティクス)が2023年6月末でサービスが終了しました.記事「データポータルで「Google Analytics 月・曜日・日・時間軸レポート」を作ってみた」や記事「データポータルで「Google Analytics 週別(週次)レポート」を作ってみた」で紹介したレポートはユニバーサルアナリティクスのデータを使ったものだったので,今回はGoogle Analytics 4(GA4)のデータを使って同様の月と週と日のレポートを作ってみました.

使用するデータはGoogleが提供しているデモアカウント「GA4 – Google Merch Shop」のものです.詳しくは以下の公式ヘルプを参照してください.

[GA4] デモアカウント

Google Merchandise Store と Flood-It! のデータを使った実践的な学習

これまでのユニバーサルアナリティクスのレポートと同じくすべてのページの上段には,フィルタ(コントロールボタン関連)が設置されていて,期間をデフォルト以外に変更したり,地域を絞れたり,チャネルやデバイスなどを絞れたりします.ある特定の流入(特定の広告からの流入)のデータをすぐ確認したいというレポートというのではなく,全体を確認して,さらに気になるところを見つけたり確認したりするためのレポートという想定です(例えば,ある種の広告からの流入をすぐに確認したいなら,それに対応したフィルタをはじめからしたレポートを別に作ればよいというスタンスです).

また,プリントアウトが必要な場面は少ないかもしれませんがA3サイズに印刷することを想定して,レポートの縦と横のサイズ比はA版用紙とあわせています.

時間と曜日を使ったレポートは,記事「Looker Studioで「Google Analytics 4の曜日と時間と属性などのレポート」を作ってみた」を,流入・ユーザー獲得やランディングページなどのレポートは記事「Looker Studioで「Google Analytics 4の流入・獲得レポート」を作ってみた」を見てください

 

2.週別レポートで使う「ISO週番号」の説明

この節の内容は記事「データポータルで「Google Analytics 週別(週次)レポート」を作ってみた」と同じものです.

週別のレポートを作るにあたり,Looker Studioで使えるGoogle Analyticsのデフォルトのディメンション「ISO年のISO週」を使います(図1参照).

図1.Looker Studioで使えるGoogle Analyticsのディメンション「ISO年のISO週」

図1.Looker Studioで使えるGoogle Analyticsのディメンション「ISO年のISO週」

 

ISO週番号とは,日付と時刻の評に関するISOの国際規格(ISO 8601)に準じたものです.詳しくはWikipedia「ISO 8601」などを参照してください.

要約すると,ISO 8601における週(ISO週)では,週は月曜日を週の第一日(週は月曜日から始まる)とし,これに従って週番号が定められます.また,ISO週では,週を基準にした年,週年(ISO週年)が用いられます.

ISO週では,1月の最初の木曜日を含む週をその年の第1週と定義し,最終週は52または53(週の数が52または53)となります.これにより通常の日付の「年」と「ISO週年」と異なる場合があります.

具体的には,

2019年第52週:2019年12月23日~2019年12月29日
2020年第1週:2019年12月30日~2020年1月5日
2020年第2週:2020年1月6日~2020年1月12日
・・・
2020年第52週:2020年12月21日~2020年12月27日
2020年第53週:2020年12月28日~2021年1月3日
2021年第1週:2021年1月4日~2021年1月10日
2021年第2週:2021年1月11日~2021年1月17日

となります.

図2.2019,2020,2021年の12月と1月のカレンダー

図2.2019,2020,2021年の12月と1月のカレンダー

 

なおISO 8601では,週年・週番号・曜日をつかって「YYYY-Www-DD」という表記定められています.「YYYY」の部分に週年,「W」はそのままで「ww」の部分に週番号,「DD」の部分には曜日番号(weekday number)を代入します.曜日番号とは曜日を1~7の数字で表す番号で,月曜日(1日目)が「1」,日曜日(7日目)が「7」となります.例えば,2019年12月31日は,2020年第1週火曜日(2日目)なので「2020-W01-02」と表記されます.

さて,記事「データポータルで「Google Analytics 週別(週次)レポート」を作ってみた」の4節で詳しく書きましたが, ISO週番号(ISO 8601)と,レポートで使ったGoogle Analyticsの「ISO年のISO週」が違っていました.GA4の「ISO年のISO週」がどうなっているかは現在のどうなっているのかは確認できていません.

 

3.月別・週別・日別レポート

作ったレポートは

[閲覧用] Google Analytics 4:月別・週別・日別レポート (GA4 – Google Merch Shop)

で閲覧できます.レポートは全部で5ページあります.

アクセスしてもらうとわかりますが,表示されるまでにかなり時間がかかります.これはデータとして使っているデモアカウントが原因だと思います.自分のサイトのデータを使った同じレポートだと,表示にこのような時間がかかりません.UAでのデモアカウントを使った同様のレポートではこのような著しい表示の遅さがなかったので,これも改悪の1つだと思います.

また,

Looker Studioで上限に達したら? Googleアナリティクス Data APIの割り当て上限について

にあるように,Looker StudioとGA4を接続するAPI制限が昔より厳しくなったので,このような誰でもアクセスできる環境にすると上記のリンクを閲覧してもエラーでまともに見ることができない可能性があります.そこで上記のレポートをpdfで出力したものも用意しました.

1ページ目は月別レポートです.上部にはアクティブユーザー数と新規ユーザー数とセッションとコンバージョンの過去1年の月毎の棒グラフで,その前の期間と比較も表示されています.また同時に,各指標の累計の折れ線グラフ(右軸対応)を載せています.こちらも前の期間との比較があります.下には,月毎の集計値のテーブルがあります.デフォルトの表示期間は,先月から24ヶ月前の期間を設定しています.なお4つのグラフは,上記にある期間のコントロールボタンに対応していません(コントロールボタンで期間をいじっても変化しません).

図3.月別レポート

 

2ページ目は週別レポートのアクティブユーザー数と新規ユーザー数とセッションとコンバージョンの過去1年の月毎の棒グラフと,それら各指標の累計の折れ線グラフ(右軸対応)です.デフォルトの表示期間は,前日を含む週から53週前まであり,前年と比較もあります.ISO週のルール(1月の最初の木曜日を含む週をその年の第1週と定義し,最終週は52または53である)のため比較での週番号がズレる場合があることや,グラフの両端ではデータが欠損している箇所があることに注意してください.

図4.週別レポート(グラフ)

 

3ページ目は週別レポートのテーブルです.これらテーブルはデフォルトでは「ISO年のISO週」の降順で並んでいて,デフォルトの表示期間は前日を含む週から60週前までとしています.60週としたのは,1年前の同じ時期と比べやすくするためで,かつ余裕をもためせるためのそうしました.月曜日以外の曜日が表示期間の最初の日だと,そのときの1行目のデータは「ISO年のISO週」で表示された該当の7日間より短い日数のデータを集計した値となっていることに注意してください.

図5.週別レポート(テーブル)

 

4ページ目は日別レポートのアクティブユーザー数と新規ユーザー数とセッションとコンバージョンの過去1年の月毎の棒グラフと,それら各指標の累計の折れ線グラフ(右軸対応)です.デフォルトの表示期間は,前日から90日前です.流入は曜日による影響が大きい場合が多いのと,グラフが細かいので前の期間との比較はいれていません.

図6.日別レポート(グラフ)

 

5ページ目は週別レポートのテーブルです.テーブルは2つあり,上のテーブルは,デフォルトで前日から35日前までが日付の降順でならんでいます.下のテーブルは,前年の同時期のデータを比較しやすいように,前日の366日前から401日前のデータとなっています.この下のテーブルは,上記にある期間の

図7.日別レポート(テーブル)

 

日別レポート(テーブル)では,図8のようにディメンションで「日付」と「曜日の名前」を使っています.「曜日の名前」は図8のように英語表記です.GA4のデータ内のディメンションには「曜日」というものも存在します.こちらを使った場合が図9です.2023年9月3日現在,ディメンション「曜日」の内容がおかしいことがわかるでしょうか..まず「日曜日」がなく「7」という番号になっています.これは元データに月曜から日曜に1~7の番号を振っていて,変換したときに「7」だけ変換されていないのだと思います.ただそれだけならまだいいですが,日付と曜日の関係があっていません(例えば,2023年9月1日は金曜日ですが,図9のように土曜日とされています).この酷さにちょっと驚きました.このような初歩的なミスが放置されているのも驚きましたが,ある会社が販売しているLooker Studioを使ったGA4のレポートではこの間違っている「曜日」の指標をそのまま使って曜日別レポートを作っていました.

図8.ディメンション「日付」と「曜日の名前」

図8.ディメンション「日付」と「曜日の名前」

 

図9.ディメンション「日付」と「曜日」

図9.ディメンション「日付」と「曜日」

 

4.レポートで使った指標の説明

GA4とユニバーサルアナリティクスは計測の思想が大きく異なるので,レポートの指標をどうするかを考える必要がありましたが,以下のようなものを選んでみました.

アクティブユーザー数,
新規ユーザー数,
セッション,
エンゲージメントのあったセッション数,
直帰率,
ユーザーあたりのセッション数,
セッションあたりのページビュー数,
平均セッション継続時間,
コンバージョン,
セッションのコンバージョン率

アクティブユーザー数は「ユーザーに1秒以上画面が前面に表示されたユーザー数」のことで,GA4の標準レポートで「ユーザー」として示されるものに該当します.「ユーザーあたりのセッション数」は「セッション÷アクティブユーザー数」という値で,アクティブユーザー数を使って計算した値になります.

直帰率の定義は,ユニバーサルアナリティクスと変わったので注意してください.まず,「エンゲージメント率 = エンゲージメントのあったセッション数÷セッション数」というものがGA4で導入されました.エンゲージメントのあったセッション数とは,「エンゲージメント(=10秒以上の滞在、コンバージョンイベントの発生、2ページあるいは2画面以上の閲覧)が発生したセッション数」です.そして,GA4では「直帰率 = 1-エンゲージメント率」と計算されます.

セッションのコンバージョン率は,「コンバージョンしたセッション数÷セッション数」で計算されています.デモアカウント「GA4 – Google Merch Shop」においてコンバージョンとして設定されている項目は10個あります(図10参照.権限の関係でONになっているかはわかりにくいですが,登録されている「コンバージョンイベント」のすべてがオンになっているのがわかります).これらコンバージョンと設定されているとそのうちのどれか1つでも満たせばそのセッションは,コンバージョンしたセッションになりカウントされると思います.

図10.デモアカウント「GA4 - Google Merch Shop」のコンバージョン設定

図10.デモアカウント「GA4 – Google Merch Shop」のコンバージョン設定

 

5.おわりに

上述しましたがデモアカウントのデータを使ったレポートの表示が異常に遅いです.

また,レポートをコピーして違うデータソースで使おうとしたとき,データとしてあるはずのディメンションや指標が一覧に表示されず(取り込まれず)に,レポートで使えないなどの現象も起きました.この問題はデータソースで一度すべてのデータリンクを削除して再度接続することで問題は解決できましたが,4節でのディメンション「曜日」のことも含めて,どうなっているんだと思うことがまだまだ多いと感じます.