英文:
How to bulk edit bid adjustments for campaign ad schedule using Google Ads Script?
问题
我有一堆广告系列,我想批量编辑广告排期出价调整。如何使用Google Ads脚本实现这一目标?
英文:
I have a bunch of campaigns that I want to bulk edit ad schedule bid adjustments. How can I achieve that using Google Ads Script?
答案1
得分: 0
这是一个Google Ads脚本,它接受一个广告系列ID数组,并针对给定的广告系列列表将出价调整设置为**+1%**:
function main() {
var CAMPAIGN_IDS = [INSERT_YOUR_CAMPAIGN_IDS]; // 用你的广告系列ID替换
// 定义时间间隔
var timeIntervals = [
{startHour: 0, startMinute: 0, endHour: 4, endMinute: 0}, // 00:00 - 04:00
{startHour: 4, startMinute: 0, endHour: 8, endMinute: 0}, // 04:00 - 08:00
{startHour: 8, startMinute: 0, endHour: 12, endMinute: 0}, // 08:00 - 12:00
{startHour: 12, startMinute: 0, endHour: 16, endMinute: 0}, // 12:00 - 16:00
{startHour: 16, startMinute: 0, endHour: 20, endMinute: 0}, // 16:00 - 20:00
{startHour: 20, startMinute: 0, endHour: 24, endMinute: 0} // 20:00 - 24:00
];
// 定义一周的每天
var daysOfWeek = [
"MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY",
"FRIDAY", "SATURDAY", "SUNDAY"
];
// 遍历每个广告系列ID
for (var campaignIndex = 0; campaignIndex < CAMPAIGN_IDS.length; campaignIndex++) {
var campaignId = CAMPAIGN_IDS[campaignIndex];
// 通过ID检索广告系列。
var campaignIterator = AdsApp.campaigns()
.withIds([campaignId])
.get();
if (campaignIterator.hasNext()) {
var campaign = campaignIterator.next();
// 遍历每周的每一天
for (var dayIndex = 0; dayIndex < daysOfWeek.length; dayIndex++) {
// 遍历每个时间段并设置出价调整
for (var timeIndex = 0; timeIndex < timeIntervals.length; timeIndex++) {
var timeInterval = timeIntervals[timeIndex];
campaign.addAdSchedule({
dayOfWeek: daysOfWeek[dayIndex],
startHour: timeInterval.startHour,
startMinute: timeInterval.startMinute,
endHour: timeInterval.endHour,
endMinute: timeInterval.endMinute,
bidModifier: 1.01 // 1% 出价调整
});
}
}
}
}
}
注意:你需要根据你的情况更新bidModifier
的值。
一旦设置了该脚本,你可以确定其执行频率。
英文:
Here is a Google Ads script that takes an array of campaign IDs and sets bid adjustment as +1% for a given list of campaigns:
function main() {
var CAMPAIGN_IDS = [INSERT_YOUR_CAMPAIGN_IDS]; // Replace with your Campaign IDs
// Define time intervals
var timeIntervals = [
{startHour: 0, startMinute: 0, endHour: 4, endMinute: 0}, // 00:00 - 04:00
{startHour: 4, startMinute: 0, endHour: 8, endMinute: 0}, // 04:00 - 08:00
{startHour: 8, startMinute: 0, endHour: 12, endMinute: 0}, // 08:00 - 12:00
{startHour: 12, startMinute: 0, endHour: 16, endMinute: 0}, // 12:00 - 16:00
{startHour: 16, startMinute: 0, endHour: 20, endMinute: 0}, // 16:00 - 20:00
{startHour: 20, startMinute: 0, endHour: 24, endMinute: 0} // 20:00 - 24:00
];
// Define days of the week
var daysOfWeek = [
"MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY",
"FRIDAY", "SATURDAY", "SUNDAY"
];
// Loop through each campaign ID
for (var campaignIndex = 0; campaignIndex < CAMPAIGN_IDS.length; campaignIndex++) {
var campaignId = CAMPAIGN_IDS[campaignIndex];
// Retrieves the campaign by its ID.
var campaignIterator = AdsApp.campaigns()
.withIds([campaignId])
.get();
if (campaignIterator.hasNext()) {
var campaign = campaignIterator.next();
// Loop through each day of the week
for (var dayIndex = 0; dayIndex < daysOfWeek.length; dayIndex++) {
// Loop through each time interval and set bid adjustment
for (var timeIndex = 0; timeIndex < timeIntervals.length; timeIndex++) {
var timeInterval = timeIntervals[timeIndex];
campaign.addAdSchedule({
dayOfWeek: daysOfWeek[dayIndex],
startHour: timeInterval.startHour,
startMinute: timeInterval.startMinute,
endHour: timeInterval.endHour,
endMinute: timeInterval.endMinute,
bidModifier: 1.01 // 1% bid adjustment
});
}
}
}
}
}
Note: You need to update the bidModifier
value depending on your case.
Once you set the script, you can determine its frequency.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论