Это подборка наиболее распространенных вопросов, поднимаемых на форуме скриптов Google Ads .
Распространенные ошибки JavaScript
Скрипт завершается ошибкой «Не удается найти функцию: FUNCTION_NAME».
Обычно это является результатом неправильного написания имени функции в скрипте.
Проверьте правильность написания имени функции и наличие в нём корректного регистра. Например,
AdsApp.keywordz()
приведёт к этой ошибке, посколькуkeywordz
не является допустимой функцией в классе AdsApp .AdsApp.Keywords()
также завершится ошибкой из-за неправильного регистра в функцииkeywords()
.Проверьте существование функции. Например,
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
Отсутствие данных для определённого объекта или диапазона дат — распространённая ошибка, с которой вы можете столкнуться при создании отчётов или выполнении статистических запросов. Вот несколько способов, которые можно попробовать:
Проверьте диапазон дат, для которого вы извлекаете статистику или создаете отчеты.
Если вы извлекаете статистику на уровне аккаунта для скрипта Ads Manager, который управляет аккаунтами в разных валютах, вы получаете стоимость в валюте аккаунта менеджера.
В Google Ads может ещё не быть нужных вам данных. Подробнее см. в нашем руководстве по актуальности данных .
Как использовать функцию X?
Ознакомьтесь с нашими фрагментами кода и решениями , чтобы узнать, как использовать ту или иную функцию. Если вы не нашли подходящий фрагмент кода, отправьте запрос на форуме.
Вам все еще нужна поддержка?
Если вам нужна помощь в области, в которой мы можем помочь, посетите страницу «Получить помощь» .