常見問題

本文彙整了 Google Ads 指令碼論壇中提出的常見問題。

常見的 JavaScript 錯誤

指令碼執行失敗並顯示「找不到函式:FUNCTION_NAME」

這通常是指令碼中拼錯函式名稱的結果。

  1. 請檢查函式名稱是否拼寫正確,且使用正確的拼寫大小寫,例如:AdsApp.keywordz() 會產生這個錯誤,因為 keywordz 不是 AdsApp 類別。 AdsApp.Keywords() 也會因 keywords() 函式的拼寫方式不正確而失敗。

  2. 檢查函式是否存在。例如: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());
  }
}
版本 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 功能?

請參閱我們的程式碼片段解決方案,瞭解如何使用特定功能。如果找不到合適的程式碼片段,歡迎在論壇中提出要求。

仍然需要支援服務嗎?

如需協助,請前往取得協助頁面。