Extensiones de anuncios

Las secuencias de comandos de Google Ads admiten las siguientes extensiones de anuncio:

Para obtener más información sobre las extensiones de anuncio, visita el Centro de ayuda.

Las secuencias de comandos de Google Ads te permiten acceder a las extensiones de anuncios compatibles en tu cuenta. Por ejemplo, el siguiente fragmento de código permite acceder a los vínculos a sitios:

const sitelinkIterator = AdsApp.extensions().sitelinks().get();
for (const sitelink of sitelinkIterator) {
  // Do something with each sitelink
}

Puedes recuperar otras extensiones de anuncio admitidas de manera similar mediante sus respectivos iteradores.

Creación

Las secuencias de comandos de Google Ads te permiten crear extensiones de anuncios compatibles. Por ejemplo, en el siguiente fragmento de código, se usa un creador de números de teléfono para crear un número de teléfono en tu cuenta:

const phoneNumberBuilder = AdsApp.extensions().newPhoneNumberBuilder();
const newPhoneNumber = phoneNumberBuilder
  .withCountry("US")
  .withPhoneNumber("6502530000")
  .withCallOnly(false)
  .build()
  .getResult();

Cuando se llama a build(), se crea el número de teléfono en la cuenta, pero todavía no se mostrará con ningún anuncio. Primero, debes agregarla a una campaña o un grupo de anuncios:

// Add a phone number to a campaign.
campaign.addPhoneNumber(newPhoneNumber);

// Add a phone number to an ad group.
adGroup.addPhoneNumber(newPhoneNumber);

Otras extensiones de anuncio compatibles se pueden crear y asociar a campañas o grupos de anuncios de la misma manera con sus respectivos compiladores.

Obteniendo estadísticas

Las secuencias de comandos de Google Ads te permiten acceder a las estadísticas para las extensiones de anuncio compatibles a nivel de la cuenta, la campaña o el grupo de anuncios.

Por ejemplo, para obtener estadísticas de los vínculos a sitios, siga estos pasos:

// Account-level stats
// Get a sitelink in the account.
const sitelinkIterator = AdsApp.extensions().sitelinks().get();
const sitelink = sitelinkIterator.next();
const sitelinkStats = sitelink.getStatsFor("LAST_30_DAYS");
console.log(sitelinkStats.getClicks());

// Campaign-level stats.
// Get a sitelink in a campaign.
const campaignSitelinkIterator = campaign.extensions().sitelinks().get();
const campaignSitelink = campaignSitelinkIterator.next();
const campaignSitelinkStats = campaignSitelink.getStatsFor("LAST_30_DAYS");
console.log(campaignSitelinkStats.getClicks());

// Ad-group-level stats.
// Get a sitelink in an ad group.
const adGroupSitelinkIterator = adGroup.extensions().sitelinks().get();
const adGroupSitelink = adGroupSitelinkIterator.next();
const adGroupSitelinkStats = adGroupSitelink.getStatsFor("LAST_30_DAYS");
console.log(adGroupSitelinkStats.getClicks());

Se puede acceder de manera similar a las estadísticas de otras extensiones de anuncio compatibles.

Cómo modificar las extensiones de anuncio

Las extensiones de anuncio compatibles existentes se pueden modificar con las secuencias de comandos de Google Ads. Por ejemplo, el siguiente fragmento de código modificará un vínculo a sitio existente:

// Get a sitelink in the account.
const sitelinkIterator = AdsApp.extensions().sitelinks().get();
const sitelink = sitelinkIterator.next();
console.log(sitelink.getLinkText()); // "original text"

// Get a sitelink from a campaign. Assume it's the same one as above.
const campaignSitelinkIterator = campaign.extensions().sitelinks().get();
const campaignSitelink = campaignSitelinkIterator.next();
console.log(campaignSitelink.getLinkText()); // "original text"

// Get a sitelink from an ad group. Assume it's the same one as above.
const adGroupSitelinkIterator = adGroup.extensions().sitelinks().get();
const adGroupSitelink = adGroupSitelinkIterator.next();
console.log(adGroupSitelink.getLinkText()); // "original text"

// Change the sitelink's link text. This change will affect all the campaigns
// and ad groups to which the sitelink belongs.
campaignSitelink.setLinkText("new link text");

// Same text!
console.log(campaignSitelink.getLinkText()); // "new link text"
console.log(adGroupSitelink.getLinkText()); // "new link text"
console.log(sitelink.getLinkText()); // "new link text"

