Qlik SenseでGA4のデータを分析する
更新日:2 日前
Webサイトのアクセス分析はGA4のデータをQlik Senseアプリにするのが便利です。初めての方向けにまとめておきました。
※2025年2月時点のQlik Cloudを利用しています。
※GA4の仕様を分かっていない部分もあり、内容の不備は随時修正します。
■GA4データをQlik Senseアプリで分析するメリット
GA4だけで十分?それともさらに一歩進んだ分析を目指す?
GA4(Google Analytics 4)は、非常に優れたWebアクセス解析ツールです。初期設定を終えるだけで、豊富な分析用レポートを手軽に参照できるため、サイトの基本的な分析には十分対応できます。
しかし、GA4の分析視点はどうしても限定的になりがちです。他のデータと統合して詳細な分析を行いたい場合や、より複雑なデータの相関や傾向を把握したい場合には、少し物足りなさを感じることもあるかもしれません。
そこで、Qlik Senseアプリを活用することで得られるメリットをご紹介します!
▼Qlik Senseアプリのメリット①:他データと統合して分析できる!
GA4は優れたアクセス解析ツールですが、分析したいデータがGA4に存在しない場合、少し困ってしまうことがあります。例えば、私が今回試みたのは「本ブログの執筆者ごとのアクセス状況」を分析することでした。
ところが、GA4では執筆者が誰かという情報を直接取得することはできません。そのため、この段階で早くも壁にぶつかってしまいました。
データ統合で執筆者分析がもっと便利に!
そこで、ブログ記事データと執筆者情報をExcelでマスタデータ化し、Qlik Senseアプリで統合しました。Qlik Senseなら複数のデータを簡単に結びつけられるので非常に便利です。
統合の結果、執筆者ごとのアクセス分析が可能になっただけでなく、公開後にページタイトルやURLを変更した記事の管理にも役立ち、分析の精度と効率が大きく向上しました!
▼Qlik Senseアプリのメリット②:自由度の高い分析とレポート作成
GA4では用意された定型レポートを使った分析が中心ですが、Qlik Senseアプリを使えば、自分のニーズに合わせたレポートやダッシュボードを自由自在に作成できます。その柔軟性は非常に魅力的です。
今回も、1日あたりのページビュー数を可視化したり、執筆者ごとのブログ記事数を集計したり、さらにはブログ記事以外のページを分析対象から簡単に除外したりと、思い通りの分析を実現できました。これらの操作がスムーズに行えるおかげで、データを深掘りして気づきを得るスピードが格段に上がります。
■GA4データ取り込みの基本
ひとまずのGA4のデータを取得するための基本操作は「GA4(Google Analytics4)からデータを読み込み!」をご確認ください。
■GA4基本項目のQlik Senseアプリへのリロード
GA4からデータを取得する際は「Dimensions(軸)」と「Metrics(メジャー)」と「Date range(期間)」を指定します。
>あわせて読みたい:「Qlikで学ぶデータ分析 第2回:分析の「メジャー」と「軸」」
下図はQlik SenseのGA4接続画面の例です。これであとは必要そうな項目をすべて選んでおけばいいかと思ったのですが、項目によってデータ取得期間に制約があったため独自に選定した制約のない項目を共有します。コピペして接続設定画面に入力ください。
※取得期間に制約のない項目
▼dimensions
date,dateHourMinute,pageTitle,pagePath
▼metrics
activeUsers,sessions,screenPageViews,scrolledUsers,userEngagementDuration

