Problemas comunes

Esta es una recopilación de los problemas más habituales que se mencionan en el foro sobre secuencias de comandos de Google Ads.

Errores comunes de JavaScript

La secuencia de comandos falla con el mensaje "No se puede encontrar la función: FUNCTION_NAME".

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

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

  2. Comprueba que la función existe, 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

La razón 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 se copian y pegan 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());
  }
}

Aparece el error "No se puede encontrar la función getFinalUrl" cuando actualizo mis secuencias de comandos

Es posible que encuentres este error cuando cambies tu secuencia de comandos para que funcione con URLs actualizadas, lo que 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 recibo estadísticas para X.

La falta de disponibilidad de datos para una entidad o un período en particular es un error común que puedes encontrar cuando ejecutas informes o haces llamadas de estadísticas. Puedes probar varias cosas:

  1. Verifique el período para el que desea recuperar las estadísticas o ejecutar informes.

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

  3. 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 la función X?

Primero tratamos de trabajar en las funciones más solicitadas. Si quieres ver un atributo, 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 ver si ya se consultó sobre él antes. 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 solicita la función, abre una conversación nueva en el foro de secuencias de comandos de Google Ads para realizar una solicitud de función. Asegúrate de proporcionar un caso de uso que esta función resuelva. Cuando sea posible, incluye un vínculo a la guía del Centro de ayuda o una entrada de blog o guía de la API de AdWords en la que se 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 como "Solicitud de función" para que nosotros (y los usuarios) podamos verificar rápidamente las solicitudes de funciones.

¿Cómo uso la función X?

Consulta nuestros fragmentos de código y las soluciones para ver ejemplos de uso de una función en particular. Si no encuentras un fragmento de código adecuado, no dudes en enviar una solicitud en el foro.