見出し画像

【Webマーケター必見】Yahoo広告スクリプトを使えるようになると生産性が上がる!

今回は2023年2月16日に提供開始されたYahoo広告スクリプトを使ってスプレッドシートにYahoo広告のレポーティング自動化について記事を書いていきます。

Yahoo広告スクリプトを使えば、ルーティン化されている広告効果のれポーティング業務をわざわざ人の手でやる必要がなくなるのでWebマーケティング担当者はぜひ使ってみてください。
Java Scriptを少し勉強する必要がありますが、エンジニアの手を介することなくレポーティングを自動化することができます。

こんな感じのレポーティングが自動化できる↓

Yahoo広告スクリプトを使ったレポート自動化

Yahoo広告スクリプトを使うには

Yahoo広告アカウントがあれば、基本的に誰でも使えます。
検索広告でもディスプレイ広告でも使えてToolsタブに入ると下の方にYahoo! JAPAN Ads Scriptというボタンがあるので、こちらから入ります。

Search Ads

Yahoo広告スクリプトに入るとこのような画面になるので、ここでスクリプトを書いていきます。

Yahoo広告スクリプト

「Create new」をクリックするとスクリプトを書く画面が立ち上がるので、ここで記述していきます。

Java Scriptを書く

ちなみにGoogleスプレッドシートに吐き出すには、右上の「External tool connection」というボタンをクリックしてGoogleアカウントと連携する必要があります。

External tool connection
Googleアカウントと連携

ここまで来ればあとはJava Scriptを書いて自動化したいレポート指標をスプレッドシートに吐き出すだけですが、、
Java Scriptがわからないとここが結構難しい。
自分も調べながら、なんとかできました。

Yahoo広告スクリプトの例

調べながらなんとか書いたYahoo広告スクリプトの例をいくつか記載します。

過去31日間の日別アカウントレポート(コスト・インプレッション・クリック・コンバージョン)

function main(){
  const accountId = AdsUtilities.getCurrentAccountId();
  var today = new Date();
  var end_year = today.getFullYear();
 var end_month = ("00" + (today.getMonth()+1)).slice(-2);
 var end_date = ("00" + (today.getDate())).slice(-2);
 var end = end_year + end_month + end_date;
  today.setDate(today.getDate() - 31);
  var sta_year = today.getFullYear();
 var sta_month = ("00" + (today.getMonth()+1)).slice(-2);
 var sta_date = ("00" + (today.getDate())).slice(-2);
 var sta = sta_year + sta_month + sta_date;
  const startDate = sta; //Write the date in yyyyMMdd format
  const endDate = end;
  const spreadsheetId = 'スプレッドシートのIDを入れる';
  const ss = SpreadsheetApp.openById(spreadsheetId);
  const sheetName = 'レポート抽出したいシート名を入れる';
  let sh = ss.getSheetByName(sheetName);
  const reports = AdsUtilities.getSearchReport({
    accountId: accountId,
    dateRange: {
      endDate: endDate,
      startDate: startDate,
    },
    fields: ['DAY','COST', 'IMPS', 'CLICKS', 'CONVERSIONS'],
    reportDateRangeType: 'CUSTOM_DATE',
    reportType: 'ACCOUNT',
  });
  sh.getRange('レポート抽出したいセル番号を入れる').setValues(reports.reports[0].rows);
}

過去31日間の日別キーワードレポート(コスト・インプレッション・クリック・コンバージョン)

function main(){
  const accountId = AdsUtilities.getCurrentAccountId();
  var today = new Date();
  var end_year = today.getFullYear();
 var end_month = ("00" + (today.getMonth()+1)).slice(-2);
 var end_date = ("00" + (today.getDate())).slice(-2);
 var end = end_year + end_month + end_date;
  today.setDate(today.getDate() - 31);
  var sta_year = today.getFullYear();
 var sta_month = ("00" + (today.getMonth()+1)).slice(-2);
 var sta_date = ("00" + (today.getDate())).slice(-2);
 var sta = sta_year + sta_month + sta_date;
  const startDate = sta;//Write the date in yyyyMMdd format
  const endDate = end;
  const spreadsheetId = 'スプレッドシートのIDを入れる';
  const ss = SpreadsheetApp.openById(spreadsheetId);
  const sheetName = 'レポート抽出したいシート名を入れる';
  let sh = ss.getSheetByName(sheetName);
  const reports = AdsUtilities.getSearchReport({
    accountId: accountId,
    dateRange: {
      endDate: endDate,
      startDate: startDate,
    },
    fields: ['DAY','CAMPAIGN_NAME' ,'ADGROUP_NAME' , 'KEYWORD', 'KEYWORD_MATCH_TYPE' ,'COST', 'IMPS', 'CLICKS', 'CONVERSIONS'],
    reportDateRangeType: 'CUSTOM_DATE',
    reportType: 'KEYWORDS',
  });
  sh.getRange('レポート抽出したいセル番号を入れる').setValues(reports.reports[0].rows);
}


スクリプトを登録して「Frequency」でレポート更新したいタイミングを設定すればレポートの自動化が完成。

スクリプトを記述する際にはYahoo!広告スクリプトのサンプルスクリプトを参考にしました。


この記事が気に入ったらサポートをしてみませんか?