常见问题

本文汇总了 Google Ads 脚本论坛中提出的最常见问题。

常见的 JavaScript 错误

脚本运行失败,提示为“无法找到函数:FUNCTION_NAME”

这通常是因为脚本中的函数名称拼写错误。

  1. 检查函数名称的拼写是否正确,以及大小写是否正确;例如,AdsApp.keywordz() 会导致此错误,因为 keywordz 不是 AdsApp 类中的有效函数。由于 keywords() 函数的拼写错误,AdsApp.Keywords() 也将失败。

  2. 检查函数是否存在;例如,AdsApp.keywords().next() 将失败,因为 AdsApp.keywords() 会返回 KeywordSelector,而 next()KeywordIterator 对象的方法。正确的代码为 AdsApp.keywords().get().next()

脚本运行了,但没有完成任何操作

导致此问题的最常见原因是,您有一个用于执行操作的函数,但您并未从 main() 方法调用该函数。当您从我们的文档中复制并粘贴代码段时,通常会出现这种情况。

编码方案 代码段
版本 1(无效)
function main() {
  // Call to getAllCampaigns is missing, so this script does nothing.
}

function getAllCampaigns() {
  // AdsApp.campaigns() will return all campaigns that are not
  // removed by default.
  let campaignIterator = AdsApp.campaigns().get();
  console.log('Total campaigns found : ' +
      campaignIterator.totalNumEntities());
  while (campaignIterator.hasNext()) {
    let campaign = campaignIterator.next();
    console.log(campaign.getName());
  }
}
版本 2(无效)
function main() {
  // Call to getAllCampaigns is missing, so this script does nothing.

  function getAllCampaigns() {
    // AdsApp.campaigns() will return all campaigns that are not
    // removed by default.
    let campaignIterator = AdsApp.campaigns().get();
    console.log('Total campaigns found : ' +
        campaignIterator.totalNumEntities());
    while (campaignIterator.hasNext()) {
      let campaign = campaignIterator.next();
      console.log(campaign.getName());
    }
  }
}
版本 3(有效)
function main() {
  getAllCampaigns();
}

function getAllCampaigns() {
  // AdsApp.campaigns() will return all campaigns that are not removed
  // by default.
  let campaignIterator = AdsApp.campaigns().get();
  console.log('Total campaigns found : ' +
      campaignIterator.totalNumEntities());
  while (campaignIterator.hasNext()) {
    let campaign = campaignIterator.next();
    Logger.log(campaign.getName());
  }
}

在升级脚本时,出现“无法找到函数 getFinalUrl”错误

在将脚本更改为与升级后的网址搭配使用时,您可能会遇到此错误。当您将对 ad.getDestinationUrl() 的调用替换为 ad.getFinalUrl() 时,就会发生这种情况。getFinalUrl()AdUrls 类的一部分,因此您需要将代码更改为 ad.urls().getFinalUrl()

function main() {
  // Incorrect snippet. getFinalUrl is not a member of the Ad class.
  let ad = AdsApp.ads().get().next();
  let url = ad.getFinalUrl();

  // Correct snippet.
  let ad = AdsApp.ads().get().next();
  let url = ad.urls().getFinalUrl();
}

我没有获得关于 X 的任何统计信息

在运行报告或调用统计信息时,您可能会遇到的一个常见错误是,无法获得有关某个特定实体或日期范围的数据。您可以尝试以下几种方法:

  1. 检查您要提取统计信息或运行报告的日期范围。

  2. 如果您检索管理不同币种账号的 Ad Manager 脚本的账号级统计信息,则会收到以经理账号币种显示的费用。

  3. Google Ads 可能还没有您要寻找的数据。如需了解详情,请参阅我们的数据新鲜度指南

我如何使用“X”功能?

如需查看如何使用特定功能的示例,请参阅我们的代码段解决方案。如果您找不到合适的代码段,欢迎随时在论坛中提出请求。

仍需要支持?

如果您在某个方面需要我们提供帮助,请访问获取帮助页面。