Problemas comunes

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, esto se debe a 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 que tenga la escritura en mayúsculas o minúsculas 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 la ortografía incorrecta de la función keywords().

  2. Verifica 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 ocurrir 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());
  }
}

Aparece el error "Cannot find function 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. Esto sucede cuando reemplazas las llamadas a ad.getDestinationUrl() por ad.getFinalUrl(). getFinalUrl() forma 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 obtengo 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. Puedes probar lo siguiente:

  1. Verifica el período para el que recuperas estadísticas o ejecutas informes.

  2. Si recuperas estadísticas a nivel de la cuenta para una secuencia de comandos de Ad Manager que administra cuentas de diferentes monedas, se muestra 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 información.

¿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 hacer 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.