トレジャーデータでGA4のデータを活用している方は多いと思います。ただ、現在、「UA -> トレジャーデータ」で業務を行っていて、「GA4 -> トレジャーデータ」に移行される場合は、多少戸惑いを覚えるかも知れません。
この記事は、GA4に移行される際に、少しでも戸惑いを少なくするためにお役立てましたら幸いです。
大前提:「GA4 -> トレジャーデータ」はAPIを叩く
トレジャーデータがGA4のデータを引っ張って来るという場合、BigQueryからインポートする様子を想像される方もおられるかも知れません。そういう方法も勿論あるのですが、全てのGA4ユーザーが、BigQueryにデータをエクスポートしているわけではないことを考えると、トレジャーデータ側は、APIによる取り込みを優先的に考えざるを得ません。
Dimensions(ディメンション) と Metrics(指標) の組み合わせ
GA4 API には、Dimensions(ディメンション) と Metrics(指標) の組み合わせにおいて、
「組み合わせできる」「組み合わせできない」
が仕様上決まっています。
「Compatible Fields(互換フィールド)」という名前の仕様です。
「組み合わせできる」「組み合わせできない」を確認する方法として、Googleは下記のツールを用意しています。
GA4 Dimensions & Metrics Explorer
https://ga-dev-tools.google/ga4/dimensions-metrics-explorer/
このツールで、
Dimensions または Metricsを選択すると、
Dimensionsを選択した場合=互換性のないMetricsはグレーアウトされます
Metricsを選択した場合=互換性のないDimensionsはグレーアウトされます
ケース:「各ページへのアクセス数をすべての流入経路別に知りたい」というニーズがある場合を考えます。
ここで「アクセス数」は計測可能な指標の言葉を選ぶ必要があるので、いったん「セッション数」と置き換えます。
DimensionsにpagePathPlusQueryStringを選択。
欲しいデータは、以下の2点だと仮定します。
欲しいデータ1:
pagePathPlusQueryStringを指定した場合の
sessionSource 毎のsessions
欲しいデータ2:
pagePathPlusQueryStringを指定した場合の
sessionMedium 毎のsessions
先に上記「GA4 Query Explorer」にてDimensionsにpagePathPlusQueryStringを選択してみると、この時点で選択可能なMetricsの中にsessionsは無いので、選択可能なScreenPageViewsを選択します。
ScreenPageViewsとは:
ユーザーが閲覧したアプリの画面またはウェブページの数。同じページやスクリーンが繰り返し表示された場合も集計されます(screen_view イベントと page_view イベント)。
同時に選択できる、sourceまたはmediumの文字列を含むDimensionsはありませんので、
にて、一旦、上記のオレンジ色の文字で表示されている、Query Explorerをクリックします。
クリックすると、
GA4 Query Explorer
https://ga-dev-tools.google/ga4/query-explorer/
に遷移しますので、下記の画面で、いったんDimensionsに、「sessionSource」を追加します。
そして、
をクリックします。
この組み合わせだと、Errorになります。
「sessionSource」を「source」に変更してもエラーが出ます。
ここで、GA4 API の仕様を調査して分かったことは、
UTMパラメータによる計測、参照元/メディアは、
× pagePathPlusQueryString には仕様上紐づかない。
ただし、
〇landingPagePlusQueryString には紐づくということです。
landingPagePlusQueryString
ランディング ページ + クエリ文字列
セッションの最初のページビューに関連付けられたページ階層とクエリ文字列。
UTMパラメータによる計測、参照元メディアは、「セッション開始時にどこから来たか?」というデータなので、landingPagePathPlusQueryStringにしか紐づかないと明記された公式ヘルプは見つかっておりませんが、検証結果から、そうなることが推測されます。
以上を踏まえて、
Dimensions に、
landingPagePlusQueryString、sessionMedium、sessionSource
Metrics に、ScreenPageViews
を選択すると、
上記のような結果が得られます。
Dimensions に、
landingPagePlusQueryString、sessionSourceMedium、
Metrics に、
ScreenPageViews
を選択すると、下記の結果が得られます。
ここまでで、
「ランディングページ」「参照元/メディア」「PV数」
のデータが得られました。
ここから更に、特定の「ランディングページ」のデータだけ得たいとなると、フィルター機能を使わざるを得ません。
上記の場合、/archives/3361の前方一致です。
トレジャーデータでフィルターを使いたい場合ですが、ここからは、弊社側でトレジャーデータに触ることができないため、「こうなるはず」という情報となります。
「MAKE REQUEST」の右の「Show request JSON」をクリックしてください。
上記のようにJSON形式のフォーマットが表示されます。これを、
トレジャーデータの Advanced Payload に貼り付けて実行してみてください。
トレジャーデータのヘルプによれば、
https://docs.treasuredata.com/display/public/INT/Google+Analytics+Data+API+Import+Integration
Advanced Payloadは、JSONフォーマットでリクエストが投げられると書いてあります。
Advanced Payload | Advanced report definition in JSON format. |
ご説明はここまでとなります。
ご参考:GA4のAPIで扱うことができるデータは、BigQueryで扱うことができるデータと比べると、ディメンションと指標の組み合わせに制限があります。
GA4のAPIで扱うことができるデータは、BigQueryで扱うことができるデータと比べると、ディメンションと指標の組み合わせに制限があります。なぜ、BigQueryのデータではできることが、APIでは制限があるのでしょうか?
Google Analytics 4(GA4)のAPIとBigQueryとの間にディメンションと指標の組み合わせに制限がある理由は、主に以下の点にあります。
- パフォーマンスと効率: GA4のAPIは、リアルタイムでデータを取得することを目的として設計されています。ディメンションと指標の組み合わせに制限を設けることで、APIリクエストのパフォーマンスが向上し、より効率的にデータを取得できます。一方、BigQueryは大規模なデータセットを扱うことを目的としており、クエリ実行にかかる時間が長くても許容されることが一般的です。
- 複雑さの管理: GA4のAPIでは、ユーザーがシンプルでわかりやすいインターフェースを使用してデータを取得できるように、ディメンションと指標の組み合わせが制限されています。これにより、ユーザーはAPIを利用して簡単にデータを取得できます。BigQueryでは、ユーザーがSQLクエリを使用してデータを操作し、より柔軟なデータの組み合わせを扱うことができますが、その分複雑さが増します。
- データの整合性: GA4のAPIでは、ディメンションと指標の組み合わせに制限を設けることで、データの整合性を維持することができます。一方、BigQueryでは、ユーザーがSQLクエリを使用してデータを操作するため、データの整合性を維持する責任がユーザーに委ねられています。
これらの理由から、GA4のAPIではBigQueryと比べてディメンションと指標の組み合わせに制限が設けられています。ただし、APIの制限によってデータ分析が困難になる場合は、BigQueryを使用してより詳細な分析を行うことができます。
コメント