コピペで使えるLooker Studioの計算フィールド【GA4 時間軸】


こんにちは!JADEでGA4の活用支援やアクセス解析の領域を担当している郡山です。

スプラトゥーンはスシが好きです。Xマッチの低レート帯をうろちょろしています。

 

本日は普段からよく利用している「Looker Studio」の便利な機能についてご紹介したいと思います。

 

私は広告やGA4、Search Console、スプレッドシートなどのデータを利用したダッシュボードを作成するためのツールとしてLooker Studioを利用することが多いです。

デフォルトの機能でも扱いやすいダッシュボードを作成することはできますが、「計算フィールド」を利用することでLooker Studioはより一層便利になるのです。

 

というわけで、

  • 初級者の方向けのLooker Studioの基本的な仕組みの解説
  • 「日付」など時間軸に関する計算フィールドのご紹介

このようなお話をさせて頂きます。

 

今回ご紹介するものは特に、検討期間が長めの高単価商材やB2Bマーケティングで扱う商材におけるコンテンツの分析に大きな力を発揮します。

GA4のデータでご紹介していますが、その他のデータにも応用が効くものをセレクトしています。扱いやすいのでぜひ御覧ください。

 

これから学ぶ方も、Looker Studioに慣れている方も一緒に学びましょう!

 

Looker Studioの基本的な仕組み

Looker Studioにはコネクタという機能が備わっており、様々なデータと接続できます。

コネクタで読み込んで可視化・集計する元データのことを「データソース」と呼びます。

 

1つのダッシュボードで複数のデータソースをまとめて表示したり、データソースごとにページを用意するなど柔軟に利用することができます。

例)1ページ目にサイトAのGA4のデータを使ったグラフを配置

例)2ページ目にサイトBのGA4のデータを使ったグラフを配置

例)3ページ目にサイトAのGoogle 広告のデータを使ったグラフを配置

Looker Studioにデータソースを追加してグラフを表示する仕組み

1つのページで様々なデータソースのグラフを表示したり、データソースを統合して利用するなどさまざまな活用ができます。

「フィールド」とは

Looker Studioで扱うことができるデータを「フィールド」といいます。

Looker Studioに接続したデータソースに存在する情報を2種類のフィールドとして自動で分類してくれます。

  • ディメンション:分析軸となるテキストや日付などの形式のデータ
  • 指標:数値や通貨などの形式のデータ

Looker Studioのフィールドは「ディメンション」「指標」の2種類



「計算フィールド」とは

データソースから取得した標準のフィールドを編集して、独自のフィールドを作成・利用できるのが「計算フィールド」という機能です。

指標を組み合わせて四則演算(足し算・引き算・掛け算・割り算)で集計した結果を表示するものや、SUMやIFなどの関数を使って独自のフィールドを追加することができます。

 

計算フィールドについて - Looker Studioのヘルプ

計算フィールドで関数を使用する - Looker Studioのヘルプ

計算フィールドの追加、編集、トラブルシューティング - Looker Studioのヘルプ

 

データソースに計算フィールドを登録する方法

手順

ダッシュボードの各ページ、各グラフで利用することが多い計算フィールドは「データソース」に直接登録すると便利です。

編集モードの「リソース > 追加済みのデータソースの管理」から編集するか、

グラフを選択した状態で「データソース」の編集アイコンをクリックします。

グラフを選択した状態で「データソース」の編集アイコンをクリック

 

「フィールドを追加」から計算フィールドの設定画面を開くことができます。

データソースの編集から計算フィールドを登録する際の画面



保存した計算フィールドをグラフなどでセットすることができるようになります。

データソースに登録した計算フィールドは既存のフィールドと同じように利用可能

 

データソースに計算フィールドを登録するメリット/デメリット

メリット:ダッシュボードの中で何度も利用したい場合、グラフごとに登録する手間が省ける。計算フィールドを修正・削除するなどの管理がしやすい。

 

デメリット:データソースを別のものに切り替えると、グラフにセットしていた計算フィールドは使えなくなります。

1つのダッシュボードで様々なデータソースを切り替えて使うケースや、ダッシュボードを複製して別のデータソースでも利用したい場合は向いていません。

 

グラフに計算フィールドを登録する方法

手順

グラフに直接計算フィールドを登録することも可能です。

他のグラフでも使い回すことが無い場合は、こちらの方法で登録しても良いと思います。

まず、計算フィールドをセットしたいグラフをクリックして編集できる状態にします。

「ディメンションを追加」または「指標を追加」ボタンから「フィールドを追加」ボタンを押します。

グラフの編集画面から計算フィールドを登録する「フィールドを追加」

計算式を設定して「適用」ボタンを押せば、グラフに計算フィールドがセットされます。

 

グラフに計算フィールドを登録するメリット/デメリット

メリット:データソースを切り替えても、登録した計算フィールドを使い回すことができます。

 

デメリット:グラフごとに計算フィールドを登録する手間が発生します。計算フィールドを利用するグラフが多くなりすぎるとダッシュボードの表示速度が遅くなる懸念もあります。

