Migración

La nueva infraestructura de secuencias de comandos de Google Ads se basa en la API de Google Ads. Debido a la arquitectura diferente de esa API, es posible que debas actualizar las secuencias de comandos existentes. Hicimos todo lo posible para garantizar la mayor retrocompatibilidad posible, por lo que estos cambios deberían ser menores.

informes

Muchos informes de AWQL seguirán funcionando. En segundo plano, cuando se usa la infraestructura nueva, las secuencias de comandos convierten la consulta de AWQL en GAQL (el nuevo lenguaje de consulta de la API de Google Ads), la ejecutan en el backend nuevo y, luego, vuelven los resultados al formato utilizado originalmente por los informes de AWQL. Las consultas con GAQL se pasarán como están.

Debido a esta sobrecarga, te recomendamos que revises las secuencias de comandos y actuales las consultas de AWQL a GAQL siempre que sea posible. Puedes usar la herramienta de migración de consultas, que utiliza la misma lógica que las secuencias de comandos para determinar la consulta de GAQL para una consulta de AWQL determinada, o bien puedes usar el compilador de consultas interactivas para crear consultas.

Estas son algunas limitaciones de la traducción automática de AWQL a GAQL:

  • No todas las consultas de AWQL se traducen directamente en consultas de GAQL. En estos casos, se registrará un mensaje de error con algunos detalles sobre lo que salió mal para ayudarte a corregirlos de forma manual.
  • No todos los tipos de informes de AWQL son compatibles con GAQL.
  • GAQL no es compatible con las "filas de impresiones cero". Especificar que un informe debe incluir cero impresiones generará un error.
  • Algunos campos ambiguos no se pueden usar en los filtros. Por ejemplo, "Título" puede hacer referencia a cualquier cantidad de campos del anuncio diferentes.
  • Algunos campos pueden mostrar resultados en un formato diferente, por ejemplo, cuando se divide un resultado en varias columnas.

Organización de los selectores

Cuando se recuperan recursos mediante secuencias de comandos, es bastante común usar llamadas withCondition y orderBy para ordenar o restringir los resultados en el iterador. Los campos en estas llamadas ahora utilizan los nombres nuevos de la API de Google Ads. Por ejemplo, para filtrar por nombre de campaña, anteriormente habrías utilizado:

.withCondition('CampaignName = "SOME_CAMPAIGN_NAME"')

Ahora, debes usar los nombres de campo nuevos para estas condiciones siempre que sea posible:

.withCondition('campaign.name = "SOME_CAMPAIGN_NAME"')

Dicho esto, hicimos un esfuerzo para incluir una asignación de nombres antiguos a nombres nuevos, de modo que si tu secuencia de comandos todavía usa CampaignName, se reemplazará automáticamente por campaign.name en el tiempo de ejecución para garantizar que la secuencia de comandos siga funcionando. Si tienes algún problema con los nombres de los diseños anteriores, actualiza tus secuencias de comandos para que utilicen los nombres nuevos como primer paso para solucionar el problema.

Límites

Muchos límites son los mismos que en la infraestructura anterior, y los cambios que se realicen aquí ayudarán a aumentar el rendimiento.

  • Los límites de tiempo son los mismos. Es posible que una secuencia de comandos se ejecute durante 30 minutos.
  • Un solo iterador muestra 50,000 entidades de forma predeterminada, pero esto se puede anular. Anteriormente, este límite de 50,000 no era personalizable.
  • Un solo selector puede manejar como máximo 10,000 IDs (sin cambios).
  • La infraestructura nueva no tiene límite para la cantidad de entidades que se pueden procesar en una sola secuencia de comandos. Anteriormente, el límite era de 250,000.
  • La infraestructura nueva no tiene límite en la cantidad de palabras clave o anuncios que se pueden crear por ejecución. Anteriormente, el límite era de 250,000.
  • El resultado del registro se trunca a los 100 KB (sin cambios).
  • Las cuotas de los servicios de Apps Script (SpreadsheetApp, MailApp, etc.) no se modifican.
  • Las cuotas de Google Ads se aplicarán como si estuviera usando la API. Es decir, tu secuencia de comandos estará sujeta a los límites de frecuencia de la API, pero esto te brinda más flexibilidad para acceder a más informes o realizar más cambios por ejecución.

Otros cambios

El ExecutionInfo ya no expone getRemainingCreateQuota() ni getRemainingGetQuota(), ya que esas cuotas ya no se aplican en la experiencia nueva.