概要

Facebook広告を出稿している企業も多いかと思います。Google検索やYahoo!検索と比べFacebookはビジネスパーソンの利用者が多く、BtoBマーケティングでの効果が期待できますが、広告効果の最適化にはFacebook広告のデータを分析することが重要です。またFacebookだけでなくGoogle広告やTwitter広告といった他の広告サービスのデータと組み合わせた分析や、データの可視化に特化したBIツールでのデータ分析はさらに有効ですが、このようなデータ分析は少なからずデータエンジニアリングの知識を必要とするデータ分析基盤の構築が必須です。

今回の記事では、trocco®というデータ分析基盤構築サービスを使ってAmazon Redshiftにデータを転送し、Lookerを利用してクリエイティブレポートを作成していきます。

なお今回、データの転送手段として採用したtrocco®は、Facebook広告クリエイティブの他にも、様々な広告・CRM・DBなどのデータソースにも対応しています。

Facebook広告のデータをRedshiftへ転送

ゴール

↓画像のようにグラフをまとめたものを30分くらいで作り上げます(作成後は自動で最新値に更新することも可能です)

qiita_20191210_1.png

こんな人におすすめ

  • Facebook広告を利用しており、分析基盤やデータウェアハウスへのデータ移行を考えている方
  • 様々な広告媒体のデータをまとめてひとつのサービスで管理・分析したい方
  • 広告管理画面からデータ取得を行う作業に疲れている方

1. DWHと同期する手段の選定

1-1. DWHの選定

まずはデータを集約する場所である、DWH(データウェアハウス)を選定します。

  • Amazon Redshift
  • Google BigQuery
  • MySQLやPostgreSQL

trocco®を利用すればいずれのDWHへの統合も可能ですが、今回はAmazon Redshiftを利用することにします。

1-2. Facebook広告のデータをAmazon Redshiftに転送する4つの方法

Amazon Redshiftにデータを集約することが決まったので、続いては転送するための手段を検討します。
1. Facebook広告のデータを管理画面からダウンロードし、手動でAmazon Redshiftにアップロードする
2. Facebook広告とAmazon Redshiftの各APIを用いて、プログラムを書いて連携する
3. Embulkを利用し、自分で環境を構築する
4. trocco®を利用し、画面上のみで設定する

1 は単発の実行であれば問題はありませんが、定期的にデータの取り込みを行うとを考えると毎回同じ作業を繰り返すことになり、手間と時間が課題となります。
2 は連携に先立ってデータエンジニアリングの知識が必要になります。APIのキャッチアップ+プログラムを書く+環境構築の時間がかかり、エラー対応などの運用工数も継続的に発生します。
3 2 と同様にEmbulkを扱うにはある程度の専門的なデータエンジニアリングの知識が必要になり、自分で環境構築・運用を行うため難易度が高いです。加えてエラーの内容がより専門的になるため、エラーの解消に時間が取られる可能性があります。
そこで今回はEmbulkの課題も解決し、プログラムを書かずに画面上の設定のみで作業が完結する、4 のtrocco®というSaaSを利用します。

2. troccoでFacebook広告→Redshiftの転送自動化

2-0. 事前準備

データの転送のためにはtrocco®のアカウント・Facebook広告を運用しているFacebookアカウント、Amazon Redshiftを運用しているAWSアカウントが必要です。
またtrocco®は現在無料トライアルを実施しているので、事前に申し込み・登録をしておきましょう。
(申し込みの際にこちらの記事を見たという旨を記載して頂ければご案内がスムーズに行えます)

2-1. 転送元・転送先を決定

trocco®にアクセスして、ダッシュボードから「転送設定を作成」のボタンを押します。

qiita_20200827_2.png


転送元に「Facebook Ads Insights」を指定し、転送先に「Amazon Redshift」を選択して転送設定作成ボタンを押します。

スクリーンショット_2020-11-02_22_46_18.png

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

2-2. Facebook広告との連携設定

trocco®には社内のユーザー間でチームを作成し、チームで転送設定を共有するチーム機能があります。チームの他メンバーがあとで見たときに分かるように転送設定の名前や転送の目的などのメモを入力します。

転送設定作成__名前設定.png

次に「転送元の設定」内の「接続情報を追加」ボタンを押します。

転送設定作成___接続設定クリック.png

別タブで接続情報の新規作成画面が開きますので、「Facebookアカウントを連携する」ボタンを押します。

Facebook_Ads_Insightsの接続情報作成___trocco-2.png

Facebookログイン画面が出てきますので、内容を確認の上、進みます。

Facebookでログイン-2.png

名前とメモを入力して保存を押します。

Facebook_Ads_Insightsの接続情報作成完了.png

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

転送設定編集___trocco.png

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

2-3. Facebook広告からのデータ抽出設定

