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

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

Распространенные ошибки 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» при обновлении моих скриптов.

Вы можете столкнуться с этой ошибкой при изменении сценария для работы с обновленными 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 Рекламе еще нет нужных вам данных. Подробную информацию см. в нашем руководстве по обновлению данных .

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

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

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

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