这里汇总了 Google Ads 脚本论坛上提出的最常见问题。
常见的 JavaScript 错误
脚本运行失败,提示为“无法找到函数:FUNCTION_NAME”
这通常是因为脚本中的函数名称拼写错误。
检查函数名称是否拼写正确,并且大小写正确;例如,
AdsApp.keywordz()
会导致此错误,因为keywordz
不是 AdsApp 类中的有效函数。 如果keywords()
函数的大小写错误,AdsApp.Keywords()
也会失败。检查函数是否存在;例如,
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 的任何统计信息
在运行报告或调用统计信息时,您可能会遇到的一个常见错误是,无法获得有关某个特定实体或日期范围的数据。您可以尝试以下几种操作:
检查您要提取统计信息或运行报告的日期范围。
如果检索广告管理工具脚本(用于管理不同币种的账号)的账号级统计信息,则获取以经理账号所用币种为单位的费用。
Google Ads 可能还没有您要寻找的数据。如需了解详情,请参阅我们的数据新鲜度指南。
功能请求
“X”功能是否可用?
请参阅我们的参考文档。
“X”功能何时可用?
我们尽量优先提供最常被请求的功能。如果您希望看到某项功能,请按以下步骤操作:
首先,请查看参考文档,确认该功能在 Google Ads 脚本中是否受支持。
如果不受支持,搜索 Google Ads 脚本论坛,查看之前是否曾有过请求。如果是,请赞成该讨论帖;如果您想分享更多详细信息(例如用例),请发表评论。
如果此功能尚未被请求,则发出功能请求,方法是在 Google Ads 脚本论坛上发布一个新帖。请务必提供此功能将解决的用例。尽可能提供指向帮助中心指南或介绍此功能的 AdWords API 博文 / 指南的链接。这有助于其他开发者顶功能请求。我们会根据热门程度确定功能请求的优先级。
将帖子标记为“功能请求”,以方便我们(以及用户)快速检查功能请求。