Esta es una compilación de los problemas más comunes que se presentan en el foro de secuencias de comandos de Google Ads.
Errores comunes de JavaScript
La secuencia de comandos falla y muestra el mensaje "No se puede encontrar la función: FUNCTION_NAME".
Esto suele ser el resultado de un nombre de función mal escrito en la secuencia de comandos.
Verifica que el nombre de la función esté bien escrito y tenga el caso de ortografía correcto; p.ej.,
AdsApp.keywordz()
generará este error, porquekeywordz
no es una función válida en la clase AdsApp.AdsApp.Keywords()
también fallará debido a un error ortográfico en la funciónkeywords()
.Verifica que la función exista; p.ej.,
AdsApp.keywords().next()
fallará porqueAdsApp.keywords()
muestra 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 para este problema es que tienes una función que realiza una operación, pero no la llamas desde el método main()
. Esto suele suceder cuando copias y pegas fragmentos de código de nuestra documentación.
Enfoque de codificació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()); } } |
Aparece el error "No se puede encontrar la función getFinalUrl" cuando actualizo mis secuencias de comandos
Es posible que te encuentres con este error cuando cambies la secuencia de comandos para que funcione con las URL actualizadas. Esto sucede cuando reemplazas las llamadas a ad.getDestinationUrl()
por ad.getFinalUrl()
.
getFinalUrl()
es parte de la clase AdUrls, por lo que tendrías que 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 hay estadísticas para X
La falta de disponibilidad de los datos de una entidad o un período en particular es un error común que puedes encontrar cuando ejecutas informes o realizas llamadas de estadísticas. Puedes probar las siguientes acciones:
Verifique el período para el que se recuperan estadísticas o para generar informes.
Si recuperas estadísticas a nivel de la cuenta para una secuencia de comandos de Ads Manager que administra cuentas de diferentes monedas, obtienes el costo en la moneda de la cuenta de administrador.
Es posible que Google Ads aún no tenga los datos que busca. Consulta nuestra guía de actualización de datos para obtener más detalles.
Solicitudes de funciones
¿La función X está disponible?
Consulta nuestra documentación de referencia.
¿Cuándo estará disponible X?
Intentamos trabajar primero en las funciones más solicitadas. Si quieres ver una función, sigue estos pasos:
Primero, verifica que la función no sea compatible con las secuencias de comandos de Google Ads en la documentación de referencia.
Si no está disponible, busca en el foro de secuencias de comandos de Google Ads para ver si ya se preguntó antes. Si es así, vota a favor de esa conversación o deja un comentario si deseas compartir detalles adicionales, como un caso de uso.
Si todavía no se solicitó la función, abre una conversación nueva en el foro de secuencias de comandos de Google Ads para hacer una solicitud de función. Asegúrate de proporcionar un caso práctico que resolverá esta característica. Cuando sea posible, incluye un vínculo a la guía del Centro de ayuda o una entrada o guía del blog de la API de AdWords que describa esta función. Esto ayudará a otros desarrolladores, ya que votarán a favor de una solicitud de función. Priorizamos las solicitudes de funciones según su popularidad.
Etiqueta la publicación como “Solicitud de función” para que sea más fácil para nosotros (y para los usuarios) verificar rápidamente las solicitudes de funciones.
¿Cómo uso la función X?
Consulta nuestros fragmentos de código y soluciones para ver ejemplos de cómo usar una función específica. Si no encuentras un fragmento de código adecuado, no dudes en hacer una solicitud en el foro.