Cómo migrar secuencias de comandos de extensiones de anuncios

En este documento, se describe el proceso de migración para las secuencias de comandos que acceden a las extensiones de anuncio o las administran. A partir del 28 de marzo de 2022, las extensiones basadas en el feed se migrarán a nuevas extensiones basadas en recursos de los clientes con secuencias de comandos que actualicen extensiones de anuncio. A partir del 13 de mayo de 2022, se migrarán las extensiones basadas en el feed a las nuevas extensiones basadas en recursos a los clientes con secuencias de comandos que recuperen extensiones de anuncio (y sin secuencias de comandos que las actualicen).

Descripción general

El paradigma de extensiones basadas en el feed existente dejó de estar disponible y se reemplazó por las extensiones basadas en elementos. Las extensiones basadas en el feed se denominan extensiones "heredadas" en la IU de Google Ads, mientras que las extensiones basadas en recursos se denominan extensiones "actualizadas" en la IU de Google Ads.

A partir del 28 de marzo de 2022, las extensiones basadas en feeds se migrarán a nuevas extensiones basadas en recursos. Una vez migradas, estas dejarán de publicarse. En esta guía, se describirá la migración si tienes extensiones de anuncios basadas en feeds y basadas en recursos en tu cuenta de Google Ads o si solo tienes extensiones de anuncio basadas en feeds en tu cuenta.

Detalles de la migración

Para comenzar a acceder a las extensiones de anuncio basadas en recursos o actualizarlas, debes usar la nueva experiencia de secuencias de comandos de Google Ads. Para obtener información sobre la nueva experiencia de secuencias de comandos de Google Ads, consulta la guía de introducción.

Recuperando extensiones de anuncio

El conjunto existente de selectores de extensiones de anuncio (por ejemplo, SitelinkSelector puede recuperar extensiones de anuncio basadas en el feed o basadas en elementos). De forma predeterminada, estos selectores mostrarán el tipo de extensión de anuncio que se publique en ese momento. En la siguiente tabla, se resume el tipo de extensión de anuncio que se publica actualmente (y, por lo tanto, se mostrará de forma predeterminada):

Tipo de extensiones de anuncio en la cuenta
Solo extensiones de anuncio basadas en el feed Las extensiones de anuncio basadas en el feed se mostrarán de forma predeterminada.
Solo extensiones de anuncio basadas en elementos Las extensiones de anuncio basadas en elementos se mostrarán de forma predeterminada
Extensiones de anuncio basadas en feeds y basadas en recursos Las extensiones de anuncio basadas en elementos se mostrarán de forma predeterminada

Después de migrar todas las extensiones de anuncio basadas en el feed, todos los selectores de extensiones de anuncio mostrarán las extensiones de anuncio basadas en elementos de forma predeterminada. Aún se podrán recuperar extensiones de anuncio basadas en el feed con el método withOnlyLegacy. Esto es útil para recopilar métricas históricas.

// This will return feed-based sitelink extensions before and after
// March 28, 2022.
const sitelinks = AdsApp.extensions().sitelinks().withOnlyLegacy().get();

En la mayoría de los casos, no es necesario cambiar los códigos antes ni después de migrar las extensiones de anuncio basadas en feeds. Sin embargo, hay algunas situaciones en las que podrían requerirse cambios en el código.

Filtrar extensiones de anuncio por ID

Cuando se migra una extensión de anuncio basada en el feed, la extensión de anuncio basada en elementos correspondiente tendrá un ID diferente. Esto significa que, si tu secuencia de comandos filtra actualmente las extensiones de anuncio por ID, no podrá recuperar las extensiones de anuncio basadas en elementos.

// If these IDs belong to feed-based sitelink extensions, this code will return
// an empty iterator on or after March 28, 2022 (once the extensions have been
// migrated).
const ids = [123, 456, 789];
const sitelinks = AdsApp.extensions().sitelinks().withIds(ids).get();

Para solucionarlo, debes filtrar por atributo diferente o actualizar el código para usar los IDs de las extensiones de anuncio basadas en elementos.

Filtrado de extensiones de anuncio por estadísticas

Cuando se migra una extensión de anuncio basada en el feed, se restablecen las estadísticas de la extensión de anuncio basada en elementos correspondiente. Debes tener esto en cuenta cuando filtres las extensiones de anuncio por estadísticas. Por ejemplo, si solicitas extensiones de vínculos a sitios con Clicks > 100 en el LAST_MONTH, podrías ver menos extensiones de anuncio de lo normal si tus extensiones de anuncio basadas en el feed se migraron recientemente.

También debes tener esto en cuenta cuando generes informes de rendimiento para tus extensiones de anuncio. Tus informes podrían observar cambios o disminuciones significativos cuando se migren las extensiones de anuncio basadas en feeds.

