如何使用Google Ads脚本批量编辑广告计划的竞价调整?

huangapple go评论119阅读模式
英文:

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 = [
    &quot;MONDAY&quot;, &quot;TUESDAY&quot;, &quot;WEDNESDAY&quot;, &quot;THURSDAY&quot;, 
    &quot;FRIDAY&quot;, &quot;SATURDAY&quot;, &quot;SUNDAY&quot;
  ];

  // Loop through each campaign ID
  for (var campaignIndex = 0; campaignIndex &lt; 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 &lt; daysOfWeek.length; dayIndex++) {
        // Loop through each time interval and set bid adjustment
        for (var timeIndex = 0; timeIndex &lt; 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.

huangapple
  • 本文由 发表于 2023年5月30日 05:08:33
  • 转载请务必保留本文链接:https://go.coder-hub.com/76360334.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定