常見問題

下方列出 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() 方法呼叫該函式。這種情況通常發生在您從說明文件中複製貼上的程式碼片段時。

程式設計方法 程式碼片段
版本 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.getFinalUrl() 取代 ad.getDestinationUrl() 時,就會發生這項錯誤。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. 如果您擷取了管理不同幣別帳戶的 Google Ads Manager 指令碼帳戶層級統計資料,就能以該管理員帳戶的幣別取得費用。

  3. Google Ads 可能沒有您正在尋找的資料。詳情請參閱資料更新指南

要求新增功能

是否有功能 X 可用?

請參閱我們的參考說明文件

X 功能何時會推出?

我們會先盡力處理最多要求的功能。如果您想查看某項功能,請按照下列步驟操作:

  1. 首先,請查看參考說明文件,確認 Google Ads 指令碼不支援該功能。

  2. 如果找不到,請搜尋 Google Ads 指令碼論壇,看看先前是否有人問過。如果有,請對該執行緒表示認同。如果您想分享用途等其他詳細資料,歡迎留言。

  3. 如果尚未要求這項功能,請在 Google Ads 指令碼論壇中開啟新的討論串,提出功能要求。請務必提供這項功能可以解決的用途。可以的話,請提供說明中心指南的連結,或用來說明這項功能的 AdWords API 網誌文章 / 指南。這有助於其他開發人員對功能要求表示認同。我們會根據功能要求的熱門程度,排定功能要求的優先順序。

  4. 將貼文標記為「功能要求」,方便我們 (和使用者) 快速檢查功能要求。

如何使用功能 X?

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