今回はYahoo!広告スクリプトを用いてスプレッドシートにデイリーレポートを出力する方法を紹介します。
Yahoo!広告は2023年2月に正式リリースされました。Google広告同様スプレッドシートと連携できるのが魅力的ですね。
目次
サンプルコード
function main(){
// スプレッドシートを指定
var spreadsheet = SpreadsheetApp.openByUrl('https://docs.google.com/spreadsheets/d/スプレッドシートのURL/');
// シート名を指定
var sheet = spreadsheet.getSheetByName('シート名');
// アカウントIDを取得
const accountId = AdsUtilities.getCurrentAccountId();
// レポートを定義
const report = AdsUtilities.getSearchReport({
accountId: accountId,
fields: ['DAY', 'CAMPAIGN_NAME', 'IMPS', 'CLICKS', 'COST', 'CONVERSIONS'],
reportDateRangeType: 'THIS_MONTH',
reportType: 'CAMPAIGN',
reportSkipColumnHeader : "FALSE",
}).reports[0].rows;
// レポートをスプレッドシートに出力
sheet.getRange('A1').setValues(report);
}
サンプルコードの説明
スプレッドシートを指定する
// スプレッドシートを指定
var spreadsheet = SpreadsheetApp.openByUrl('https://docs.google.com/spreadsheets/d/スプレッドシートのURL/');
// シート名を指定
var sheet = spreadsheet.getSheetByName('シート名');
スプレッドシートを指定する方法は他にもあります。
スプレッドシートのIDを指定する
var spreadsheet = SpreadsheetApp.openById('xxxxxxxxx');
アクティブなシートを指定する
var spreadsheet = SpreadsheetApp.getActivesheet();
取得したいレポート項目を指定する
// アカウントIDを取得
const accountId = AdsUtilities.getCurrentAccountId();
// レポートを定義
const report = AdsUtilities.getSearchReport({
accountId: accountId,
fields: ['DAY', 'CAMPAIGN_NAME', 'IMPS', 'CLICKS', 'COST', 'CONVERSIONS'],
reportDateRangeType: 'THIS_MONTH',
reportType: 'CAMPAIGN',
reportSkipColumnHeader : "FALSE",
}).reports[0].rows;
Google広告スクリプトとは異なり、まずアカウントIDを取得します。
基本的な指標である日付・キャンペーン名・インプレッション数・クリック数・コスト・コンバージョン数を指定しています。
取得したい指標が他にもある場合は、追加することができます。
今回は下記ページを参考に、今月の日×キャンペーン別のレポートを作成しました。
「レポートフィールド」>「キャンペーンレポート」に進むと、取得できる指標が一覧化されたファイルをダウンロードできます。
レポートをスプレッドシートに出力する
// レポートをスプレッドシートに出力
sheet.getRange('A1').setValues(report);
指定したシートにレポートを出力することができます。
Google広告スクリプトではexportToSheetを使っていましたが、exportToSheetはYahoo!広告スクリプトでは使えません。
代わりにgetRange・setValuesを用いています。
Yahoo!広告スクリプトの参考ページ
Googleスプレッドシートへレポートを出力するサンプルコードを確認できます。
Googleスプレッドシート
Yahoo! JAPANが提供するYahoo!広告 スクリプトのDeveloper Centerです。
取得する指標を確認できます。
指標以外で定義する項目についてはこちら。