批量上传

使用 AdWords 脚本,您可以通过上传 CSV 格式的数据对帐户做出批量更改。您可以上传来自 Google 云端硬盘、Google 电子表格、Microsoft Excel 电子表格的 CSV 文件的数据,或者在运行时在脚本中构建批量上传请求。本指南介绍了如何在脚本中使用此功能。

优点

批量上传具有以下优点:

  • 利用在 AdWords 脚本中可能还没有的新功能。
  • 更轻松地转换报告数据或对实体做出更改。
  • 在数量和时间方面的限制更宽。批量上传限制与触发它们的脚本无关。

支持哪些操作?

AdWords 脚本目前支持以下批量上传操作:

  • 广告系列管理:您可以利用批量上传创建、编辑或删除广告系列、广告组、关键字和文字广告。您还可以修改现有的广告组条件、广告和产品组。
  • 离线转化:您可以利用批量上传将离线转化数据上传到帐户。

使用场景

从 Google 云端硬盘创建批量上传

使用批量上传的最简单方法就是,在 Google 云端硬盘中上传 CSV 文件,然后利用 AdWords 脚本将该文件上传到 AdWords 中。可以采取以下步骤:

var file = DriveApp.getFilesByName("BulkCampaignUpload.csv")
    .next();
var upload = AdWordsApp.bulkUploads().newFileUpload(file);
upload.forCampaignManagement();
upload.preview();

这将在您的帐户中创建一个批量上传预览项。在帐户中转至批量操作 > 批量上传,即可看到该项。

您可以点击预览链接来查看所做的更改。

要将这些更改应用到帐户,可点击详细信息页上的应用更改按钮。如果上传的文件有错误,或者您不想做出更改,可点击放弃预览按钮放弃更改。

一旦您确认脚本逻辑运行无误,您可以跳过预览阶段,直接从脚本中应用更改。这可以通过调用批量上传实例的 apply() 方法来完成,而不是使用 preview() 方法。

从报告中创建批量上传

也可以从 AdWords 报告中创建批量上传。以下代码段将暂停在当月的花费超出 1000 美元的所有广告系列。

// Run a report to fetch all campaigns that spent more than $1000
// last month.
var query = 'SELECT CampaignId,CampaignName,CampaignStatus,Amount' +
    'FROM CAMPAIGN_PERFORMANCE_REPORT' +
    'WHERE Amount > 1000000000' +
    'DURING THIS_MONTH';
var report = AdWordsApp.report(query);

// Create an upload with the report columns.
var upload = AdWordsApp.bulkUploads().newCsvUpload([
    report.getColumnHeader('CampaignId').getBulkUploadColumnName(),
    report.getColumnHeader('CampaignName').getBulkUploadColumnName(),
    report.getColumnHeader('CampaignStatus').getBulkUploadColumnName()]);
upload.forCampaignManagement();

var rows = report.rows();
while (rows.hasNext()) {
  var row = rows.next();
  // Pause the campaigns.
  row.CampaignStatus = 'paused';

  // Convert the report row into an upload row.
  upload.append(row.formatForUpload());
}

// Use upload.apply() to make changes without previewing.
upload.preview();

从头开始创建批量上传

您可以从头开始创建批量上传,如下所示:

var columns = [
   "Campaign", "Budget", "Bid Strategy type", "Campaign type"
];

var upload = AdWordsApp.bulkUploads().newCsvUpload(columns);

upload.append({
   'Campaign': 'Test Campaign 1',
   'Budget': 2340000,
   'Bid Strategy type': 'cpc',
   'Campaign type': 'Search Only'
});
upload.forCampaignManagement();
upload.preview();

设置货币单位

默认情况下,系统将批量上传中的金额解读为采用微单位。如果您更喜欢使用实际货币金额,而不是微单位,您可以在创建上传作业时,将 moneyInMicros 选项设为 false

var upload = AdWordsApp.bulkUploads().newCsvUpload(columns,
    {moneyInMicros: false});

设置文件的语言区域

默认情况下,系统将 csv 文件内容解读为处于英语(美国)语言区域 (en_US)。您可以使用 fileLocale 选项指定另外的语言区域,如下所示:

var upload = AdWordsApp.bulkUploads().newCsvUpload(columns,
    {fileLocale: "fr_FR"});

指定语言区域时,既可以在 en_US 语言区域,也可以在 fileLocale 属性中所指定的语言区域,提供列标题。

设置时区

默认情况下,系统将文件中的时间条目解读为太平洋标准时间。您可以使用 timeZone 选项指定另外的时区,如下所示:

var upload = AdWordsApp.bulkUploads().newCsvUpload(columns,
    {timeZone: "-0800"});

设置时区在上传离线转化数据时很有用。

用于批量上传的电子表格模板

获取用于批量上传的电子表格模板的最简单方法是通过 AdWords 界面。

  • 访问 https://adwords.google.com 并登录到您的 AdWords 帐户
  • 选择广告系列
  • 点击关键字广告广告组广告系列标签(取决于要进行的修改类型)
  • 从“编辑”菜单,按“下载报告”按钮
  • 为您的电子表格选择一种格式,然后点击下载

您可以通过编程方式,使用 AdWordsApp.reports() 方法检索各列,如下所示:

var report = AdWordsApp.report("SELECT CampaignName, CampaignStatus " +
    "FROM CAMPAIGN_PERFORMANCE_REPORT " +
    "DURING TODAY");
Logger.log("%s, %s",
    report.getColumnHeader("CampaignName").getBulkUploadColumnName(),
    report.getColumnHeader("CampaignStatus").getBulkUploadColumnName()
);

请参阅批量上传实体参考页了解详情。

代码段

请参阅代码段页,查看有关如何使用此功能的更多示例。

发送以下问题的反馈:

此网页
AdWords Scripts
AdWords Scripts
需要帮助?请访问我们的支持页面