Problemas comunes

Esta es una compilación de los problemas más comunes que se mencionaron 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".

Por lo general, este es el resultado de un nombre de función mal escrito en la secuencia de comandos.

  1. Comprueba que el nombre de la función esté escrito correctamente y que no tenga errores ortográficos; p.ej., AdsApp.keywordz() generará este error porque keywordz no es una función válida en la clase AdsApp. AdsApp.Keywords() también fallará debido a que la función keywords() no tiene errores de ortografía.

  2. Verificar que la función exista, p.ej., AdsApp.keywords().next() fallará porque AdsApp.keywords() muestra un KeywordSelector, mientras que next() es un método para un objeto KeywordIterator. El código correcto sería AdsApp.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(). Esto suele suceder cuando copias y pegas fragmentos de código 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 error "No se puede encontrar la función getFinalUrl" al actualizar mis secuencias de comandos

Es posible que encuentres este error cuando cambies tu 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 deberás 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 veo estadísticas para X

La inexistencia de datos para una entidad o un período en particular es un error común que puedes encontrar cuando ejecutas informes o realizas llamadas a estadísticas. Puedes intentar realizar varias acciones:

  1. Verifica el período para el que deseas recuperar estadísticas o generar informes.

  2. Si recuperas estadísticas a nivel de la cuenta para una secuencia de comandos de Ads Manager que administra cuentas en diferentes monedas, recibirás el costo en la moneda de la cuenta de administrador.

  3. Es posible que Google Ads aún no tenga los datos que buscas. Consulta nuestra guía de actualización de datos para obtener más detalles.

Solicitudes de funciones

¿Está disponible la función X?

Consulta nuestra documentación de referencia.

¿Cuándo estará disponible la función X?

Primero, intentamos trabajar en las funciones más solicitadas. Si quieres ver una función, sigue estos pasos:

  1. Primero, verifica que la función no sea compatible con las secuencias de comandos de Google Ads. Para ello, consulta la documentación de referencia.

  2. Si no está disponible, busca en el foro de secuencias de comandos de Google Ads para verificar si ya se hizo una pregunta sobre él. Si es así, vota a favor de esa conversación o deja un comentario si quieres compartir detalles adicionales, como un caso de uso.

  3. Si aún no se solicitó la función, abre una conversación nueva en el foro de secuencias de comandos de Google Ads para solicitarla. Asegúrate de proporcionar un caso de uso que resuelva esta función. Cuando sea posible, incluye un vínculo a la guía del Centro de ayuda o una guía o entrada de blog de la API de AdWords que describa esta función. Esto ayudará a otros desarrolladores a votar a favor de una solicitud de función. Priorizamos las solicitudes de funciones según su popularidad.

  4. Etiqueta la publicación con el nombre “Solicitud de función” para que nos resulte más fácil para nosotros (y para los usuarios) revisar rápidamente si hay 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 en particular. Si no encuentras un fragmento de código adecuado, no dudes en enviar una solicitud en el foro.