また、計算フィールドを修正や削除したい場合はグラフごとに1つ1つ対応する必要があります。

 

例1)GA4のデータソースに「曜日」を追加

では、本題です。コピペで利用できる計算フィールドをいくつかご紹介します。

 

GA4プロパティをデータソースとして接続すると、

「曜日」「曜日の名前」というディメンションを利用することができます。

GA4プロパティをデータソースとして接続すると使える「曜日」「曜日の名前」ディメンション

詳しい仕様の解説は見送りますが、

「曜日」ディメンションは【正しい曜日の判定ができず、土曜日は 7 と記録する】

「曜日の名前」ディメンションは【英語で曜日を記録する】

というフィールドです。

月火水木金土日とシンプルに曜日を判定する計算フィールドを作成する場合は下記のように設定します。

月火水木金土日とシンプルに曜日を判定する計算フィールド
CASE
WHEN WEEKDAY(日付,'DEFAULT_DECIMAL') = 0 THEN '日'
WHEN WEEKDAY(日付,'DEFAULT_DECIMAL') = 1 THEN '月'
WHEN WEEKDAY(日付,'DEFAULT_DECIMAL') = 2 THEN '火'
WHEN WEEKDAY(日付,'DEFAULT_DECIMAL') = 3 THEN '水'
WHEN WEEKDAY(日付,'DEFAULT_DECIMAL') = 4 THEN '木'
WHEN WEEKDAY(日付,'DEFAULT_DECIMAL') = 5 THEN '金'
WHEN WEEKDAY(日付,'DEFAULT_DECIMAL') = 6 THEN '土'
ELSE 'other'
END

日付データを読み取って、各曜日を数値として認識させてから日本語名の曜日に置き換えている関数です。

CASE - Looker Studioのヘルプ

WEEKDAY - Looker Studioのヘルプ

 

例2)GA4のデータソースで「月火水木金土日」の並び順で表示できる「曜日」を追加

例1で作成した計算フィールドを「並べ替え」の設定で降順/昇順としても「月火水木金土日」といったカレンダー通りの並びにすることはできません。

 

その場合、グラフの「並べ替え」の編集ボタンから【並べ替えるための計算フィールド】を登録すると調整しやすいです。

「月火水木金土日」の並び順で表示できる「曜日」の計算フィールド
CASE
WHEN WEEKDAY(日付,'DEFAULT_DECIMAL') = 0 THEN '7'
WHEN WEEKDAY(日付,'DEFAULT_DECIMAL') = 1 THEN '1'
WHEN WEEKDAY(日付,'DEFAULT_DECIMAL') = 2 THEN '2'
WHEN WEEKDAY(日付,'DEFAULT_DECIMAL') = 3 THEN '3'
WHEN WEEKDAY(日付,'DEFAULT_DECIMAL') = 4 THEN '4'
WHEN WEEKDAY(日付,'DEFAULT_DECIMAL') = 5 THEN '5'
WHEN WEEKDAY(日付,'DEFAULT_DECIMAL') = 6 THEN '6'
ELSE 'other'
END

各曜日を数字に置き換えてあげる関数ですが、

デフォルトでは日曜日が0となっているので、並び順を最後にするために置き換えています。並べ替えを「昇順」にすれば月火水木金土日という並びにすることができます。

 

なお、グラフの並び替えでこの関数を多用する場合はやはりデータソース側に「曜日_並び替え用」といった計算フィールドを登録しちゃうのが楽ですね。

グラフごとに計算フィールドを仕込まなくて済むので楽です。楽って大事!

 

例3)GA4のデータソースで「訪問回数」のカスタムディメンションを数値形式に置き換える

GA4の扱いに慣れている方は「ga_session_number」という「ユーザーごとの訪問回数」を記録するカスタムディメンションをご設定されていることも多いのではないでしょうか?

私個人としてはカスタムディメンションとして実装しなくても、最初から利用できる標準のディメンションにしてほしいなと思っています。なんでや。なんで標準では無いんや。

 

「ga_session_number」を並べ替えで昇順にすれば、初回訪問 = 1,それ以降の訪問は2,3…と綺麗に整列してくれそうなものですが

昇順/降順でga_session_numberを並べ替えたグラフ

実際にはこのような並びになってしまいます。

これは、計算フィールドのタイプがテキスト形式であるためです。

「ga_session_number」で記録されるディメンションを数値形式に変換する計算フィールドを作成すれば数値の大小で並び替えをすることができます。

数値形式に変換したga_session_numberを昇順で並べ替えたグラフ
CAST(ga_session_number AS NUMBER) 

フィールドのタイプ(形式)をテキスト、数値、日付のいずれかに変更するCAST関数を利用しています。

CAST - Looker Studioのヘルプ

 

例4)GA4のデータソースで「訪問回数」で記録する結果を集約する

「ga_session_number」で記録された訪問回数を見ると、ユーザーがサイトを繰り返し訪問していることを確認できます。

一方で、事細かに記録された結果をすべて並べるとグラフがとても長い行・列になってしまいます。