Métodos obsoletos

Como parte de la migración, ya no se admiten varios campos. Por ejemplo, las fechas de inicio y finalización dejaron de estar disponibles en las extensiones de fragmentos. Las llamadas a getStartDate() mostrarán null. Además, se registrará un mensaje de advertencia. Consulta la siguiente tabla para comprender qué métodos dejaron de estar disponibles:

Clase Métodos obsoletos
Texto destacado No hay métodos obsoletos
MobileApp getSchedules
PhoneNumber getEndDate
getStartDate
Precio getEndDate
getSchedules
getStartDate
Vínculo de sitio No hay métodos obsoletos
Fragmento getEndDate
getSchedules
getStartDate

Actualizando extensiones de anuncio

Como parte de la migración, ya no se admiten varios campos. Por ejemplo, las fechas de inicio y finalización dejaron de estar disponibles en las extensiones de fragmentos. Las llamadas a setStartDate no afectarán la extensión de anuncio. Además, se registrará un mensaje de advertencia. Consulta la siguiente tabla para comprender qué métodos dejaron de estar disponibles:

Clase Métodos obsoletos
Texto destacado No hay métodos obsoletos
MobileApp setSchedules
PhoneNumber clearEndDate
clearStartDatesetEndDate
setStartDate
Precio clearEndDate
clearStartDatesetEndDate
setSchedules
setStartDate
Vínculo de sitio No hay métodos obsoletos
Fragmento clearEndDate
clearStartDatesetEndDate
setSchedules
setStartDate

Cómo crear extensiones de anuncio

El conjunto existente de creadores de extensiones de anuncio (por ejemplo, SitelinkBuilder puede crear extensiones de anuncio basadas en el feed o basadas en elementos). De forma predeterminada, estos creadores crearán el tipo de extensión de anuncio que se publique en ese momento. En la siguiente tabla, se resume el tipo de extensión de anuncio que se publica actualmente (y, por lo tanto, se creará de forma predeterminada):

Tipo de extensiones de anuncio en la cuenta
Solo extensiones de anuncio basadas en el feed Las extensiones de anuncio basadas en el feed se crearán de forma predeterminada
Solo extensiones de anuncio basadas en elementos Las extensiones de anuncio basadas en elementos se crearán de forma predeterminada
Extensiones de anuncio basadas en feeds y basadas en recursos Las extensiones de anuncio basadas en elementos se crearán de forma predeterminada

Después de que un cliente migre sus extensiones, todos los creadores de extensiones de anuncio crearán extensiones de anuncio basadas en recursos de forma predeterminada. Ya no se admitirá la creación de extensiones de anuncio basadas en el feed porque estas ya no se publicarán.

Si deseas crear una extensión basada en el feed en lugar de depender del comportamiento predeterminado, puedes hacerlo llamando a build(true) en lugar de build(), por ejemplo:

const phoneNumberBuilder = AdsApp.extensions().newPhoneNumberBuilder();
const newPhoneNumber = phoneNumberBuilder
  .withCountry("US")
  .withPhoneNumber("4085550000")
  .withCallOnly(false)
  // Calling build(true) means this will create a legacy phone number extension.
  .build(true)
  .getResult();

Si deseas crear una extensión basada en recursos y tu cuenta actualmente solo tiene extensiones basadas en feeds, puedes esperar hasta el 28 de marzo o llamar a build(false).

const phoneNumberBuilder = AdsApp.extensions().newPhoneNumberBuilder();
const newPhoneNumber = phoneNumberBuilder
  .withCountry("US")
  .withPhoneNumber("4085550000")
  .withCallOnly(false)
  // Calling build(false) means this will create an asset-based phone number extension
  // even if the account currently only has feed-based extensions.
  .build(false)
  .getResult();

Campos no admitidos

Como parte de la migración de extensiones de anuncios, algunos campos dejaron de estar disponibles. Por ejemplo, las fechas de inicio y finalización dejaron de estar disponibles en las extensiones de fragmentos. Las llamadas a withEndDate o withStartDate no tendrán ningún efecto en la extensión, sino que se registrará un mensaje de advertencia. Consulta la siguiente tabla para comprender qué métodos dejaron de estar disponibles para cada clase:

Clase Métodos obsoletos
CalloutBuilder withMobilePreferred
MobileAppBuilder withMobilePreferred
withSchedules
PhoneNumberBuilder withEndDate
withMobilePreferred
withStartDate
PriceBuilder withEndDate
withMobilePreferred
withSchedules
withStartDate
SitelinkBuilder withMobilePreferred
SnippetBuilder withEndDate
withMobilePreferred
withSchedules
withStartDate