1
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

posted at

updated at

Organization

Yahoo!広告のデータをSnowflakeに自動同期し、Lookerで可視化する

概要

Yahoo!で広告掲載をする際、クリック率やインプレッション数を解析することが重要となります。しかし、新しくデータが増える度にデータをダウンロードして最新の状態にし、グラフを作り直すのは手間がかかります。
そこで今回は、troccoという分析基盤向けデータ統合サービスを使い、Yahoo!広告データの抽出自動化+DWH(データウェアハウス)への統合+可視化までやってみようと思います。

今回、データの転送手段として採用したtroccoは、Yahoo!広告の他にも、様々な広告・CRM・DBなどのデータソースにも対応しています。
troccoの使い方まとめ(CRM・広告・データベース他)
イメージ画像.png

ゴール

Yahoo!広告のデータをこのようにSnowflakeに統合し

データプレビュー.png

Lookerで可視化します(作成後は自動で最新値に更新することも可能です)
完成.png

こんな人におすすめ

  • Yahoo!広告のレポートをcsvファイルにエクスポートして分析基盤に取り込むまでの作業時間が長く、無駄が多いと感じている方
  • Yahoo!広告を利用中で、分析基盤やDWH(データウェアハウス)へのデータ統合・ETLを考えている方
  • LookerやSnowflakeでYahoo!広告のデータを分析したい方

1. troccoでYahoo!広告→Snowflakeの転送自動化

1-0. 事前準備

データの転送のためにはtroccoのアカウント・Yahoo!のアカウントが必要です。
無料トライアルを実施しているので、事前に申し込み・登録しておいてください!
https://trocco.io/lp/index.html
(申込の際に、この記事を見た旨を記載して頂ければご案内がスムーズに行えます)

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

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

転送元に「YSS」を指定し、転送先に「Snowflake」を選択して転送設定作成ボタンを押します。
新規作成.png

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

1-2. Yahoo!広告との連携設定

あとで見たときに自分で分かるように転送設定の名前とメモを入力します。
名前入力.png

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

別タブで接続情報の新規作成画面が開きますので、「Yahooアカウント認証」をクリックします。
Yahoo接続情報.png

「Yahoo! JAPANビジネスIDでログイン」の画面に進むのでログインし、画面の指示に従い接続情報を登録すると、アクセストークンを発行することができます。

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

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

1-3. Yahoo!広告からのデータ抽出設定

次に、どのようなデータを取得するかを設定していきます。

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

◯レポートタイプ
レポートタイプを選択して下さい。各レポートごとに取得できる項目が異なります。
レポートタイプはACCOUNT,CAMPAIGN,ADGROUP,AD,KEYWORDSの中から選択できます。

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

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

yahoo設定.png

1-4. 転送先Snowflakeの設定

転送元と同様に設定していきます。Snowflakeの接続情報を作成していきます。
転送先となるSnowflakeの接続先ホスト、ユーザー名、及びパスワードが必要になります。

snowflake追加.png

先ほど作成した接続情報を選択し、転送先とするウェアハウス、データベース名、スキーマ名を設定します。
転送モードに関してはreplaceを選択します。各転送モードの詳細はこちらの「転送モードについて」をご確認ください。

snowflake.png

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

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

少し待つと、転送元のデータがプレビューされます。ここではYahoo!広告から取り込んだデータが表示されています。
転送設定の新規作成.png

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

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

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

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

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

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

これで転送は完了です!

2. Snowflakeの設定

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

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

3. Lookerで可視化

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

まずはSnowflakeとLookerの接続設定を行います。
管理タブを開いて「データベース」の「接続」を開きます。
接続選択.png

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

Snowflakeのデータベースに接続できたら、次はデータを可視化するために必要なLookMLプロジェクトを作成していきます。 開発タブを開いて「LookMLプロジェクトの管理」に移動します。

プロジェクトの管理.png

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

yssdata.png

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

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

白紙のダッシュボードが作成されるので「yss_ダッシュボード」と名前をつけます。
そして「Dashborardの編集」→「タイルの追加」を選択し、先ほどのmodel内で定義したExploreを選択します。

yss.png

ディメンションとメジャーを設定し、Tileに表示したいデータをプロットします。例えば、キーワードのクリック率を分析したいときはディメンションに「キーワード」とメジャーに「クリック数」を選択します。

データ可視化例.png

そのほかに必要なタイルを作成し、ダッシュボードにまとめていきます。
完成.png

完成しました!

まとめ

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

実際に試してみたい場合は、無料トライアルを実施しているので、この機会にぜひ一度お試しください。(申込時に、この記事を見た旨を記載して頂ければスムーズにご案内することができます)

その他にも広告やデータベースなど、様々な分析データをETL・転送した事例をまとめました。
troccoの使い方まとめ(CRM・広告・データベース他)

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
1
Help us understand the problem. What are the problem?