そこで、15回目以降の訪問回数はすべて 15 と集約する計算フィールドもご紹介します。

ga_session_numberで記録する15回目以降の訪問はすべて 15 と集約する計算フィールド
CAST(CASE
WHEN ga_session_number = "1" THEN "1"
WHEN ga_session_number = "2" THEN "2"
WHEN ga_session_number = "3" THEN "3"
WHEN ga_session_number = "4" THEN "4"
WHEN ga_session_number = "5" THEN "5"
WHEN ga_session_number = "6" THEN "6"
WHEN ga_session_number = "7" THEN "7"
WHEN ga_session_number = "8" THEN "8"
WHEN ga_session_number = "9" THEN "9"
WHEN ga_session_number = "10" THEN "10"
WHEN ga_session_number = "11" THEN "11"
WHEN ga_session_number = "12" THEN "12"
WHEN ga_session_number = "13" THEN "13"
WHEN ga_session_number = "14" THEN "14"
ELSE "15"
END AS NUMBER)

記録されている訪問回数が1~14までなら、そのまま表示して、

それ以外の訪問回数はすべて15と判定して、最後に数値形式に置き換えています。

 

例5)GA4のデータソースで「経過日数」を判定する

GA4をデータソースすると「最初のセッションの日付」という、ユーザーごとの「はじめて訪問した日付」を確認することができます。

コンバージョンなどのイベントが記録されたセッションの「日付」から遡って、【初回訪問から何日経過したのか】判定する計算フィールドを作成してみます。

GA4プロパティをデータソースにすると利用できる「最初のセッションの日付」「日付」ディメンション

「日付」で記録された日は「最初のセッションの日付」から何日経過したのか集計する計算フィールド
IF(DATE_DIFF(日付,最初のセッションの日付) IS NULL,0,DATE_DIFF(日付,最初のセッションの日付))

「経過日数」を集計した計算フィールドをセットしたグラフ

最初のセッションの日付が記録されていないケースでは経過日数を0と判定するIFと、

2 つの日付の間の日数を計算するDATE_DIFF関数で経過日数を判定しています。

何日経過した時点でコンバージョンが発生したのかざっくり推察することができそうですね。

 

IF - Looker Studioのヘルプ

DATE_DIFF - Looker Studioのヘルプ

 

例6)GA4のデータソースで「経過日数」で記録する結果を集約する

経過日数も非常に様々な値を返すフィールドなので、「15日以上経過した場合はすべて15と判定する」計算フィールドを作成してみます。

「15日以上経過した場合はすべて15と判定する」計算フィールド
 

「15日以上経過した場合はすべて15と判定する」計算フィールドでコンバージョンを集計したグラフ
CASE
WHEN 例5)経過日数 = 0 THEN 0
WHEN 例5)経過日数 = 1 THEN 1
WHEN 例5)経過日数 = 2 THEN 2
WHEN 例5)経過日数 = 3 THEN 3
WHEN 例5)経過日数 = 4 THEN 4
WHEN 例5)経過日数 = 5 THEN 5
WHEN 例5)経過日数 = 6 THEN 6
WHEN 例5)経過日数 = 7 THEN 7
WHEN 例5)経過日数 = 8 THEN 8
WHEN 例5)経過日数 = 9 THEN 9
WHEN 例5)経過日数 = 10 THEN 10
WHEN 例5)経過日数 = 11 THEN 11
WHEN 例5)経過日数 = 12 THEN 12
WHEN 例5)経過日数 = 13 THEN 13
WHEN 例5)経過日数 = 14 THEN 14
ELSE 15
END

先に「例5)経過日数」を計算フィールドとして登録しておいて、

判定された経過日数ごとの記録を参照して1~14の値はそのまま表示、それ以外の値はすべて15と判定する計算フィールドです。

経過日数と訪問回数を組み合わせると面白そうですね。

何回目の訪問で、何日経過したタイミングでCVが発生したのか



最後に

Looker Studioは計算フィールドを使わなくても色んなことができて便利です。

そして、計算フィールドを使うと更に自由度が高まりダッシュボードづくりがしやすくなります。

 

私も過去に自分のブログで計算フィールドについて解説してみたり、

社外のセミナー登壇などでも計算フィールドについて紹介してきました。

Looker Studioでよく使う関数まとめ【コピペ利用可】|GAラボ

GA4×サチコ×Looker Studioで可視化! 現場で使われる“ダッシュボード”の作り方 | 【レポート】Web担当者Forumミーティング 2023 秋 | Web担当者Forum

 

Tableauなど、ダッシュボードを作成するBIツールの候補はLooker Studio以外にも沢山ありますが、無料で利用できるLooker Studioはやはり活用する機会が多いと感じています。

 

「ちょっとLooker Studio触ってみよ」という気軽な一歩を踏み出す足がかりになれると良いなぁと思いつつ今後も情報発信をしていきます。引き続きよろしくお願いいたします。

こんな活用の仕方もあるよ!

こんなこと教えてほしい!というご意見ご感想お待ちしています。それではまた!