Google AnalyticsのデータをBigQueryに自動同期し、Tableauで可視化する

## 概要
Google Analyticsを使うことでWebサイトなどのパフォーマンスを調べたり、アクセス解析をして改善点を見つけることができます。しかし、絶えず集められるデータをその都度分析し、最新の状態に保つのにはコストがかかります。そこで今回は、[trocco](https://trocco.io/lp/index.html?utm_medium=social&utm_source=qiita&utm_campaign=analytics_to_bigquery_tableau)という分析基盤向けデータ統合サービスを使い、Google Analyticsデータの抽出自動化＋DWH(データウェアハウス)への統合＋可視化までやってみようと思います。
今回、データの転送手段として採用した[trocco](https://trocco.io/lp/index.html?utm_medium=social&utm_source=qiita&utm_campaign=analytics_to_bigquery_tableau)は、Google Analyticsの他にも、様々な広告・CRM・DBなどのデータソースにも対応しています。
[troccoの使い方まとめ（CRM・広告・データベース他）](https://qiita.com/hiro_koba_jp/items/2b2caa040804e402bda7)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2216922/96e11bc7-ccd2-f468-515b-67a1d254cbe0.png)
## ゴール
Google AnalyticsのデータをこのようにBigQueryに統合し
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2216922/73dcd801-85ee-92b7-4da8-70753c4e7df7.png)
Tableauで可視化します(作成後は自動で最新値に更新することも可能です）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2216922/3cc38953-9cbd-0c01-a4d1-07c9fcb42da2.png)
## こんな人におすすめ
・Google Analyticsに備わっている機能以外の分析をしたい
・Google Analyticsでは難しいページごとのミクロな分析を行いたい
・Google AnalyticsのデータをBigQueryやTableauで分析したい
## 1. troccoでGoogle Analytics→BigQueryの転送自動化
### 1-0. 事前準備
データの転送のためには[trocco](https://trocco.io/lp/index.html?utm_medium=social&utm_source=qiita&utm_campaign=analytics_to_bigquery_tableau)のアカウント・Googleアカウントが必要です。
無料トライアルを実施しているので、事前に申し込み・登録しておいてください！
[https://trocco.io/lp/index.html](https://trocco.io/lp/index.html?utm_medium=social&utm_source=qiita&utm_campaign=analytics_to_bigquery_tableau)
（申込の際に、この記事を見た旨を記載して頂ければご案内がスムーズに行えます）
### 1-1. 転送元・転送先を決定
[trocco](https://trocco.io/lp/index.html?utm_medium=social&utm_source=qiita&utm_campaign=analytics_to_bigquery_tableau)にアクセスして、ダッシュボードから「転送設定を作成」のボタンを押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2216922/081f5586-55bc-f8ad-71e3-5ec41d44e515.png)
転送元に「Google Analytics」を指定し、転送先に「BigQuery」を選択して転送設定作成ボタンを押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2216922/96da3b60-ef54-7597-1923-7ddad4938958.png)
すると、設定画面になるので、必要な情報を入力していきます。
### 1-2. Google Analyticsとの連携設定
あとで見たときに自分で分かるように転送設定の名前とメモを入力します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2216922/3116802f-4dde-e83a-994e-500f7bd06eac.png)
次に「転送元の設定」内の「接続情報を追加」ボタンを押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2216922/6b5d4095-12b1-515d-0ad3-49a787e4c378.png)
別のタブでGoogle Analyticsの接続情報の新規作成画面が開きます。
接続情報を作成するためにJSON Keyが必要になります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2216922/42e853ad-923b-2e2b-edb8-94a8c88bb54a.png)
再度転送設定画面に戻り、接続情報の「再読込」ボタンを押すと、先ほど作成した接続情報が選択できるようになります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2216922/10cf4bea-1156-3123-8078-ae511c7d387e.png)
これでGoogle Analyticsとの連携は完了です。
### 1-3. Google Analyticsからのデータ抽出設定
次に、どのようなデータを取得するかを設定していきます。
- ビューID
データを取得するアナリティクスのビューIDを入力します。
ビューIDはGoogle Analyticsの管理ページ→ビュー設定で確認できます。
- タイムスタンプの形式
レポートのタイムスタンプの形式を選択します。
なお、ここで設定した値はディメンションでは設定できません。
- ディメンンション
取得したいディメンションの名前を入力します。
ディメンションは最大8個まで設定できます。
設定できる値については[Google Analytics公式](https://ga-dev-tools.web.app/dimensions-metrics-explorer/)をご参照ください。
- 指標
取得したい指標の名前を入力します。
ディメンションは最大10個まで設定できます。
設定できる値については[Google Analytics公式](https://ga-dev-tools.web.app/dimensions-metrics-explorer/)をご参照ください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2216922/22adc79b-2851-adcd-7476-270525e38728.png)
### 1-4. 転送先BigQueryの設定
「接続情報を追加」ボタンからBigQueryの接続設定を行います。名前と、認証方式としてサービスアカウント(JSONキー)を入力します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2216922/8596ad27-22f6-82ad-3b6a-2c3c8013180e.png)
JSONキーの取得方法については[こちらのドキュメント](https://docs.trocco.io/s/article/BigQuery%E3%81%AE%E6%8E%A5%E7%B6%9A%E8%A8%AD%E5%AE%9A)を参照してください。
「接続情報を追加」ボタンからBigQueryの接続設定を行い、データセット・テーブル・データセットのロケーションを指定します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2216922/24944414-0398-0638-583b-399070ec3d3b.png)
最後に、接続確認が問題なく通るか確認します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2216922/c68cdf78-eda9-f0ef-7ecd-693d3ce53645.png)
これで入力は完了です。「次のSTEPへ」をクリックして次に進みましょう。
### 1-5. データのプレビュー
少し待つと、転送元のデータがプレビューされます。ここではGoogle Analyticsから取り込んだデータが表示されています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2216922/c66f1886-0c3a-4c42-09e1-77e5e99fe90f.png)
問題が無ければ、確認画面に移り、保存して適用しましょう。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2216922/73765bf6-8ff5-a7c2-7cb1-aaeae8da6e86.png)
続いて、「スケジュール・通知設定」に進みます。
### 1-6. スケジュール・通知設定
「スケジュール・トリガー設定」タブを開き、スケジュールを追加します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2216922/cc8c18fd-0752-ccd9-d304-115926a0f222.png)
以下のように実行スケジュールを設定することで、転送を定期的に実行し自動化することが出来ます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2216922/755133a3-7f2e-83e1-eb7e-b61e43d4a0b3.png)
また、必須の設定ではないですが、ジョブの実行ステータスに応じてEmailやSlackに通知を行うことが出来ます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2216922/0f470c5c-5ce4-a663-86ff-da0f4a158ae8.png)
### 1-7. データ転送ジョブの実行
設定は以上です。最後に、手動で転送ジョブを実行し、BigQueryにデータを送ります。
手動で実行する場合はジョブ詳細画面の「実行」ボタンを押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2216922/6d5f1472-0b11-3f94-de0b-ec553412f0aa.png)
これで転送は完了です！
## 2. BigQueryの設定
特に設定することありません。データが転送されているので、今すぐに分析・可視化を行うことが出来ます。
データがきちんと送られているかを確認してみます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2216922/73dcd801-85ee-92b7-4da8-70753c4e7df7.png)
転送されていることが確認できました！
## 3. Tableauで可視化
それでは、これらのデータをTableauで可視化していきます。  
まずはBigQueryとTableauの接続設定を行います。
新しいワークブックを作成し、「コネクタ」タブから「Google BigQuery」を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2216922/a45cfdfc-26b2-e34f-c99f-1e374760da81.png)
続いて、接続情報の中からデータの可視化を行いたいテーブルを選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2216922/793920ff-a464-6880-7748-32ec0f42bd49.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2216922/2326de3e-baf4-d131-e84e-5baa03beeac8.png)
続いて、下のタブの中から「新しいワークシート」を選択し、グラフを作成していきます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2216922/9f5be26f-6a7b-23fb-5d00-8ba1d9d9471e.png)
ディメンションとメジャーを選択し、右上の表示形式から適切なグラフを選択することで、グラフを作成することができます。
例えば、時間ごとのPV数を分析したいときはディメンションに「Date Hour」、メジャーに「Pageviews」を選択し、線グラフを選んでみます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2216922/1542288d-d27f-ae1e-0a67-52d90618c06d.png)
すると、以下のような年ごとのPV数についてのグラフが表示されました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2216922/59b7d77b-7ba5-aeca-3c17-ce79fa4fdf9f.png)
このままでは扱いづらいため、横軸を年ごとから時間ごとに変更します。
また、グラフの大きさや位置、タイトルなどを好みに合わせて編集します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2216922/3cc38953-9cbd-0c01-a4d1-07c9fcb42da2.png)
完成しました！
## まとめ
いかがでしたでしょうか。[trocco](https://trocco.io/lp/index.html?utm_medium=social&utm_source=qiita&utm_campaign=analytics_to_bigquery_tableau)を使うと簡単にGoogle Analyticsのデータを取得し、DWH(BigQuery)に貯めることが出来ます。
BigQueryにデータを貯めると、Tableauと連携することでデータを使ってグラフを作り、可視化できます。
実際に弊社サービスの[trocco](https://trocco.io/lp/index.html?utm_medium=social&utm_source=qiita&utm_campaign=analytics_to_bigquery_tableau)においても、マーケティングKPI等をこのような流れで収集・分析しています。
ぜひ広告データ分析の際にはご活用ください。
[https://trocco.io/lp/index.html](https://trocco.io/lp/index.html?utm_medium=social&utm_source=qiita&utm_campaign=analytics_to_bigquery_tableau)
実際に試してみたい場合は、[無料トライアル](https://trocco.io/inquiry_trial/new?utm_medium=social&utm_source=qiita&utm_campaign=analytics_to_bigquery_tableau)を実施しているので、この機会にぜひ一度お試しください。（申込時に、この記事を見た旨を記載して頂ければスムーズにご案内することができます）
その他にも広告やデータベースなど、様々な分析データをETL・転送した事例をまとめました。
[troccoの使い方まとめ（CRM・広告・データベース他）](https://qiita.com/hiro_koba_jp/items/2b2caa040804e402bda7)