Это подборка распространенных проблем, о которых сообщают разработчики скриптов Google Ads.
Распространенные ошибки JavaScript
Вот некоторые распространенные ошибки 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?
В наших примерах кода и решениях вы найдете примеры использования той или иной функции. Если вы не найдете подходящий фрагмент кода, смело отправляйте запрос в Discord .
Вам всё ещё нужна поддержка?
Если вам нужна помощь в той области, где мы можем помочь, посетите страницу «Получить помощь» .