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