TikTok Ads(広告)のレポートをBigQueryに自動同期し、データポータル(旧Data Studio)で可視化する

## 概要
TikTok上で広告キャンペーンを打つ際に、クリック数、インプレッションなどのデータの分析は非常に重要になってきます。しかし、そのような分析を行うには、多くのデータを分析基盤に統合するという手間のかかる作業が待っています。
そこで、今回はTikTok AdsのレポートデータをBigQueryにtroccoを使ってデータを統合し、Googleデータポータル(旧Data Studio)で可視化するまでを行ってみます。

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

![Untitled (3).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/673168/80a32d5c-d036-95c1-43d1-f05f7b475b6e.png)
## ゴール
TikTok Adsのレポートデータから
![tiktok_1-2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/673168/c80cd101-1417-85bc-ebae-b7e1195fdfbc.png)


こんなのを30分くらいで作り上げます（当然、作ったあとは自動で最新値が更新されるようにします）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/673168/81c3fdb9-8c62-f7d8-190f-34381f2ce85a.png)
## こんな人におすすめ
- TikTok Adsのデータを分析基盤・DWHに取り込みたい方
- 分析基盤・DWHにレポートデータを毎回xlsxファイルにエクスポートし取り込んでおり、時間の浪費に悩んでいる方
- 様々なデータ取得の作業に疲れている方

## 1. DWHと同期する手段の選定
### 1-1. DWHの選定
まずはデータをどこに集約するか、DWH（データウェアハウス）を選定します。

- `Google BigQuery`
- `Amazon Redshift`
- `MySQL`
- `PostgreSQL` など
今回は`Google BigQuery`を利用することにします。