※ 2025/2/15時点で実践したところ下記の仕様が確認できたので留意点としてメモします。
留意点1.Dimensionsの数は最大9個まででした。
The following parameter validation errors were found: dimensions: Dimensions (comma separated) is invalid - a maximum of 9 dimensions can be specified
留意点2.Metricsの数は最大10個まででした。
The following parameter validation errors were found: metrics: Metrics (comma separated) is invalid - a maximum of 10 metrics can be specified
留意点3.設定する項目によってデータ取得できる期間が異なる
Dimensions、Metricsともに全期間分が取得できない項目がありました。詳細は調査していませんが、項目によっておそらく「過去2ヶ月間」までしか取得できない項目がありました。GA4の設定で14ヶ月にできるようなので今後は試してみようと思います。
留意点1.Dimensions最大数のエラー例 | 留意点2.Metrics最大数のエラー例 |
![]() | ![]() |
留意点3.設定する項目によるデータ期間の違い(※確認したもののみ記載しています)
カテゴリ | 項目名 | 内容 | 最大データ期間 |
---|---|---|---|
Dimensions | pageReferrer | リファラー、ページの参照元 URL | 過去2ヶ月 |
Dimensions | newVsReturning | 新規ユーザーフラグ | 過去2ヶ月 |
Dimensions | filename | ダウンロードのパス | 過去2ヶ月 |
Dimensions | landingPage | ランディングページ | 過去2ヶ月 |
Dimensions | browser | 利用ブラウザ | 過去2ヶ月 |
Dimensions | region | 利用地域、都道府県など | 過去2ヶ月 |
Dimensions | firstSessionDate | yyユーザーの最初のセッションが発生した日付 | 過去2ヶ月 |
Dimensions | firstUserSource | ユーザーを最初に獲得した参照元 | 過去2ヶ月 |
Metrics | averageSessionDuration | ユーザーの平均セッション時間(秒) | 過去2ヶ月 |
Dimensions | deviceCategory | 端末の種類 | 全期間 |
Dimensions | date | 日付 | 全期間 |
Dimensions | dateHourMinute | 日付時間分 | 全期間 |
Dimensions | pageTitle | ページタイトル | 全期間 |
Dimensions | pagePath | ページパス | 全期間 |
Metrics | sessions | セッション数 | 全期間 |
Metrics | activeUsers | アクティブユーザー数 | 全期間 |
Metrics | screenPageViews | ページビュー数 | 全期間 |
Metrics | scrolledUsers | pページの90%以上をスクロールダウンしたユーザー数 | 全期間 |
Metrics | userEngagementDuration | ユーザー端末のフォアグラウンドに表示された時間の合計(秒) | 全期間 |
■データ期間に制約のある項目のリロードと対策
GA4では、一部のデータ項目について過去2ヶ月分(or 14ヶ月分)しか取得できない制約があります。このまま放置すると、それ以前のデータは消えてしまい、直近2ヶ月分のみの分析しか行えなくなります。
そこで、Qlik SenseのQVD出力機能を活用し、データを定期的に保存することで長期間のデータを確保できます。この方法を使えば、期間制限のあるデータも過去から現在まで一貫した分析が可能になり、トレンドやパターンをより正確に把握することができます。
データを失わないためにも、リロード設定やQVD保存の活用をぜひ検討してみてください!

取得期間が限定される項目を取得するとそれ以外項目にも影響します。私が独自に選定した項目を共有します。コピペしてご利用ください。
※取得期間に2ヶ月間の制約ある項目を含む設定例
▼dimensions
date,dateHourMinute,pageTitle,pagePath,pageReferrer,newVsReturning,landingPage,firstSessionDate,firstUserSource
▼metrics
activeUsers,sessions,screenPageViews,scrolledUsers,userEngagementDuration,averageSessionDuration
■アプリ作成初期状態のデータ準備
データ取得期間に制約のないデータについては長期に取得しておきたいので、アプリを最初に作成する時点で全期間のデータはQVD出力しておきます。これにより今後のリロード時間を短縮しつつ、最初期時点で取得できるデータを確保します。
その上で直近の2ヶ月制約があるデータを別クエリで取得して両方をマージすることでひとつのテーブルに統合した分析が可能です。公開運用後は前項にあるように直近2ヶ月制約のデータを定期的にQVD出力することで分析データを蓄積管理していきます。
最初期に全期間データを取得する際には、期間制約のあるデータは空白’’として取得しておきます。こうすることで直近データと項目名が同じになるのでQlik Senseアプリ内でテーブルをマージすることができます。
▼全期間データのLOAD文の例 空白をas 句で指定している行が期間制約のある項目です | ▼期間制約のあるデータのLOAD文の例 制約のないデータも合わせて取得しておきます |
LOAD [date], [dateHourMinute], [pageTitle], [pagePath], '' as pageReferrer, '' as newVsReturning, '' as landingPage, '' as firstSessionDate, '' as firstUserSource, [activeUsers], scrolledUsers, userEngagementDuration, '' as averageSessionDuration, [sessions], [screenPageViews]; | LOAD [date], [dateHourMinute], [pageTitle], [pagePath], [pageReferrer], [newVsReturning], [landingPage], [firstSessionDate], [firstUserSource], [activeUsers], [scrolledUsers], [userEngagementDuration], [averageSessionDuration], [sessions], [screenPageViews]; |
■困ったポイント:SPAの影響
Qlik Senseアプリにデータを取り込み、いざ分析を始めようとした際、ブログ記事を特定する項目として「ページURL(pagePath)」を使用しようとしました。しかし、GA4のデータの中で、同じpageTitleに対して複数のpagePathが記録されているケースが多数見つかりました。そのうえ、pageTitleとは関連のないpagePathも多く、これではブログ記事を正確に特定できないことが判明しました。
そこで少し調査を進めたところ、**SPA(シングルページアプリケーション)**が影響している可能性があることがわかりました。SPAの特性により、ページの遷移があってもURLが変化しないことがあるようでおそらくそれのせいかと思い、pagePathではなくpageTitleでブログ記事を特定することにしました。
>参考リンク:[GTM] GA4によるSPA計測の罠と対策
pageTitleも公開後に変更されることはあるので、そこは手動になりますが下記のようなマスタを準備して乗り切ることにしました。「タイトル」とGA4の「pageTitle」をキーにして関連付けています。

※GA4データ分析アプリのサンプル画面

【参考記事】
▼Ayudante,Inc.:[GTM] GA4によるSPA計測の罠と対策
▼AIアナリストブログ:GA4のデータ保持期間は2か月?今やっておくべき設定と注意点を解説
以上
Comments