CData Software Blog

クラウド連携のCData Software の技術ブログです。

Yahoo! 広告のレポートを Power BIで分析する:CData Yahoo Ads Power BI Connector

f:id:sugimomoto:20220119172250p:plain

こんにちは。CData Software Japan リードエンジニアの杉本です。

今回は新しくリリースされたCData Yahoo Ads Driverを使って、Yahoo! 広告のデータをPower BIで分析する方法を紹介したいと思います。

Yahoo! 広告とは?

有名なポータルサイトを展開する Yahoo! Japanが提供するWeb広告サービスです。

ads-promo.yahoo.co.jp

f:id:sugimomoto:20220119172258p:plain

広告は Yahoo! JAPANの検索結果に表示される「検索広告」とコンテンツページに表示される「ディスプレイ広告」の2種類があります。

f:id:sugimomoto:20220119172306p:plain

さらに Yahoo! 広告では広告業務の自動化やレポートの取込を行うAPIが提供されており、様々なツール・プログラムと連携させることが可能になっています。

ads-developers.yahoo.co.jp

f:id:sugimomoto:20220119172312p:plain

この記事のシナリオ

今回は Power BI から Yahoo! 広告のレポート結果を取得して分析する方法をお伝えしたいと思います。

Yahoo! 広告では通常以下のようなレポート作成画面で任意のレポートを定義して、その結果をCSVで取得し、分析を行います。ただ、このままでは大量のレポートが存在する場合、毎回手動でダウンロード・Power BIにインポート・可視化までを行うのが大変ですね。

f:id:sugimomoto:20220119172317p:plain

そのためAPIを使って自動化したいところですが、Yahoo Ads APIと一口にいっても独自のAPI仕様が存在し、単純にPower BI からAPIリクエストを発行して取得→分析までストレートに実施できるわけではありません。

そこで、このボトルネックを CData Yahoo Ads Power BI Connectorを使って解消します。

Power BI はもともとODBC いった標準のデータ接続インターフェースを持っています。CData Power BI Connector はその標準インターフェースを利用し、各ツールから受け取ったSQLを変換して Yahoo Ads API へリクエストを行うようにします。

f:id:sugimomoto:20220119172325p:plain

リクエスト後、JSONフォーマットで返ってきたデータセットは CData Power BI Connector が各インタフェースのテーブル形式に変換して各ツールに返すようにします。

これにより、API仕様の複雑さを意識せず、データの取得・分析・活用までをシンプルに実現できるようになります。

手順

それでは実際に Power BI と Yahoo Ads API の連携する手順を説明していきましょう。

CData Yahoo Ads Power BI Connector のセットアップ

まず CData Power BI Connectorを セットアップします。

以下のURLより30日間のトライラルが入手できるので、ダウンロードしてみてください。

www.cdata.com

f:id:sugimomoto:20220119172332p:plain

ダウンロード後、セットアップファイルを実行すると、以下のようなウィザードが表示されるので、手順に従って、セットアップを進めます。

f:id:sugimomoto:20220119172339p:plain

接続の設定

セットアップ完了後、接続設定画面が表示されるので、以下の項目に値を入力して、「接続のテスト」をクリックしてください。

なお、今回は検索広告のレポートを取得する想定なので、Search Ads Account Idの指定が最低限必要になります。

プロパティ名 備考
Display Ads Account Id 例)123456789 ディスプレイ広告APIを利用する場合はこの値を設定します。
Search Ads Account Id 例)123456789 検索広告APIを利用する場合はこの値を設定します。
Language 例)EN レポートなどの項目名を取得するための言語を指定します。

f:id:sugimomoto:20220119172345p:plain

各 Account Idは以下のURLの画面で確認できます。

https://ads.yahoo.co.jp/manager/#/authority/search

f:id:sugimomoto:20220119172350p:plain

入力後、「接続のテスト」をクリックするとブラウザが立ち上がり、Yahooビジネスアカウントでのログインおよびアクセス許可を求める画面が表示されます。内容を確認の上「承認」をクリックしてください。

f:id:sugimomoto:20220119172355p:plain

これで以下のように接続に成功したという旨のメッセージが表示されればOKです。

f:id:sugimomoto:20211129182702p:plain

Power BI で キャンペーン一覧を取得する

それではPower BI からYahoo Ads のデータにアクセスしてみましょう。

レポートを取得するのが今回の記事のゴールですが、その前にまず登録されているキャンペーンの一覧を取得してみます。

