Cómo migrar secuencias de comandos de extensiones de anuncios

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

Descripción general

El paradigma existente de extensiones basadas en feeds dejó de estar disponible a favor de las extensiones basadas en recursos. Las extensiones basadas en el feed se denominan extensiones "heredadas" en la IU de Google Ads, mientras que las basadas en elementos 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 que se migren, las extensiones basadas en feeds dejarán de publicarse. En esta guía, se describirá la migración, ya sea que tengas extensiones de anuncios basadas en feeds y en recursos en tu cuenta de Google Ads, o solo extensiones de anuncios basadas en feeds.

Detalles de la migración

Para comenzar a acceder a las extensiones de anuncios 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.

Cómo recuperar extensiones de anuncio

El conjunto existente de selectores de extensiones de anuncios (por ejemplo, SitelinkSelector) puede recuperar extensiones de anuncios basadas en feeds o extensiones de anuncios basadas en recursos. De forma predeterminada, estos selectores mostrarán cualquier tipo de extensión de anuncios que se esté publicando actualmente. En la siguiente tabla, se resume el tipo de extensión de anuncios que se publica actualmente (y, por lo tanto, se mostrará de forma predeterminada):

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

Después de migrar todas las extensiones de anuncios basadas en feeds, todos los selectores de extensiones de anuncios mostrarán extensiones de anuncios basadas en recursos de forma predeterminada. Aún será posible recuperar extensiones de anuncios basadas en feeds 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 se deberían requerir cambios de código antes ni después de migrar las extensiones de anuncios basadas en feeds. Sin embargo, existen algunas situaciones en las que se podrían requerir cambios en el código.

Cómo filtrar extensiones de anuncio por ID

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

// 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 solucionar este problema, debes filtrar por un atributo diferente o actualizar tu código para usar los IDs de las extensiones de anuncios basadas en recursos.

Cómo filtrar extensiones de anuncios por estadísticas

Cuando se migre una extensión de anuncio basada en un feed, se restablecerán las estadísticas de la extensión de anuncio basada en recursos correspondiente. Debes tener esto en cuenta cuando filtres las extensiones de anuncios por estadísticas. Por ejemplo, si solicitas extensiones de vínculos a sitios con Clicks > 100 en LAST_MONTH, es posible que veas menos extensiones de anuncios de lo normal si tus extensiones de anuncios basadas en feeds se migraron recientemente.

También debes tener esto en cuenta cuando generes informes de rendimiento para tus extensiones de anuncios. Es posible que tus informes muestren cambios o disminuciones significativos cuando se migren tus extensiones de anuncios basadas en feeds.

Métodos obsoletos

Como parte de la migración, ya no se admiten varios campos. Por ejemplo, la fecha de inicio y la fecha de 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
Aplicación para dispositivos móviles getSchedules
Númerotelefónico getEndDate
getStartDate
Precio getEndDate
getSchedules
getStartDate
Vínculo de sitio No hay métodos obsoletos
Fragmento getEndDate
getSchedules
getStartDate

Actualiza las extensiones de anuncios

Como parte de la migración, ya no se admiten varios campos. Por ejemplo, la fecha de inicio y la fecha de 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 saber qué métodos están obsoletos:

Clase Métodos obsoletos
Texto destacado No hay métodos obsoletos
Aplicación para dispositivos móviles setSchedules
Númerotelefónico 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 anuncios

El conjunto existente de creadores de extensiones de anuncios (por ejemplo, SitelinkBuilder) puede crear extensiones de anuncios basadas en feeds o en recursos. De forma predeterminada, estos compiladores crearán cualquier tipo de extensión de anuncios que se esté publicando actualmente. En la siguiente tabla, se resume el tipo de extensión de anuncios que se publica actualmente (y, por lo tanto, se creará de forma predeterminada):

Tipo de extensiones de anuncio en la cuenta
Solo extensiones de anuncios basadas en feeds Se crearán extensiones de anuncios basadas en feeds de forma predeterminada
Solo extensiones de anuncios basadas en recursos Se crearán extensiones de anuncios basadas en recursos de forma predeterminada
Extensiones de anuncios basadas en feeds y en recursos Se crearán extensiones de anuncios basadas en recursos de forma predeterminada

Después de que se migren las extensiones de un cliente, todos los creadores de extensiones de anuncios crearán extensiones de anuncios basadas en recursos de forma predeterminada. Ya no se admitirá la creación de extensiones de anuncios basadas en el feed, ya que estas dejarán de publicarse.

Si deseas crear una extensión basada en un feed en lugar de depender del comportamiento predeterminado, puedes llamar 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 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 compatibles

Como parte de la migración de extensiones de anuncios, ciertos campos dejaron de estar disponibles. Por ejemplo, la fecha de inicio y la fecha de finalización dejaron de estar disponibles en las extensiones de fragmento. Las llamadas a withEndDate o withStartDate no tendrán ningún efecto en la extensión. En su lugar, 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