*この記事はベトナム語と日本語で書かれており、2ページ目にベトナム語があります。
*Bài viết được viết bằng tiếng Nhật và tiếng Việt, bản tiếng Việt nằm ở trang thứ 2.
こんにちは、開発本部のカオ・ソン・ドゥックです。
現在開発本部では様々なデータをBigQueryで解析できるようにするプロジェクトを進めています。
この記事では、私がBigQueryとGoogle AnalyticsからBigQueryにデータエクスポートしたことについて紹介したいと思います。
BigQueryプロジェクトを開始した背景
当社はオンプレミスおよびAWS上で複数のデータベースを使用しています。そして、データベースから抽出するために、オンプレミス上のデータベースのバックアップをAWSのEC2上で起動しているmetabaseを解析用に使用しています。
通常のデータベースサーバーに重いクエリを実行すれば、当然障害になってしまいます。ですから、データを迅速に抽出できるデータウェアハウスが必要です。
他には、高速コンテンツ配信ネットワーク (CDN) サービス – CloudFrontのアクセスログもS3に保存されています。S3からBigQueryにデータをインポートすることもできます。
Google Analyticsでは、Webサイトのアクティビティに関連するメトリックを追跡しています。 Google AnalyticsとBigQueryを連携すれば、高速かつ柔軟に集計できて、生データの分析を実行すると、より詳細なビジネス上の質問に答えることができます。
BigQueryって何?
多くの大規模なデータソースから様々な解析を行うためには、潤沢なハードウェアとインフラストラクチャが必要です。それには当然時間とコストが多くかかる可能性があります。
BigQueryは、上述の問題を解決するために構築されたデータウェアハウスです。Googleが提供するクラウドサービスであり、メンテナンスや管理の問題を一切気にせずに解析業務が行えるのがメリットです。

調査フェーズ
BigQuery導入のために、まずはシステム調査を開始します。
BigQueryについて数日間学んだ後、Google Analytics 4(GA4) 分析データからBigQueryにエクスポートできるサービスが提供されていることを知りました。 うーん、かなり簡単です。
進みましょう。さらに調べてみると、実はそんなに簡単ではないことに気づきました。現在使っているAnalyticsバージョンがUniversal Analytics(UA)で、このバージョンでBigQueryにエクスポートするにはGoogle Analytics360のプレミアムバージョンにアップグレードする必要があります。
プレミアムバージョンのコストは年間約17,000,000円くらいです。
代わりに、プレミアムバージョンと比べてGA4バージョンは機能が豊富ではありませんが、無料です。
アナリティクスを導入済みのサイトの場合、既存のUAプロパティと並行してデータ収集を行うGA4プロパティを作成できます。
しかし、ウェブサイトに設置するタグはgtag.jsではなくanalytics.jsです。GA4設定アシスタントウィザードによって既存のタグを再利用することはできません。ですので、既存のGoogle Tag Managerを通じてタグを追加する必要があります。GA4を使用するために最初から各ページにタグを設定する方法と比較して、GTMを使用する方が最適な方法です。
UAのデータとGA4のデータモデルの比較について興味のある方は、以下のリンクを参照してください。
実装フェーズ
Google Tag Managerでトラッキング
GTMの特徴:
- Server-Side Tagging:サーバーサイドでGoogle Ads、Analytics、…などを管理する
- UIがある
- 優れたテスト機能
- バージョン管理
また、一部のページにはGTMがもう設定されているため、最初から各ページにトラッキングコードを埋め込む必要はなく、不足している部分にGTMを追加するだけです。
GA4 Link To BigQuery
リンクを設定するときに、BigQueryへのエクスポート頻度について2つのオプションを選択できます。
- Daily:1日に1回行われるデータのエクスポート
- Streaming:数秒以内の継続的なエクスポート
今のところリアルタイム更新は重要ではないので、Streamingではなく、1日1回程度エクスポートしています。Dailyで毎日エクスポートしています。通常、前日のデータは午前5時から6時の間に作成されたテーブルを見ることができます。
エクスポートされたテーブルで実際にクエリを実行してデータを取得してみます。以下のようなSQLを実行すると、2021/08/01から2021/08/15まで’https://prtimes.jp/service/’のPVsを確認することができます。
SELECT
(SELECT value.string_value FROM UNNEST(event_params) WHERE key = 'page_location') AS page_location,
COUNT(1) AS pageviews
FROM
`analytics_276758704.events_*`
WHERE
_TABLE_SUFFIX BETWEEN '20210801' and '20210815'
AND event_name = 'page_view'
AND (SELECT value.string_value FROM UNNEST(event_params) WHERE key = 'page_location') = 'https://prtimes.jp/service/'
GROUP BY 1
ORDER BY 2 DESC
結果:

残っている問題
2020年10月以降、GA4は新しいGoogleアナリティクスプロパティを作成する際にデフォルトの選択肢として昇格しています。これにより、BigQueryとの総合も標準化されます。
ただし、GA4はまだ初期段階にあるため、Universal360バージョンと比較してまだ多くの機能が不足しています。
GA4に切り替えた後、既存のUAをすぐにシャットダウンせずに、両方のUAとGA4を並行して実行できるようにする必要があります。
次は
収集すべきデータはまだたくさんあります。毎日新しいことを学び、知識が増えていきます。 このプロジェクトで学んだことをこれからも書き続けていきます。
ベトナム語が続く