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

## 概要
Facebookで広告掲載をする際、クリック率やインプレッション数を解析することが重要となります。しかし、新しくデータが増える度にデータをダウンロードして最新の状態にし、グラフを作り直すのは手間がかかります。
そこで今回は、[trocco](https://trocco.io/lp/index.html?utm_medium=social&utm_source=qiita&utm_campaign=facebook_to_bigquery_tableau)という分析基盤向けデータ統合サービスを使い、Facebook広告のデータの抽出自動化＋DWH(データウェアハウス)への統合＋可視化までやってみようと思います。

今回、データの転送手段として採用した[trocco](https://trocco.io/lp/index.html?utm_medium=social&utm_source=qiita&utm_campaign=facebook_to_bigquery_tableau)は、Facebook広告の他にも、様々な広告・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/e390b0a4-ec16-784c-9081-cd6dec22c3e1.png)




## ゴール

Facebook広告のデータをこのようにBigQueryに統合し

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2216922/e74c207b-1561-53e2-12f0-e1708df15d1b.png)


Tableauで可視化します(作成後は自動で最新値に更新できます)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2216922/04f15730-f4f0-c81a-7dd7-fe03d4d84598.png)



## こんな人におすすめ
* Facebook広告のレポートをcsvファイルにエクスポートして分析基盤に取り込むまでの作業時間が長く、無駄が多いと感じている方
* Facebook広告を利用中で、分析基盤やDWH(データウェアハウス)へのデータ統合・ETLを考えている方
* BigQueryやTableauでFacebook広告のデータを分析したい方


## 1. troccoでFacebook広告→BigQueryの転送自動化
### 1-0. 事前準備
データの転送のためには[trocco](https://trocco.io/lp/index.html?utm_medium=social&utm_source=qiita&utm_campaign=facebook_to_bigquery_tableau)のアカウント・Facebookのアカウントが必要です。
無料トライアルを実施しているので、事前に申し込み・登録しておいてください！
[https://trocco.io/lp/index.html](https://trocco.io/lp/index.html?utm_medium=social&utm_source=qiita&utm_campaign=facebook_to_bigquery_tableau)
（申込の際に、この記事を見た旨を記載して頂ければご案内がスムーズに行えます）

### 1-1. 転送元・転送先を決定
[trocco](https://trocco.io/lp/index.html?utm_medium=social&utm_source=qiita&utm_campaign=facebook_to_bigquery_tableau)にアクセスして、ダッシュボードから「転送設定を作成」のボタンを押します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2216922/081f5586-55bc-f8ad-71e3-5ec41d44e515.png)

転送元に「Facebook Ads Insights」を指定し、転送先に「BigQuery」を選択して転送設定作成ボタンを押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2216922/49f6f26a-be43-ba01-eb94-5799ffcdb2cd.png)

すると、設定画面になるので、必要な情報を入力していきます。

### 1-2. Facebook広告との連携設定
あとで見たときに自分で分かるように転送設定の名前とメモを入力します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2216922/a476bbcb-09a4-7f2b-72bf-fff0d8a02894.png)



次に「転送元の設定」内の「接続情報を追加」ボタンを押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2216922/c68a2880-67e9-009d-ef95-29c742e5a8b8.png)

別タブで接続情報の新規作成画面が開きますので、Facebookアカウントを連携する」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2216922/7b4f74c0-b157-479d-83fc-dfe3895c5982.png)

連携ができたら、接続設定の名前を設定し、保存します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2216922/55dafe71-7a4a-d909-742b-d09a1fef9200.png)


転送設定画面に戻り、接続情報の「再読込」ボタンを押すと、先ほど作成した接続情報が選択できるようになります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2216922/182b629b-0cd9-6f94-2802-e6b9aece16ae.png)

これでFacebook広告との連携は完了です。

### 1-3. Facebook広告からのデータ抽出設定
次に、どのようなデータを取得するかを設定していきます。