Los mismos conceptos se aplican para otras extensiones de anuncio compatibles.

Acceso a las extensiones de anuncio en el nivel del grupo de anuncios

Las secuencias de comandos de Google Ads te permiten acceder a las extensiones de anuncio a nivel del grupo de anuncios. La siguiente llamada de método mostrará los números de teléfono que se agregaron explícitamente a un grupo de anuncios. Ten en cuenta que si se agregaron números de teléfono a la campaña a la que pertenece el grupo de anuncios, la siguiente llamada al método no los mostrará, incluso si los números de teléfono son aptos para aparecer en los anuncios publicados desde ese grupo de anuncios.

// This will return phone numbers that have been explicitly added to this
// ad group.
const adGroupPhoneNumberIterator = adGroup.extensions().phoneNumbers().get();

Se puede acceder a otras extensiones de anuncio compatibles a nivel del grupo de anuncios de manera similar.

Cómo acceder a las extensiones de anuncio a nivel de la cuenta

Las secuencias de comandos de Google Ads te permiten acceder a las extensiones de anuncio a nivel de la cuenta. Los textos destacados, las aplicaciones para dispositivos móviles y las opiniones se pueden agregar como extensiones de anuncio a nivel de la cuenta, pero no están disponibles los vínculos a sitios y los números de teléfono a nivel de la cuenta. La siguiente llamada al método mostrará los textos destacados que se agregaron explícitamente a tu cuenta.

// This will return callouts that have been explicitly added to your account.
const accountCalloutIterator =
    AdsApp.currentAccount().extensions().callouts().get();

Se puede acceder a las aplicaciones para dispositivos móviles y a las opiniones a nivel de la cuenta de una manera similar.

Agregar extensiones de anuncio a nivel de la cuenta es similar a agregar extensiones de anuncio a nivel de la campaña o del grupo de anuncios. En el siguiente ejemplo, se muestra cómo agregar una extensión de texto destacado a nivel de la cuenta:

// Create a new callout in the account. Without adding the new callout as an ad
// group, campaign or account extension, it won't actually serve.
const calloutBuilder = AdsApp.extensions().newCalloutBuilder();
const newCallout = calloutBuilder.withText("Sample Text").build().getResult();

// Add the new callout as an account-level extension. This enables it to serve
// for all campaigns in the account.
AdsApp.currentAccount().addCallout(newCallout);

Las aplicaciones para dispositivos móviles y las opiniones a nivel de la cuenta se pueden agregar de manera similar.

Quitando las extensiones de anuncio de la campaña, el grupo de anuncios y la cuenta

Las extensiones de anuncio admitidas se pueden quitar de las campañas y los grupos de anuncios a nivel de la cuenta. Las secuencias de comandos de Google Ads no permiten quitar extensiones de anuncio de una cuenta a la vez.

// Get a mobile app from a campaign.
const campaignMobileAppIterator = campaign.extensions().mobileApps().get();
const campaignMobileApp = campaignMobileAppIterator.next();

// Remove the mobile app.
campaign.removeMobileApp(campaignMobileApp);

// The mobile app still exists in the account and will be returned in the
// following iterator.
const mobileAppIterator = AdsApp.extensions().mobileApps().get();

Del mismo modo, si desea quitar una aplicación para dispositivos móviles a nivel del grupo de anuncios o de la cuenta, haga lo siguiente:

// Get a mobile app from an ad group.
const adGroupMobileAppIterator = adGroup.extensions().mobileApps().get();
const adGroupMobileApp = adGroupMobileAppIterator.next();

// Remove the mobile app.
adGroup.removeMobileApp(adGroupMobileApp);

// Get an account-level mobile app.
const accountMobileAppIterator =
    AdsApp.currentAccount().extensions().mobileApps().get();
const accountMobileApp = accountMobileAppIterator.next();

// Remove the mobile app.
// Note that this removes the mobile app from the account level, so it will
// not serve as an account-level extension, but it will still exist in the
// account. It can still be added to an AdGroup or Campaign, or again as an
// account-level extension in the future.
AdsApp.currentAccount().removeMobileApp(accountMobileApp);

Si se quitan todas las aplicaciones para dispositivos móviles de una campaña, esta ya no tendrá una extensión de aplicación para dispositivos móviles. Para quitar todas las aplicaciones para dispositivos móviles de tu campaña, debes recuperar la lista de aplicaciones móviles para esa campaña y quitarlas una por vez. El procedimiento es el mismo para otras extensiones de anuncio compatibles.