Google広告のレポートをBigQueryに自動同期し、Tableauで可視化する

## 概要
Google Ads（旧：Google AdWords）（Google広告）はGoogle検索やYouTube上で商品やサービスの宣伝を行うことが出来るサービスです。出稿時に広告を表示させるトリガーとなるキーワードや広告を表示させる時間帯などを細かく設定することで、その広告を届けたい層へピンポイントで広告を表示させることが出来るほか、コストについても最低利用料金や最短契約期間の定めがなく、自社の広告予算に応じて柔軟な対応できる点などが魅力のサービスといえます。
Google Adsには管理画面から広告効果を確認するためのダッシュボード画面が見れますが、より詳細な分析を行ったり、購買データといった他のデータと併せて分析を行いたい、数億単位のデータを処理したいといった場合には別途用意したDWH（データウェアハウス）へデータ統合を行い、BIツールを用いて可視化していくことが有効です。
またDWHへのデータ統合やBIツールを用いたダッシュボードの構築、その運用には少なからず専門的な知識が必要になり、その知見が十分でない企業にとって高度なデータ分析は依然ハードルがまだ高いという現状があります。
そこで今回は、[trocco®](https://trocco.io/lp/index.html?utm_medium=social&utm_source=qiita&utm_campaign=googleads_to_bigquery_tableau)（トロッコ）という分析基盤向けデータ統合サービスを使い、Google AdsのデータをGoogle BigQueryへと統合し、TableauというBIツールを用いてデータの可視化をやってみます。
なお今回データの転送手段に選んだ[trocco®](https://trocco.io/lp/index.html?utm_medium=social&utm_source=qiita&utm_campaign=googleads_to_bigquery_tableau)は、Google Adsの他にも、様々な広告・CRM・DBなどのデータソースに対応しています。  
[trocco®の使い方まとめ（CRM・広告・データベース他）](https://qiita.com/hiro_koba_jp/items/2b2caa040804e402bda7)
![Troccoアイコン.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1071783/aa39eb4e-09c1-1596-5108-3fcfd9e2b118.png)
## ゴール
今回はGoogle Adsから出力される広告インプレッションなどのデータをGoogle BigQueryへ転送、そのデータをベースにこのようなグラフを作成し、広告効果を可視化することをゴールとしたいと思います。また一連の設定を全てノンコーディングで済ませ、さらにデータが自動的に更新され、グラフも自動で更新されていくという流れを実現します。
![スクリーンショット 2022-03-09 18.13.50.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1071783/7e7aaa25-4288-703f-058d-1d7bfb15758b.png)
## こんな人におすすめ
* Google Adsの効果をより詳しく分析し、今後のマーケティング戦略を立てたい
* Google広告のデータを他のデータと合わせて分析したい
* 既にGoogle Adsのデータ分析を行っているが、現状誰かが手でデータを更新しないと最新の状況がわからない
* SQLやAPIについての専門的な知識はないがデータ分析を行いたい
## 1. trocco®での設定
### 1-0. 事前準備
まずはじめに、今回使用する[trocco®](https://trocco.io/lp/index.html?utm_medium=social&utm_source=qiita&utm_campaign=googleads_to_bigquery_tableau)のアカウントが必要になります。[trocco®](https://trocco.io/lp/index.html?utm_medium=social&utm_source=qiita&utm_campaign=googleads_to_bigquery_tableau)にはフリープランがあります、事前に申し込みをし、アカウントを作成しておきましょう。
[https://trocco.io/lp/inquiry_free.html](https://trocco.io/lp/inquiry_free.html?utm_medium=social&utm_source=qiita&utm_campaign=googleads_to_bigquery_tableau)  

またデータ元となるGoogle広告のデータや、データの転送先となるGoogle BigQueryのコンソール画面にアクセスできるGoogleアカウント、そのデータの可視化を行うためTableauのアカウントなども前もってご用意ください。
### 1-1. 転送元・転送先の決定
[trocco®](https://trocco.io/lp/index.html?utm_medium=social&utm_source=qiita&utm_campaign=googleads_to_bigquery_tableau)にアクセスして、トップページとなるダッシュボード画面から「転送設定を作成」ボタンを押します。
![スクリーンショット 2022-03-09 16.36.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1071783/ade2c7c2-c846-a11f-3f23-d800442d4c7f.png)
転送元と転送先となるツールを選択する画面になります。
![スクリーンショット 2022-03-02 13.29.39.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1071783/8ff1b868-0783-ba37-23f4-4a0cf4fabd86.png)
[trocco®](https://trocco.io/lp/index.html?utm_medium=social&utm_source=qiita&utm_campaign=googleads_to_bigquery_tableau)は多くのサービスをサポートしています。今回は転送元に「Google Ads」を選択します。
![スクリーンショット 2022-03-09 16.39.29.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1071783/1a2f22bf-612e-0fd8-b20e-6099784a8f79.png)
転送先には「Google BigQuery」を選択し、「この内容で作成」ボタンを押して次に進みます。
![スクリーンショット 2022-03-09 16.41.29.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1071783/30911e1b-90ba-1858-29fa-d089945daa9a.png)
![スクリーンショット 2022-03-09 16.43.00.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1071783/8f928179-9678-f32f-1809-46b5fff63a2e.png)
### 2-1. Google Adsからの転送設定
まずは右上の「接続情報を追加」ボタンからGoogle Adsへの接続を行います。
![スクリーンショット 2022-03-09 16.46.56.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1071783/23583593-77ec-431b-8fb6-4117a5c7e34b.png)
別のタブでGoogle Adsへの接続情報を入力する画面が開きます。Googleアカウントとの連携はじめ、必要な情報を入力して接続情報を保存します。
![スクリーンショット 2022-03-09 16.49.14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1071783/ad074f12-8003-dffd-2049-a856ca03dd31.png)
転送設定画面に戻り、「接続情報を読み込む」ボタンを押すと右の▽マークからいま入力した接続情報を読み込めます。
※トップページの「接続情報」タブから事前にこの設定を済ませておくことですぐさま読み込むことが可能です。
![スクリーンショット 2022-03-09 16.51.06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1071783/0e4a5eef-8b63-5b4f-0b31-4595286f1c88.png)
接続情報が設定できたらカスタム変数の設定や、リソースタイプ（レポート設定）の選択を行います。リソースタイプ（レポート設定）はGoogle Adsの公式サイトに記載のある主要なレポートのなかから選択が可能です。
その下のフィールド名とデータ型の設定は、「レポートテンプレート読み込み」ボタンを押すことでリソースタイプ（レポート設定）で選択したレポートに対応したフィールド設定のテンプレートが自動で読み込まれます。（下記画像の設定も同様にテンプレートの読み込みで自動的に設定を済ませています。）もちろんこのテンプレートをもとに希望に応じたフィールド設定を行うことができます。
詳しくは[こちらのヘルプページ](https://documents.trocco.io/docs/data-source-google-ads)をご確認ください。
![スクリーンショット 2022-03-09 16.52.15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1071783/b3c8481c-80ec-9c1d-13d2-3078ba511824.png)
### 2-2. Google BigQueryへの転送設定
転送元のGoogle Adsと同様にまずは接続情報の設定をしていきます。Google BigQueryについても「接続情報を追加」ボタンから別のタブで接続情報の設定画面を開き、Googleアカウントとの連携を行います。（事前にGoogle BigQuery側で転送先となるプロジェクト、データセット、テーブルを作成しておいてください。）
※トップページの「接続情報」タブから事前に接続設定を済ませておくことですぐさま読み込むことが可能です。
![スクリーンショット 2022-03-09 16.53.42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1071783/389b6f18-031c-2fff-47dc-72de476aa481.png)
転送先とするデータセット名、テーブルなど転送に必要な情報を入力していきます。入力が済んだらページ下端の「次のSTEPへ」ボタンを押します。
詳しくは[こちらのヘルプページ](https://documents.trocco.io/docs/data-destination-bigquery)をご確認ください。
![スクリーンショット 2022-03-09 16.56.54.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1071783/2b9a8c7f-682e-7f03-862d-c9a630857d60.png)
### 2-3. データのプレビュー・詳細設定
しばらく待つと、入力した設定にしたがって転送のレビューが作成されます。この画面では転送元から取得したデータがどのように転送されるのかが確認できます。プレビューが作成されなければ転送設定の画面に戻って設定を修正しますが、今回は無事データが取得できているようなので、このままプレビュー画面下部の「確認画面へ」ボタンを押します。
![スクリーンショット 2022-03-09 16.59.16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1071783/e0d037c8-f8fe-8802-1708-9119774355d5.png)
またプレビュー画面下部の詳細設定タブではデータのマスキング処理や転送するカラムの選択など、Google Adsのデータが[trocco®](https://trocco.io/lp/index.html?utm_medium=social&utm_source=qiita&utm_campaign=googleads_to_bigquery_tableau)を経由して転送される際にどのような加工を行うかという設定が可能です。
![スクリーンショット 2022-03-09 17.00.16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1071783/412d1e5c-2fea-a71e-3c32-1899e4a791c9.png)
### 2-4. 確認・適用
転送設定の内容が確認できます。これまでに作成した転送設定の内容を編集した際にはこの画面でその差分がハイライト表示され、変更内容を確認することが可能です。
今回は設定の新規作成であり、特に確認することはありません。右下の「保存して適用」ボタンを押します。
![スクリーンショット 2022-03-09 17.01.30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1071783/3ebbb589-8f94-ec18-eeae-d41410b89814.png)
[trocco®](https://trocco.io/lp/index.html?utm_medium=social&utm_source=qiita&utm_campaign=googleads_to_bigquery_tableau)には転送設定の変更後も過去の設定を履歴として保存し、転送設定の変更によって転送が失敗するようになった際などに過去の設定を復元する機能があります。
チームで[trocco®](https://trocco.io/lp/index.html?utm_medium=social&utm_source=qiita&utm_campaign=googleads_to_bigquery_tableau)を共有して使用する場合などは転送設定の変更についてこの画面で簡単なメモを残しておきましょう。
![スクリーンショット 2022-03-09 17.11.29.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1071783/ce2b8d5b-dec7-78fb-1c9e-afcc1c32a677.png)
### 2-5. スケジュール・通知設定
転送設定の詳細設定画面に移動します。まず「転送設定概要」タブでは設定の内容が大まかに確認できます。  
![スクリーンショット 2022-03-09 17.12.30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1071783/5a47187d-ad9d-baff-afd3-833ad496f963.png)
[trocco®](https://trocco.io/lp/index.html?utm_medium=social&utm_source=qiita&utm_campaign=googleads_to_bigquery_tableau)にはデータの転送を自動で行う「スケジュール・トリガー機能」があります。「スケジュール・トリガー設定」タブを開いて定期的な転送スケジュールの設定を行いましょう。「スケジュールを追加」ボタンを押すと、設定のモーダルが出てきます。希望に応じて実行スケジュールを設定し、転送の自動化を行います。（今回は毎日０時に転送を行うよう設定しました。）
![スクリーンショット 2022-03-09 17.13.47.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1071783/cdd7df72-9002-48af-59e0-a27d853c7b05.png)
![スクリーンショット 2022-03-09 17.14.51.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1071783/c3ec0ed5-c148-4d8f-b09d-3f020d324fb9.png)
### 2-7. データ転送ジョブの実行
これで設定は終わりです。スケジュール設定に従ってデータの転送は以後自動的に行われますが、今回はそれを待たずに右上の「実行」ボタンから手動で転送を実行します。
![スクリーンショット 2022-03-09 17.12.30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1071783/e45540f8-6e4f-450b-762a-f29a4eec3d9a.png)
転送の実行に際し、その目的などをメモとして残しておくことができます。特に書くことがなければ再び「実行」ボタンを押します。
![スクリーンショット 2022-03-09 17.16.43.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1071783/e4c1514e-a4e9-7261-a75c-5845d8e714e8.png)
ジョブが実行されます。
![スクリーンショット 2022-03-09 17.17.29.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1071783/e4e4279f-fd26-459e-0f99-dd6e7f68b450.png)
しばらく待つとジョブが終了します。
![スクリーンショット 2022-03-09 17.18.25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1071783/edd608ba-2baf-f103-b3b0-021ae7abb105.png)
## 3. Google BigQueryの設定
転送ジョブが成功していればGoogle BigQueryのコンソール画面から操作することは特にありません。プレビュー画面を見てみると[trocco®](https://trocco.io/lp/index.html?utm_medium=social&utm_source=qiita&utm_campaign=googleads_to_bigquery_tableau)の転送設定で選択したテーブルにはデータがきちんと転送されていることが確認できます。
![スクリーンショット 2022-03-09 17.19.23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1071783/f54ee647-b919-4d7c-9c01-5903fb46636d.png)
## 4. Tableauでの可視化
最後にTableuでのデータ可視化を行います。まずはトップ画面の「新規」
から新しいワークブックを作成しましょう。 
![スクリーンショット 2022-03-09 17.41.03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1071783/c067a826-cfbe-2c65-332e-774b96e28310.png)
自動的にデータの接続先を選ぶ画面になるので、コネクタからGoogle BigQueryを選択します。（ここでもGoogleアカウントとの連携設定を行います。Google BigQueryを操作するアカウントを選択して連携を行います。）
![スクリーンショット 2022-03-02 14.01.47.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1071783/886d8518-42ab-d7f6-d76f-b3951c9e8659.png)
画面左側でデータを転送したプロジェクト、データセットを選び、Tableau側で読み込んだテーブルを画面右側のワークブックに追加します。
![スクリーンショット 2022-03-09 18.10.14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1071783/c5ce844b-7e3e-8473-8c3c-5c957ff69d1e.png)
新規シートを開きます。
画面の左側にはGoogle BigQueryから読み込まれたカラム名がフィールドとして表示されています。これらを行と列に配置してグラフを作成していきます。右上の「表示設定」には予め主要なグラフが用意されており、これらのグラフを選択することで簡単にグラフを作成することが可能です。
![スクリーンショット 2022-03-09 18.11.47.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1071783/1d7a1d33-d4e2-7c51-353d-0e2bb13e3ca4.png)
いくつか作成したこれらのグラフをダッシュボードに配置して完成です。
![スクリーンショット 2022-03-09 18.13.50.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1071783/1ef9b96a-727d-7051-f05a-9d45c8c4ae8f.png)
## まとめ
Google AdsのデータをGoogle BigQueryへ統合し、Tableauで可視化してみました。また[trocco®](https://trocco.io/lp/index.html?utm_medium=social&utm_source=qiita&utm_campaign=googleads_to_bigquery_tableau)の設定途中で「スケジュール・トリガー機能」の設定を行ったため、以後はGoogle Adsへ新たに集められたデータは自動的にGoogle BigQueryへ転送され、連携するTableauのダッシュボードも自動的に更新されていくという流れになっています。
今回はごく簡単なサンプルデータを用いましたが、[trocco®](https://trocco.io/lp/index.html?utm_medium=social&utm_source=qiita&utm_campaign=googleads_to_bigquery_tableau)を利用してGoogle BigQueryへとデータ統合をすることで何千万、何億という件数のデータも高速処理することが可能です。また冒頭で述べたように今回プログラミングは一切行うことなく画面上の設定のみで可視化＋自動化までを実現しました。
実際に弊社サービスの[trocco®](https://trocco.io/lp/index.html?utm_medium=social&utm_source=qiita&utm_campaign=googleads_to_bigquery_tableau)においてもマーケティングKPI等のデータはこのような流れで収集・分析しています。
Google Adsのさらなる活用を検討している方はぜひご活用ください。
[https://trocco.io/lp/index.html](https://trocco.io/lp/index.html?utm_medium=social&utm_source=qiita&utm_campaign=googleads_to_bigquery_tableau)
実際にデータの統合を試してみたい場合は、[フリープラン](https://trocco.io/lp/inquiry_free.html?utm_medium=social&utm_source=qiita&utm_campaign=googleads_to_bigquery_tableau)がありますので、この機会にぜひ一度お試しください。
その他にも広告やデータベースなど、様々な分析データをETL・転送した事例をまとめました。
[trocco®の使い方まとめ（CRM・広告・データベース他）](https://qiita.com/hiro_koba_jp/items/2b2caa040804e402bda7)