概要

Yahoo!広告はGoogle広告と同様ユーザーからの検索に対して広告を表示できるサービスです。Yahoo!は30代以降のビジネスパーソンからの支持がいまなお根強いサービスです。したがってYahoo!広告も10代〜20代の若年層向けのtoC広告ではなくtoB向けの広告に向いています。

このような広告サービスの最適化にはYahoo!広告のデータを分析することが重要です。またYahoo!広告だけでなくGoogle広告やTwitter広告といった他の広告サービスのデータと組み合わせた分析や、データの可視化に特化したBIツールでのデータ分析はさらに有効ですが、このようなデータ分析は少なからずデータエンジニアリングの知識を必要とするデータ分析基盤の構築が必須です。

そこで今回は、trocco®というデータ分析基盤構築支援サービスを使ってYahoo!広告のデータをSnowflakeというDWH(データウェアハウス)へ統合(ETL)し、LookerというBIツールでデータの可視化を行います。

Yahoo!広告のデータをSnowflakeへ転送

ゴール

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

データプレビュー.png

Lookerで可視化します。またグラフの作成後は自動でデータの転送からグラフまでを最新値に更新します。

完成.png

こんな人におすすめ

  • Yahoo!広告のレポートをcsvファイルにエクスポートして分析基盤に取り込む作業に疲れた方
  • Yahoo!広告を利用中で、データ分析基盤やDWHへのデータ統合・ETLを考えている方
  • Yahoo!広告のほか、複数の広告サービスのデータを横断的に分析したい方
  • LookerやSnowflakeでYahoo!広告のデータを分析したい方

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

1-0. 事前準備

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

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

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

ダッシュボード.png

転送元に「YSS」を指定し、転送先に「Snowflake」を選択して「この内容で作成」ボタンを押します。

新規作成.png

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

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

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

名前入力.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の設定

Snowflake側で特に操作は必要ありませんが、念の為Snowlfakeのコンソール画面からプレビューを確認してみるとたしかにデータが転送されていることが確認できます。

データプレビュー.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)へ統合、連携したLookerでデータの可視化を行うことが出来ました。

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

データ分析基盤構築サービスtrocco
hirokazu.kobayashi

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