Skip to content

Instantly share code, notes, and snippets.

@1987yama3
Created July 4, 2016 08:05
Show Gist options
  • Save 1987yama3/cd8a15d1cc3dad675b58c70ac18e4e63 to your computer and use it in GitHub Desktop.
Save 1987yama3/cd8a15d1cc3dad675b58c70ac18e4e63 to your computer and use it in GitHub Desktop.
キャンペーン/広告グループの名前を一括更新するスクリプト
/**
使い方:
1. 最初にexport()を実行してキャンペーン/広告グループのデータをスプレッドシートに書き出します。
書き出すスプレッドシートは、下記のsheetIDで設定したIDのスプレッドシートとなります。
2. export()を実行したあとに、スプレッドシートにキャンペーン/広告グループのデータが出力された
ことを確認します。
3. 出力されたキャンペーン/広告グループのデータを書き換えます。このとき、ID列を変更しないように
してください(この値で既存のデータとマッチングさせます)。
4. もう一度スクリプトを実行します。このとき、exportの行はコメントアウトし、importの行のコメント
を外してください。プレビューで実行し、問題ないことを確認してから、実行することをお奨めします。
※ 1を何度も実行すると、スプレッドシートには末尾に追記書き込みされていきます。やり直すときは一度
シートに出力されたデータを全て削除してから行うことをお奨めします。
※ キャンペーン/広告グループの名称は上から下に処理が行われ、順次上書きされていきます。同じIDの
キャンペーンで複数の名称で設定した場合、一番下で設定したものになります。
*/
function main() {
var sheetID = '********';
export(sheetID);
// import(sheetID);
}
function import(sheetID) {
var sheet = SpreadsheetApp.openById(sheetID);
var rows = sheet.getDataRange().getValues();
for (var i = 0; i < rows.length; i++) {
var row = rows[i];
var campaign = AdWordsApp.campaigns().withIds([ row[0] ]).get().next();
campaign.setName(row[1]);
var adgroup = AdWordsApp.adGroups().withIds([ row[2] ]).get().next();
adgroup.setName(row[3]);
}
}
function export(sheetID) {
var adgroups = AdWordsApp.adGroups().get();
var sheet = SpreadsheetApp.openById(sheetID);
while (adgroups.hasNext()) {
var adgroup = adgroups.next();
sheet.appendRow([
adgroup.getCampaign().getId(),
adgroup.getCampaign().getName(),
adgroup.getId(),
adgroup.getName()
]);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment