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

## 概要
Criteo広告を出稿した際に、クリック、インプレッション、コンバージョンといった数字の分析は、広告効果を測る上で非常に重要になってきます。しかし、そのような分析を行うには、多くのデータを分析基盤に統合するという手間のかかる作業が待っています。
そこで今回は[trocco](https://trocco.io/lp/index.html?utm_medium=social&utm_source=qiita&utm_campaign=criteo_to_bigquery)という分析基盤向けデータ統合サービスを使い、Criteo広告のレポートデータの抽出自動化＋DWH（データウェアハウス）への統合＋可視化までやってみようと思います。

データの転送手段として採用した[trocco](https://trocco.io/lp/index.html?utm_medium=social&utm_source=qiita&utm_campaign=criteo_to_bigquery)は、Criteo広告以外に、Yahoo!検索広告、Google広告、Twitter広告、LINE広告などにも対応しております。
[troccoの使い方まとめ（CRM・広告・データベース他）](https://qiita.com/hiro_koba_jp/items/2b2caa040804e402bda7)
![ロゴ.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1196497/b3345fd0-0ea9-7a85-770f-ee75f095a465.png)


## ゴール
Criteo広告のデータをこのように可視化します。作成後は自動で最新値に更新することも可能です。
![ゴール.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1196497/dcb33ea6-ff41-42a9-4a14-eb2f428b6a8e.png)



## こんな人におすすめ
* Criteo広告のレポートデータを分析基盤・DWH（データウェアハウス）に取り込みたい方
* 広告レポートをCSVファイルにエクスポートして分析基盤に取り込むのに時間がかかり、より効率化したいと考えている方
* 広告管理画面からデータ取得を行う作業に疲れている方


## 1. DWHと同期する手段の選定
### 1-1. DWHの選定
まずはデータを集約する場所である、DWHを選定します。

* Google BigQuery
* Amazon Redshift
* MySQLやPostgreSQL

今回はGoogle BigQueryを利用することにします。


### 1-2. Criteo広告のレポートデータをGoogle BigQueryに転送する４つの方法
Google BigQueryにデータを集約することが決まったので、続いて転送するための手段を検討します。

1. レポートデータをCSV形式でエクスポートし、手動でBigQueryにアップロードする
1. CriteoとBigQueryの各APIを、プログラムを書いて連携する
1. Embulkを利用し、自らで環境の構築を行う
1.  [trocco](https://trocco.io/lp/index.html?utm_medium=social&utm_source=qiita&utm_campaign=criteo_to_bigquery)を利用し、画面上の設定のみで転送する

１は単発の分析でしたら可能ですが、定期的に取り込むとなると毎回同じ作業を行う必要があり、時間と手間がかかります。
２はAPIのキャッチアップ工数+プログラムを書く工数+環境構築工数が発生する他、エラー対応などの運用工数も継続的に発生します。
３も２と同じく、Embulkはある程度の専門知識が必要になり、自分で環境構築・運用を行う手間が発生します。さらに、エラーの内容が専門的で、詰まると大幅に時間を浪費してしまいます。

そこで今回は自動での更新が可能であり、プログラムを書かずに画面上の設定による簡単な作業で済む、４の[trocco](https://trocco.io/lp/index.html?utm_medium=social&utm_source=qiita&utm_campaign=criteo_to_bigquery)を利用してみたいと思います。


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

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


### 2-1. 転送元・転送先を決定
[trocco](https://trocco.io/lp/index.html?utm_medium=social&utm_source=qiita&utm_campaign=criteo_to_bigquery)にアクセスして、ダッシュボードから「転送設定を作成」のボタンを押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1196497/9af9f10d-6876-12cb-0ba7-a2da0c2ecd9b.png)

転送元に「Criteo」を指定し、転送先に「Google BigQuery」を選択して転送設定作成ボタンを押します。
![転送設定.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1196497/c6574e48-1433-37f2-47c7-33ab12930384.png)

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


### 2-2. Criteoとの連携設定
あとで見たときに自分で分かるように転送設定の名前とメモを入力します。
![概要.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1196497/cfba4ba2-5a22-a9df-29b3-b2fa8da0e3f7.png)

次に「転送元の設定」内の「接続情報を追加」ボタンを押します。
![転送元.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1196497/89e4b7e9-336c-11f5-2cb0-a224573489f6.png)

別のタブで接続情報の新規作成画面が開きます。
データを取得したいCriteoアカウントの情報を入力し、接続情報を作成します。
![接続情報.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1196497/4b678a0b-ba92-b172-6672-0bf79a8d8feb.png)


再度転送設定画面に戻り、接続情報の「再読込」ボタンを押すと、先ほど作成した接続情報が選択できるようになります。
![接続情報criteo.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1196497/c70261c8-612f-c4dd-6067-db9bed9ed8a2.png)
これでCriteoとの連携は完了です。


### 2-3. Criteoからのデータ抽出設定
次に、どのようなデータを取得するかを設定していきます。
今回は日別のクリック数に関するデータを取得してみます。
![転送元Criteo.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1196497/5e57e00f-ae8d-60ac-345e-55492ee41eb4.png)


### 2-4. 転送先Google BigQueryの設定
転送元と同様に設定していきます。Google BigQueryに関してもGoogleアカウントとの連携が可能です。（事前に転送先となるデータセットとテーブルを作成しておいてください。）
![転送先.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1196497/a7a28158-7cad-4603-6e02-7d508e72f46c.png)

転送先とするデータセット名、テーブルを設定します。
![転送先.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1196497/bc521d61-8f73-de7c-3634-d6ce705124e8.png)

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


### 2-5. データのプレビュー
少し待つと、転送元のデータがプレビューされます。ここではCriteoから取り込んだデータが表示されています。

![プレビュー.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1196497/a7871d25-c81d-7bf8-d1b4-bdc650a3f99e.png)


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

### 2-6. スケジュール設定
「スケジュール・トリガー設定」タブを開きます。
![トリガー.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1196497/e7cebea6-9f5a-33cf-7a69-3711ce5b22ac.png)

「スケジュールを追加」ボタンを押すと、以下の画像のような入力欄が出てきます。ここで実行スケジュールを設定することで、転送を定期的に実行し自動化することが出来ます。
![スケジュール登録.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1196497/a3f7156f-101d-44a5-764d-89b1e8166153.png)


### 2-7. 通知設定
通知タイプ・通知条件・通知先を選択し設定を保存することで、EmailやSlackに通知を行うことも出来ます。
![貼り付けた画像_2021_03_24_12_19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/61228/80c686f9-3736-3135-31f3-7b622fc289ea.png)



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

これで転送は完了です！


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



転送されていることが確認できました！


## 4. Googleデータポータルで可視化
BigQueryの画面から、「エクスポート > データポータル」を選択します。
![データポータル.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1196497/78aeab05-092c-10cd-47b0-22f97bcaf972.png)

すると、以下のようなData Portalの画面に遷移します。
試しに、クリック数の日次推移を可視化してみましょう。
グラフの概形として時系列グラフを選択し、横軸に日付、縦軸にクリック数を設定します。
![レポート.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1196497/c0768713-5e8b-cafd-8ebc-d1db134978b9.png)


以下のようなグラフが出来上がります。
![グラフ.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1196497/8159b6bb-8c11-d362-eab8-bcd8472d4a82.png)



## まとめ
いかがでしたでしょうか。[trocco](https://trocco.io/lp/index.html?utm_medium=social&utm_source=qiita&utm_campaign=criteo_to_bigquery)を使うと、管理画面を触ることなく、簡単にCriteo広告のレポートデータを取得し、DWH(BigQuery)に貯めることが出来ました。
また、BigQueryにデータを貯めると、データポータルというGoogleの無料ダッシュボードですぐに可視化することが出来ます。
実際に弊社サービスの[trocco](https://trocco.io/lp/index.html?utm_medium=social&utm_source=qiita&utm_campaign=criteo_to_bigquery)においても、マーケティングKPI等をこのような流れで収集・分析しています。
ぜひ広告データ分析の際にはご活用ください。
[https://trocco.io/lp/index.html](https://trocco.io/lp/index.html?utm_medium=social&utm_source=qiita&utm_campaign=criteo_to_bigquery)

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

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