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

Это подборка наиболее распространенных проблем, возникающих на форуме скриптов 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?

Ознакомьтесь с нашей справочной документацией .

Когда функция X будет доступна?

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

  1. Сначала убедитесь, что эта функция не поддерживается в скриптах Google Рекламы, проверив справочную документацию .

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

  3. Если функция еще не запрошена, отправьте запрос на ее добавление, открыв новую тему на форуме скриптов Google Рекламы . Обязательно укажите вариант использования, который поможет решить эта функция. По возможности добавьте ссылку на руководство Справочного центра или публикацию/руководство в блоге API AdWords, описывающее эту функцию. Это поможет другим разработчикам, когда они одобряют запрос на добавление функции. Мы отдаем приоритет запросам функций в зависимости от их популярности.

  4. Отметьте публикацию как «Запрос на добавление функции», чтобы нам (и пользователям) было проще быстро проверять наличие запросов на добавление функций.

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

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