次に、どのようなデータを取得するかを設定していきます。
ここではキャンペーンの日次レポートを抽出してみます。
アカウントID、レポートを指定し、後の工程でグラフを作成する際必要となるデータをフィールドで指定します。
取得期間で転送時にどの期間のデータを取得するかを設定しています。

転送設定全体-FB.png

2-4. 転送先Amazon Redshiftの設定

転送元と同様に設定していきます。
転送先とするデータベース名、スキーマ、テーブルを設定します。
また、一時的にデータを保存するS3バケットとプレフィックスを指定してください。
最後に転送モードを選択します。insertとすることでテーブルにデータを追加することができます。

転送設定全体-redshift.png

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

2-5. データのプレビュー

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

転送詳細設定___trocco.png

転送したいデータが取れているので、このまま「スケジュール・通知設定」に進みます。

2-6. スケジュール・通知設定

「スケジュール・トリガー設定」タブを開きます。

スケジュール設定.png

「スケジュールを追加」ボタンを押すと、以下の画像のような入力欄が出てきます。ここで実行スケジュールを設定することで、転送を定期的に実行し自動化することが出来ます。

転送設定詳細_-_実行設定___trocco.png

2-7. データ転送ジョブの実行

設定は以上です。最後に、手動で転送ジョブを実行し、Amazon Redshiftにデータを送ります。
手動で実行する場合はジョブ詳細画面の「実行」ボタンを押します。

ジョブ実行.png

これで転送は完了です。

3. Amazon Redshiftの設定

特に設定することありません。データが転送されているので、今すぐに分析・可視化を行うことが出来ます。
データがきちんと送られているかをプレビューで確認してみます。

Redshiftプレビュー.png

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

4. Lookerで可視化

それでは、これらのデータをLookerで可視化していきます。

まずはAmazon RedshiftとLookerを接続の設定を行います。
管理タブを開いて「Database」の「Connections」を開きます。

貼り付けた画像_2020_11_02_16_02.png

接続しているデータベース一覧が表示されています。ここで「Add Connection」→「Database Connection」から接続するデータベース情報を入力します。

貼り付けた画像_2020_11_02_16_06.png
貼り付けた画像_2020_11_02_16_06.png

Amazon Redshiftのデータベースに接続できたら、次はデータを可視化するために必要なLookMLプロジェクトを作成していきます。

開発タブを開いて「LookMLプロジェクトの管理」に移動します。

貼り付けた画像_2020_11_02_16_09.png

「New LookML Project」から新しいLookMLプロジェクトを作成します。

貼り付けた画像_2020_11_02_15_51.png
LookerNew_Project.png

「Create Project」を押したら、エディタでmodelとviewを定義します。
後々必要になるので、modelの中ではexploreを設定しておきましょう。
(書き方が分からない場合はLookerの公式ドキュメントを参照してください)

qiita_facebook_ads_model_–_qiita_facebook_ads.png
facebook_ads_campaign_reports_view_–_qiita_facebook_ads.png

これでグラフを作る準備が整いました。
トップページに戻って「New」からDashboardを作成します。

貼り付けた画像_2020_11_02_16_18.png

白紙のダッシュボードができました。ここに各種グラフを追加していきます。「新しいTILE」を押します。

貼り付けた画像_2020_11_02_16_24.png

先ほどのmodel内で定義したExploreを選択します。

Qiita_FacebookAds青.png

DIMENSIONSにグラフの横軸に表示したいデータ、MEASURESにグラフの縦軸に表示したいデータを設定し、Tileに表示したいデータをプロットします。ここでは日毎のクリック数を分析しています。

Qiita_FacebookAdsグラフ作成.png

これで一つTileが完成しました。この調子で他のTileも作成すると、今回のゴールであるFacbook広告のデータダッシュボードが出来上がります。

Qiita_FacebookAds-2.png
Qiita_最終形態.png

まとめ

いかがでしたでしょうか。trocco®を使うとFacebook広告の管理画面を触ることなく、また複雑なコーディング作業なしに簡単にデータを取得し、DWH(今回はRedshift)に統合することが出来ます。
Redshiftにデータを貯めると、Lookerと連携することでデータを使ってグラフを作り、データの可視化が出来ます。

実際にtrocco®を試してみたい場合は、クレジットカード不要のフリープランや無料の製品資料を提供しているので、この機会にぜひ一度お試しください。

hirokazu.kobayashi

慶應義塾大学卒業後、2014年より株式会社リブセンスへ入社。データエンジニアとして同社分析基盤立ち上げをリードする。2017年より現職primeNumberに入社。自社プロダクト「systemN」におけるSpark/Redshift活用等のデータエンジニアリング業務を行うかたわら、データ統合業務における工数削減が課題だと感じ、データ統合を自動化するサービス「trocco®」を立ち上げる。