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

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

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

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

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