下方彙整了 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()
方法呼叫該作業。這個
常發生在複製與貼上程式碼時
摘要。
程式設計方法 | 程式碼片段 |
---|---|
Version 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()); } } |
Version 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 的統計資料
無法取得特定實體或日期範圍的資料是常見的錯誤 您在執行報表或呼叫統計資料時可能會遇到一些問題。以下提供 建議做法:
請確認您要擷取統計資料或執行報表的日期範圍。
如果您為管理不同幣別帳戶的 Ad Manager 指令碼擷取帳戶層級統計資料,系統會以管理員帳戶的幣別顯示費用。
Google Ads 可能尚未提供您要的資料。查看我們的資料 更新頻率指南 詳細資料。
如何使用功能 X?
請參閱我們的程式碼片段和解決方案,瞭解如何使用特定功能。如果找不到合適的程式碼片段,歡迎在論壇中提出要求。
仍需要支援嗎?
如需協助,請前往取得協助頁面。