GTMのカスタムJavaScript変数で GA4 に曜日を計測実装する方法

2026年1月13日火曜日

6.GA4

t f B! P L
GTMのカスタムJavaScript変数で GA4 に曜日を計測実装する方法


JavaScriptの勉強がてら Google タグマネージャーを使い GA4 の計測実装を色々と試してみるシリーズです(不定期)。


なぜ GA4 で曜日を計測したくなったのか

 GA4 のデータコネクタで接続した Looker Studio ではディメンションに「曜日」や「曜日の名前」があります。

Looker Studio での GA4 データコネクタ「曜日」と「曜日の名前」

しかし、 GA4 では前述の「曜日」や「曜日の名前」のような曜日に関するディメンションは探索レポートでも存在しません。

GA4 探索レポートには曜日のディメンションが存在しない!

「平日と休日でユーザー数が平均で多いのはどちらだろう?」とか「曜日別でPV数の多い時間帯はどこだろう?」とか考えついても、 GA4 の探索レポートでサクッと集計できません。不便ですね。

そこで Google タグマネージャーのカスタムJavaScriptを使って、 GA4 の各イベント内にパラメータで曜日を計測させてみます。


JavaScriptでタイムゾーンから曜日を判別する

 Google タグマネージャー内で設定したJavaScriptは以下です。

function() {
    var tz = -9;
    var now = new Date(Date.now() - (tz * 60 - new Date().getTimezoneOffset()) * 60000);
    var dayOfWeekList = [
        "Sunday", 
        "Monday", 
        "Tuesday", 
        "Wednesday", 
        "Thursday", 
        "Friday", 
        "Saturday"
    ];
    return dayOfWeekList[now.getDay()];
}

JavaScriptの内容

  • 基準となるタイムゾーンを「-9時間」に設定

var tz = -9;


  • 実行している環境のローカル時間がUTCから何分ずれているかを取得し、1分間をミリ秒(1000ms × 60s)に変換

var now = new Date(Date.now() - (tz * 60 - new Date().getTimezoneOffset()) * 60000);


  • 曜日の名前を配列として定義

var dayOfWeekList = [
    "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"
];

JavaScriptの getDay() メソッドは、日曜日を0、土曜日を6とする数値を返す。
この配列の順序と一致するようになる。

  • 日時オブジェクトから曜日番号を取り出し、配列から名前を抽出して返す

return dayOfWeekList[now.getDay()];

数値をインデックスとして、"Monday" などの文字列を返す。


GTMで GA4 の計測実装する

  • 変数にカスタムJavaScriptで設定
GTMで曜日を取得するカスタムJavaScriptを変数に設定

  •  GA4 のイベントにパラメータの値として作成したカスタムJavaScript変数を設定
GA4 のイベントにパラメータの値として作成したカスタムJavaScript変数を設定

 GA4 での計測実装内容を検証

 Chromeのデベロッパーツールでパケットキャプチャにて検証

Chromeのデベロッパーツールで曜日パラメータと値を確認



  Google タグマネージャーのプレビューモードで確認

Google タグマネージャーのプレビューモードで曜日パラメータと値を確認



  GA4 のDebugViewで確認

GA4 のDebugViewで曜日パラメータと値を確認


GA4 の探索レポートで集計データを確認

  • 計測実装したパラメータをカスタムディメンションに設定しディメンション化
曜日別のPV数

曜日に加えて時間帯別のPV数も確認できるように。
すごく見にくいけど。

曜日×時間帯別のPV数


ひとりごと

注意ごとや感じたことを各ひとことで。
  • 曜日名の接頭語に数字を設定すると、作成した曜日ディメンションの昇順や降順で並び替えしやすそう
  •  GA4 は標準のディメンションで曜日ディメンションを実装してくれ

QooQ