Yahoo!広告 スクリプト | Developer Center
EnglishWebinarデモ-コスト超過通知
※このソースコードは MIT License のもとで提供されています。https://ads-developers.yahoo.co.jp/ja/ads-script/post/30418913.html
スクリプト内容:指定したコスト以上になったキャンペーンの一覧をスプレッドシートに出力し、メールで通知する
function main() {
const SPREAD_SHEET_ID = 'SPREAD_SHEET_ID'; //★書き出すスプレッドシートID
const SHEET_NAME = 'シート1';//★スプレッドシートのシート名
const TARGET_COST = 100000;//★通知対象としたいコストの値を入力
const CAMPAIGN_IDS = ['123456', '234567'];//★判定対象のキャンペーンIDを指定
const MAIL_TO = ['abcde12345'];//★メール通知先のビジネスIDを指定
const MAIL_TITLE = 'コスト超過キャンペーン通知';//★メールタイトルを指定
const MAIL_HONBUN = '指定したコスト以上になっているキャンペーンがありました。対象はスプレッドシートをご確認ください。\n' +
'https://docs.google.com/spreadsheets/d/' + SPREAD_SHEET_ID;//★メール本文を指定
const accountId = AdsUtilities.getCurrentAccountId();
//スプレッドシート
const ss = SpreadsheetApp.openById(SPREAD_SHEET_ID);
let sh = ss.getSheetByName(SHEET_NAME);
sh.clear();//既存行をクリア
//レポート取得
const reportData = AdsUtilities.getSearchReport({
accountId: accountId,
fields: [
'ACCOUNT_NAME', 'CAMPAIGN_ID', 'CAMPAIGN_NAME', 'IMPS', 'CLICKS', 'COST', 'CONVERSIONS'
],
filters: [//フィルター
{//指定したコスト
field: 'COST',
filterOperator: 'GREATER_THAN',
values: [TARGET_COST]
}, {//指定したキャンペーンID
field: 'CAMPAIGN_ID',
filterOperator: 'IN',
values: CAMPAIGN_IDS
}
],
reportDateRangeType: 'YESTERDAY',
reportType: 'CAMPAIGN',
reportSkipColumnHeader: 'FALSE',
sortFields: [//並び順
{//コストの多い順
field: "COST",
reportSortType: "DESC"
}
]
}).reports[0].rows;
//スプレッドシートに出力
sh.getRange('A1').setValues(reportData);
if (reportData.length > 1) {//ヘッダ以外の行がある場合のみ
//メール通知
MailApp.sendEmail({
to: MAIL_TO,
subject: MAIL_TITLE,
body: MAIL_HONBUN
});
}
}