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

Это подборка распространенных проблем, о которых сообщают разработчики скриптов Google Ads.

Распространенные ошибки JavaScript

Вот некоторые распространенные ошибки 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?

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

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

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