### 1-2.TikTok AdsのデータをBigQueryに転送する4つの方法
BigQueryにデータを集約することが決まったので、次は転送するための手段を検討していきます。
**1.** TikTok Adsデータをxlsxデータ形式でエクスポートし、手動でBigQueryにアップロードする。
**2.** TikTok AdsとBigQueryの各APIを、プログラムを書いて連携する。
**3.** Embulkを利用し、自分で環境を構築する
**4.** [trocco](https://trocco.io/lp/index.html?utm_medium=social&utm_source=qiita&utm_campaign=tiktok_to_bigquery)を利用し、画面上で設定する。

**1.** は単発の実行であればよいのですが、定期的な取り込み用途だと毎回同じ作業を繰り返すことになり、非効率な作業になりがちです。
**2.** はAPIのキャッチアップ工数+プログラムを書く工数+環境構築工数が発生する他、エラー対応などの運用工数も継続的に発生します。
**3.** も2と同じくEmbulkはある程度の専門知識が必要になり、自前で環境構築・運用を行う手間が発生します。加えてエラーの内容が少し専門的です。
そこで今回はEmbulkの課題も解決してくれて、プログラムを書かずに画面上の設定で作業が完結する、**4.**の**[trocco](https://trocco.io/lp/index.html?utm_medium=social&utm_source=qiita&utm_campaign=tiktok_to_bigquery)**というSaaSを利用します。
## 2. troccoでTikTok Ads→BigQueryの転送自動化
### 2-0. 事前準備
[trocco](https://trocco.io/lp/index.html?utm_medium=social&utm_source=qiita&utm_campaign=tiktok_to_bigquery)のアカウントおよびTikTok Adsのアカウントが必要です。
[無料トライアル](https://trocco.io/inquiry_trial/new?utm_medium=social&utm_source=qiita&utm_campaign=tiktok_to_bigquery)も実施しているので、事前に申し込み・登録しておいてください！
（申込時に、この記事を見た旨を記載して頂ければご案内がスムーズです）
### 2-1. 転送元・転送先を決定
[trocco](https://trocco.io/lp/index.html?utm_medium=social&utm_source=qiita&utm_campaign=tiktok_to_bigquery)にアクセスし、ダッシュボードから転送設定を作成ボタンを押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/459450/45ead314-25c9-dda0-3363-665cc0be7e3e.png)
転送元にTikTok Ads、転送先にBigQueryを選択し、転送設定作成ボタンを押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/673168/22a6a2dd-05b6-8374-fbc0-bd52a532b639.png)
すると、設定画面になるので、設定画面から必要な情報を入力していきます。
### 2-2. TikTok Adsとの連携設定
転送設定の名前とメモを入力します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/673168/acac324a-8814-7b9d-10cf-fb31402f73c6.png)
転送設定の名前とメモを入力したら、「転送元の設定」内の「接続情報を追加」ボタンを押し、TikTok Adsの接続情報の設定を行います。
(トークン取得などの複雑な作業はなく、TikTok Adsのアカウントで認証できます）
![Untitled.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/673168/ae7cdc84-d3a8-3bf9-dce3-841fb03ec988.png)
データを取得したいTikTok Adsアカウントで認証を行い、接続情報を作成します。
![Untitled (2).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/673168/4deae28c-b065-033d-a67d-3beff2d78c15.png)


### 2-3.TikTok Adsからのデータ抽出設定
これでTikTok Adsとの連携は完了です。
次に、TikTok Adsの取得データを設定します。
![Untitled (1).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/673168/c6430032-c0d8-c1a8-73c6-82316329e4fb.png)
このとき、カスタム変数を使うことでジョブ実行時に指定の値を置き換えることもできます。

以上でTikTok Ads側の設定は完了です。
次は転送先のBigQueryの設定を行っていきましょう。
### 2-4. 転送先BigQueryの設定
転送元と同じ要領で設定していきます。
データセットとテーブルは好きな名前を入力していきます。自動生成オプションを有効にすれば、データセット・テーブルが自動作成されます。
また、カスタム変数を使うことにより、ジョブ実行時に指定の値に置き換えることができます。
BigQueryデータセットのロケーションを指定することができます。デフォルトはUSリージョンです。
東京リージョンを指定する場合はasia-northeast1を入力して下さい。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/459450/20482b6d-aab0-aa14-6e15-18ef71b0b9f8.png)
これで入力は完了です。「保存して自動データ設定・プレビューへ」をクリックし、確認作業に進みましょう。
### 2-5. データのプレビュー
転送元のデータがプレビューされます。ここではTikTok Adsから取り込んだデータが表示されています。
問題なければ、設定完了するを押して、スケジュールや通知設定に進みます。
![tiktok_6-2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/673168/fbeebb02-67a7-97ee-c966-89c49afc27d9.png)
### 2-6. スケジュール設定
「スケジュール・トリガー設定」タブを開きます。
![貼り付けた画像_2020_10_23_15_34.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/61228/d8290deb-c2d4-2a9d-2cb5-1d349fda830f.png)
以下のように実行スケジュールを設定することで、転送を自動化することが出来ます。
![Untitled (6).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/673168/e0390870-6516-39bc-61c2-4ec5a8cc14a7.png)
### 2-7. 通知設定
必須の設定ではないですが、通知タイプ・通知条件・通知先を選択し設定を保存することで、EmailまたはSlackに通知を行うことが出来ます。
![Untitled (7).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/673168/7e40c6e3-0f89-cbd0-c524-5d8d537ee1c9.png)

また、必要な時のみ実行したい場合は、手動で行うことも出来ます。
その場合は、転送設定詳細の「実行」ボタンを押下し進めていきます。
![Untitled (8).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/673168/48e401fd-f5b3-235b-32eb-9676470b9e24.png)

## 3. BigQueryの設定
特に設定することはありません。データが溜まっているので、今すぐに分析・可視化を行うことが出来ます。
データをプレビューして確認してみます。
![tiktok_5-2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/673168/9ee5a43c-8173-2146-a2be-d5f0843edb77.png)
## 4. Googleデータポータル（旧データスタジオ）で可視化
BigQueryの画面から、「エクスポート > データポータル」を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/459450/e3f5e64c-ac1d-016e-a0b2-b1e8caa014d2.png)
すると、以下のようなData Portalの画面に遷移します。
試しに、キャンペーン毎のクリック数の日次推移を可視化してみましょう。
![tiktok_2.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/673168/f516c944-aa65-d1bd-2fd6-ee78929bbad5.jpeg)
すると、以下のようなグラフが出来上がります。
この画面はデータポータルの「エクスプローラ」という機能になります。
「エクスプローラ」は定期的に閲覧するデータの変化の原因をアドホックに分析する際に使うイメージです。
![tiktok3.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/673168/5f101874-5d41-ab5b-b37d-6c6c1d5b6699.jpeg)
データポータルのトップ画面から、「レポート」を作成し、
上述の通りにクリック数以外のインプレッション数、エンゲージメント数などのグラフ作成を行うと、今回のゴールであるTikTok Adsの広告データダッシュボードが出来上がります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/459450/1bcf4a09-a1c9-bedb-76ba-274cfa48cecd.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/673168/81c3fdb9-8c62-f7d8-190f-34381f2ce85a.png)
## まとめ
いかがでしたでしょうか。[trocco](https://trocco.io/lp/index.html?utm_medium=social&utm_source=qiita&utm_campaign=tiktok_to_bigquery)を使うと管理画面を触ることなく、簡単にTikTok Adsのデータを取得し、DWH(BigQuery)に貯めることが出来ました。
また、BigQueryにデータを貯めると、データポータルというGoogleの無料ダッシュボードですぐに可視化することが出来ます。
実際に弊社サービスの[trocco](https://trocco.io/lp/index.html?utm_medium=social&utm_source=qiita&utm_campaign=tiktok_to_bigquery)においても、広告データやマーケティングKPI等をこのような流れで収集・分析しています。

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

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