Power BI Desktopを立ち上げて「データを取得」をクリックし

f:id:sugimomoto:20211129182707p:plain

一覧の中から「CData YahooAds」を選択します。

f:id:sugimomoto:20220119172359p:plain

Data Source Nameには先程接続設定を行った際の接続名「CData Power BI YahooAds」を入力し「OK」をクリックします。

f:id:sugimomoto:20220119172404p:plain

Yahoo Ads の各種APIはテーブルという形で Power BI から利用できるようになっています。

また、カテゴリ(スキーマ)として、検索広告のAPI(SearchAds)とディスプレイ広告のAPI(DisplayAds)に分かれているので、ユースケースに応じて、任意のカテゴリを選択します。

f:id:sugimomoto:20220119172408p:plain

検索広告のキャンペーン一覧は「SearchAdsCampaigns」で取得できるので、以下のように選択しましょう。

f:id:sugimomoto:20220119172414p:plain

あとはデータ「読み込み」を行えば、Power BI にキャンペーンの一覧がダウンロードされます。

f:id:sugimomoto:20220119172419p:plain

レポートの取得

続いてレポートの取得を行います。

CData Yahoo Ads Power BI Connectorではビューとしてレポートの取得ができるようになっていますが、そのデータの取込には少し注意が必要です。

APIが集計結果を取得することに特化した仕様であるため、CData Yahoo Ads Power BI Connectorでもどのグルーピングでどの値の集計結果を表示するのか? を明示的に指定する必要があります。

まず、レポートが取得できるビューは以下の通りとなっています。

<検索広告>

  • ReportSearchAdsAccount
  • ReportSearchAdsAd
  • ReportSearchAdsAd_customizers
  • ReportSearchAdsAdgroup
  • ReportSearchAdsBid_strategy
  • ReportSearchAdsCampaign
  • ReportSearchAdsFeed_item
  • ReportSearchAdsGeo
  • ReportSearchAdsGeo_target
  • ReportSearchAdsKeywordless_query
  • ReportSearchAdsKeywords
  • ReportSearchAdsLanding_page_url
  • ReportSearchAdsSchedule_target
  • ReportSearchAdsSearch_query
  • ReportSearchAdsTarget_list
  • ReportSearchAdsWebpage_criterion

<ディスプレイ広告>

  • ReportDisplayAdsAd
  • ReportDisplayAdsAudience_category
  • ReportDisplayAdsConversion_path
  • ReportDisplayAdsCross_campaign_reaches
  • ReportDisplayAdsFrequency
  • ReportDisplayAdsInterest_category
  • ReportDisplayAdsLabel
  • ReportDisplayAdsPlacement_target
  • ReportDisplayAdsReach
  • ReportDisplayAdsSearch_target
  • ReportDisplayAdsSite_category
  • ReportDisplayAdsSite_retargeting
  • ReportDisplayAdsUrl

例えば、今回は地域別のレポートを取得してみましょう。

広告管理画面では、「地域別レポート」を選んだ時のイメージです。表示切り替えを「都道府県」にし、都道府県別の「クリック数」と「インプレッション数」を取得する想定で実施してみます。

f:id:sugimomoto:20220119172426p:plain

地域別レポートは「ReportSearchAdsGeo」で取得できます。

CData Yahoo Ads Connector では SQLで以下のように表現することでこのレポートを取得することができます。

SELECT Prefecture,Clicks,Impressions FROM ReportSearchAdsGeo WHERE ReportDateRangeType = 'ALL_TIME';

この時に集計項目と集計値をSELECTで「SELECT Prefecture,Clicks,Impressions」のようにそれぞれ指定するのがポイントです。

ちなみにデータの対象範囲は「ReportDateRangeType = 'ALL_TIME';」のように指定できます。

これを以下のように接続設定時の「SQL Statement」に貼り付けることで、結果を取得できます。

f:id:sugimomoto:20220119172432p:plain

結果を見てみると都道府県別のクリック数とインプレッション数の集計値が取れていますね。

f:id:sugimomoto:20220119172436p:plain

あとはこのデータを読み込んで、Power BIの機能で可視化すれば、都道府県別のレポートが作成できます。

f:id:sugimomoto:20220119172442p:plain

おわりに

本記事では Power BI をもとに解説しましたが、CData Driver ではPower BI 以外にも様々なBIツールやアナリティクスツールの接続をサポートしています。

以下のURLで各ツールの接続リファレンスを公開していますので、普段使っているツールから是非試してみてください。

www.cdata.com