Google AnalyticsのデータをBigQueryに自動同期し、Googleデータポータル(旧Data Studio)で可視化する


## 概要
Google Analyticsを使うことでWebサイトなどのパフォーマンスを調べたり、アクセス解析をして改善点を見つけることができます。しかし、絶えず集められるデータをその都度分析し、最新の状態に保つのにはコストがかかります。そこで今回は、[trocco](https://trocco.io/lp/index.html?utm_medium=social&utm_source=qiita&utm_campaign=analytics_to_bigquery)という分析基盤向けデータ統合サービスを使い、Google Analyticsデータの抽出自動化＋DWH(データウェアハウス)への統合＋可視化までやってみようと思います。

今回、データの転送手段として採用した[trocco](https://trocco.io/lp/index.html?utm_medium=social&utm_source=qiita&utm_campaign=analytics_to_bigquery)は、Google Analyticsの他にも、様々な広告・CRM・DBなどのデータソースにも対応しています。
[troccoの使い方まとめ（CRM・広告・データベース他）](https://qiita.com/hiro_koba_jp/items/2b2caa040804e402bda7)
![analyticsbigquery.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1121252/82838bd7-9293-1d90-eaf4-35ac3ccbf159.png)



## ゴール
以下のようなGoogle AnalyticsのデータをGoogle BigQueryに統合し、
![スキーマana.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1121252/14c62339-e427-48aa-1c10-f4ffd34a6969.png)



↓画像のようなグラフをを30分くらいで作り上げます（作成後は自動で最新値に更新することも可能です）
![データ完成ana.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1121252/feba6404-2158-bbc1-b1de-1633ac32e9c1.png)




## こんな人におすすめ
・Google Analyticsに備わっている機能以外の分析をしたい
・Google Analyticsでは難しいページごとのミクロな分析を行いたい
・Google AnalyticsのデータをBigQueryで分析したい



## 1. troccoでGoogle Analytics→Google BigQueryの転送自動化
### 1-0. 事前準備
データの転送のためには[trocco](https://trocco.io/lp/index.html?utm_medium=social&utm_source=qiita&utm_campaign=analytics_to_bigquery)のアカウント・Googleアカウントが必要です。

無料トライアルを実施しているので、事前に申し込み・登録しておいてください！
[https://trocco.io/lp/index.html](https://trocco.io/lp/index.html?utm_medium=social&utm_source=qiita&utm_campaign=analytics_to_bigquery)
（申込の際に、この記事を見た旨を記載して頂ければご案内がスムーズに行えます）

Googleアカウントに関しては、Google BigQueryとGoogleデータポータルは同じアカウントで運用したほうが接続が簡単です。

### 1-1. 転送元・転送先を決定
[trocco](https://trocco.io/lp/index.html?utm_medium=social&utm_source=qiita&utm_campaign=analytics_to_bigquery)にアクセスして、ダッシュボードから「転送設定を作成」のボタンを押します。
<img width="1792" alt="qiita_20200827_2.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/697569/098f74e5-a834-6b9f-0ea2-2b9c592a6169.png">



転送元に「Google Analytics」を指定し、転送先に「Google BigQuery」を選択して転送設定作成ボタンを押します。
![スクリーンショット 2021-07-23 8.27.01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1121252/3ff139bc-bc07-2a0a-91ac-4f448583ec52.png)



すると、設定画面になるので、必要な情報を入力していきます。
### 1-2. Google Analyticsとの連携設定
あとで見たときに自分で分かるように転送設定の名前とメモを入力します。
![ana新規.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1121252/cba3d428-b73b-b0d4-d5f1-33234ef1eb87.png)


次に「転送元Google Analyticsの設定」内の「接続情報を追加」ボタンを押します。
![転送元ana.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1121252/4a498462-d037-72fe-0036-daf31004df4e.png)





別のタブでGoogle Analyticsの接続情報の新規作成画面が開きます。
接続情報を作成するためにJSON Keyが必要になります。

![新規接続.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1121252/e734b474-b274-3369-3f40-49250fcac420.png)



接続確認を行って問題がなければ保存します。再度転送設定画面に戻り、接続情報の「接続情報を読み込む」ボタンを押すと、先ほど作成した接続情報が選択できるようになります。

![接続情報選択.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1121252/a5586706-7dab-aeb2-3d32-86e3bb53ecfb.png)


### 2-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/)をご参照ください。

![スクリーンショット 2021-07-29 10.16.35.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1121252/54ef8eb7-eaed-77a2-4c91-6fcc87be6d5e.png)


### 2-4. 転送先Google BigQueryの設定
転送元と同様に設定していきます。Google BigQueryに関してはGoogleアカウントとの連携が必要です。（事前に転送先となるデータセットとテーブルを作成しておいてください。）
![Googleアカウント連携.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1121252/0bb3d4f1-188c-f9b4-1e2d-023684ce65d3.png)
![BigQuery接続情報作成.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1121252/683df5ea-e4df-008b-b4c7-6b2d1c6364c1.png)





転送先とするデータセット名、テーブルを設定します。

![スクリーンショット 2021-07-29 11.12.05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1121252/3b8e70da-400a-56db-d0b9-5799d4b8a524.png)


これで入力は完了です。「保存して自動データ設定・プレビューへ」をクリックし、確認作業に進みましょう。

### 2-5. データのプレビュー
少し待つと、転送元のデータがプレビューされます。ここではGoogle Analyticsから取り込んだデータが表示されています。
![スキーマana.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1121252/2725f389-0fa8-1af1-a877-f35be2a99aaa.png)





転送したいデータが取れているので、設定を完了します。
転送設定の一覧から作成した設定を選び「スケジュール・通知設定」に進みます。

### 2-6. スケジュール・通知設定
「スケジュール・トリガー設定」タブを開きます。

![スケジュール.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1121252/fb918e7d-c2ed-85dc-7b4f-2470e7deeed8.png)


「スケジュールを追加」ボタンを押すと、以下の画像のような入力欄が出てきます。ここで実行スケジュールを設定することで、転送を定期的に実行し自動化することが出来ます。
![スケ追加ana.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1121252/280d490a-9857-5f9f-5245-d84559e2d4c7.png)




### 2-7. データ転送ジョブの実行
設定は以上です。最後に、手動で転送ジョブを実行し、Google BigQueryにデータを送ります。
手動で実行する場合はジョブ詳細画面の「実行」ボタンを押します。
![実行ana.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1121252/3aa377d2-9791-e867-ff5d-30836628da16.png)



これで転送は完了です！

## 3. Google BigQueryの設定
特に設定することはありません。設定で選択したテーブルにデータが転送されているので、今すぐに分析・可視化を行うことが出来ます。
データがきちんと送られているかをプレビューで確認してみます。
![bqana.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1121252/2f326b9a-3781-6d26-f311-c125aa1da23a.png)


転送されていることが確認できました！
## 4. Googleデータポータルで可視化
それでは、これらのデータをGoogleデータポータルで可視化していきます。  
まずはGoogle BigQueryとGoogleデータポータルの接続設定を行います。
Googleデータポータルを開いて、新規のレポートを作成します。
![Qiitaテスト.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1121252/d5dcbc10-c011-9904-aeeb-e9a2081beae2.png)

「データを追加」のボタンを押し、データ元の選択肢からGoogle BigQueryを選択します。
![BigQuery選択.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1121252/854d5b3a-1ff5-a6cb-c9ce-41064f9ee0d8.png)


転送に使用したプロジェクト、データセット、表（テーブル）を選択し、追加します。
![データ追加.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1121252/4546669c-1ec1-64a4-aa04-9f3ca9da420c.png)



データベースに接続できたら、右側の設定を変更し、必要な情報を表示させます。
後で作成する折れ線グラフにおいて、「ディメンション」が横軸、「指標」が縦軸に対応します。


![データ表.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1121252/fb76139f-ea86-ff55-636e-5b24ac0781b7.png)


最後に右上のグラフ一覧から目的に合ったグラフの形を選択します。
今回は時間経過に伴う閲覧数の変化を知りたいので、折れ線グラフを用いることにします。


![データ完成ana.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1121252/3eb57154-9813-a34d-0093-3ceeb220fbdc.png)






## まとめ
いかがでしたでしょうか。[trocco](https://trocco.io/lp/index.html?utm_medium=social&utm_source=qiita&utm_campaign=analytics_to_bigquery)を使うと、絶えず更新されるGoogle Analyticsのデータでも自動でGoogle BigQueryにまとめていくことができるほか、100万規模の大きなデータからそうではない小さなデータまで複雑なコーディングをせず[trocco](https://trocco.io/lp/index.html?utm_medium=social&utm_source=qiita&utm_campaign=analytics_to_bigquery)の画面上の設定のみでデータの転送が可能になります。
実際に弊社サービスの[trocco](https://trocco.io/lp/index.html?utm_medium=social&utm_source=qiita&utm_campaign=analytics_to_bigquery)においても、マーケティングKPI等をこのような流れで収集・分析しています。
ぜひ広告データ分析の際にはご活用ください。
[https://trocco.io/lp/index.html](https://trocco.io/lp/index.html?utm_medium=social&utm_source=qiita&utm_campaign=analytics_to_bigquery)

実際に試してみたい場合は、[無料トライアル](https://trocco.io/inquiry_trial/new?utm_medium=social&utm_source=qiita&utm_campaign=analytics_to_bigquery)を実施しているので、この機会にぜひ一度お試しください。（申込時に、この記事を見た旨を記載して頂ければスムーズにご案内することができます）

その他にも広告やデータベースなど、様々な分析データをETL・転送した事例をまとめました。
[troccoの使い方まとめ（CRM・広告・データベース他）](https://qiita.com/hiro_koba_jp/items/2b2caa040804e402bda7)