◯広告アカウントID
スポンサードサーチのアカウント管理画面から取得対象のアカウントIDを登録してください。

◯レポート種別
レポートタイプを選択して下さい。各レポートごとに取得できる項目が異なります。
レポートタイプは`account`,`campaign`,`adset`,`ad`の中から選択できます。

◯フィールド
データを取得するにあたって必要となるカラムを追加してください。

◯データ取得期間
絞り込み範囲の開始日、終了日を入力してください。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2216922/d9d3ab89-82f0-1f71-077a-1bf2a06ca209.png)


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2216922/ee87e06a-de38-2f35-d21c-1ecbdb4d7b00.png)



### 1-4. 転送先BigQueryの設定
「接続情報を追加」ボタンからBigQueryの接続設定を行います。名前と、認証方式としてサービスアカウント(JSONキー)を入力します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2216922/23aafc13-9d8e-07d9-a577-83f04d2ea5a7.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/da4d77aa-e797-8cd8-0a20-2e9a257d6525.png)



最後に、接続確認が問題なく通るか確認します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2216922/136ef896-f19c-064f-a78f-94a7b3696c9d.png)

これで入力は完了です。「次のSTEPへ」をクリックして次に進みましょう。


### 1-5. データのプレビュー
少し待つと、転送元のデータがプレビューされます。ここではFacebook広告から取り込んだデータが表示されています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2216922/9699cf46-5013-d1ef-dbc1-d028189cde51.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/19fcd0d6-8b2f-c4ca-007e-9642d1e444e6.png)



これで転送は完了です！

## 2. BigQueryの設定
特に設定することありません。データが転送されているので、今すぐに分析・可視化を行うことが出来ます。
データがきちんと送られているかを確認してみます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2216922/e74c207b-1561-53e2-12f0-e1708df15d1b.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/aeb054b9-c19c-89e6-2190-3e0aa3f868fc.png)



続いて、下のタブの中から「新しいワークシート」を選択し、グラフを作成していきます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2216922/9f5be26f-6a7b-23fb-5d00-8ba1d9d9471e.png)

ディメンションとメジャーを選択し、右上の表示形式から適切なグラフを選択することで、グラフを作成できます。
例えば、日付ごとのクリック数を分析したいときはディメンションに「Date Start」、メジャーに「Clicks」を選択し、棒グラフを選びます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2216922/7d8249d1-4a6e-0240-29b1-bfde950761f7.png)


すると、以下のような棒グラフが表示されました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2216922/1fdf0f16-b543-a8fe-9658-4d1a61bb7dcc.png)


ここから、グラフの大きさや位置、タイトルなどを好みに合わせて編集します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2216922/fe574f33-59c8-ba9b-a92a-38f2f59162ea.png)

その他に必要な情報を作成していき、最後に１つのダッシュボードにまとめます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2216922/c733b38c-e05d-9412-fb5b-9d0801d6d128.png)


完成しました！

## まとめ
いかがでしたでしょうか。[trocco](https://trocco.io/lp/index.html?utm_medium=social&utm_source=qiita&utm_campaign=facebook_to_bigquery_tableau)を使うとFacebook広告の管理画面を触ることなく、簡単にデータを取得し、DWH(BigQuery)に貯めることが出来ます。
BigQueryにデータを貯めると、Tableauと連携することでデータを使ってグラフを作り、可視化できます。
実際に弊社サービスの[trocco](https://trocco.io/lp/index.html?utm_medium=social&utm_source=qiita&utm_campaign=facebook_to_bigquery_tableau)においても、マーケティングKPI等をこのような流れで収集・分析しています。
ぜひ広告データ分析の際にはご活用ください。
[https://trocco.io/lp/index.html](https://trocco.io/lp/index.html?utm_medium=social&utm_source=qiita&utm_campaign=facebook_to_bigquery_tableau)

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

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