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