Esta es una compilación de los problemas más comunes que se plantearon en el foro de secuencias de comandos de Google Ads.
Errores comunes de JavaScript
La secuencia de comandos falla con el mensaje "Cannot find function: FUNCTION_NAME".
Por lo general, este es el resultado de un nombre de función mal escrito en la secuencia de comandos.
Comprueba que el nombre de la función esté escrito correctamente y que tenga mayúsculas y minúsculas; p.ej.,
AdsApp.keywordz()
generará este error, ya quekeywordz
no es una función válida en la clase AdsApp.AdsApp.Keywords()
también fallará debido a un error de ortografía en el caso Funciónkeywords()
.Verificar que la función exista p.ej.,
AdsApp.keywords().next()
fallará porqueAdsApp.keywords()
devuelve unKeywordSelector
mientras quenext()
es un método para un objetoKeywordIterator
. El código correcto seríaAdsApp.keywords().get().next()
.
Mi secuencia de comandos se ejecuta, pero no hace nada
El motivo más común de este problema es que tienes una función que realiza
Una operación, pero no la llamas desde el método main()
Esta
suele suceder cuando copias y pegas códigos
fragmentos de nuestra documentación.
Enfoque de programación | Fragmento de código |
---|---|
Versión 1 (no funciona) |
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()); } } |
Versión 2 (no funciona) |
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()); } } } |
Versión 3 (funciona) |
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()); } } |
Recibo el mensaje "Cannot find function getFinalUrl" error al actualizar mis secuencias de comandos
Es posible que encuentres este error cuando cambies tu secuencia de comandos para que funcione con URLs actualizadas. Esto sucede cuando reemplazas las llamadas a ad.getDestinationUrl()
por ad.getFinalUrl()
.
getFinalUrl()
es parte del
AdUrls.
por lo que debes cambiar tu código a 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();
}
No recibo estadísticas de X
La falta de disponibilidad de datos para una entidad o un período determinado es un error común que puedes encontrar cuando ejecutas informes o realizas llamadas a estadísticas. Existen varias cosas que puedes probar:
Verifica el período para el que deseas recuperar estadísticas o generar informes.
Si recuperas estadísticas a nivel de la cuenta para una secuencia de comandos de Ads Manager que administra cuentas de monedas distintas, el costo se devuelve en la moneda de la cuenta de administrador.
Es posible que Google Ads aún no tenga los datos que buscas. Consulta nuestros datos de actualización para más detalles.
¿Cómo uso la función X?
Consulta nuestros fragmentos de código y soluciones para ver ejemplos de cómo usan una función en particular. Si no encuentras un fragmento de código adecuado, enviar una solicitud en el foro.
¿Aún necesitas ayuda?
Si necesitas ayuda con un área en la que podamos ayudarte, visita la página Obtén ayuda.