Общие проблемы

Это подборка наиболее распространенных вопросов, поднимаемых на форуме скриптов 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 getCampaigns is missing, so this script does nothing.
}

function getCampaigns() {
  // AdsApp.campaigns() will return all Search and Display 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 getCampaigns is missing, so this script does nothing.

  function getCampaigns() {
    // AdsApp.campaigns() will return all Search and Display 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() {
  getCampaigns();
}

function getCampaigns() {
  // AdsApp.campaigns() will return all Search and Display 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».

Эта ошибка может возникнуть при изменении скрипта для работы с обновлёнными URL-адресами . Это происходит, когда вы заменяете вызовы 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. Если вы извлекаете статистику на уровне аккаунта для скрипта Ads Manager, который управляет аккаунтами в разных валютах, вы получаете стоимость в валюте аккаунта менеджера.

  3. В Google Ads может ещё не быть нужных вам данных. Подробнее см. в нашем руководстве по актуальности данных .

Как использовать функцию X?

Ознакомьтесь с нашими фрагментами кода и решениями , чтобы узнать, как использовать ту или иную функцию. Если вы не нашли подходящий фрагмент кода, отправьте запрос на форуме.

Вам все еще нужна поддержка?

Если вам нужна помощь в области, в которой мы можем помочь, посетите страницу «Получить помощь» .