Extensiones de anuncios

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

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

Las secuencias de comandos de Google Ads le permiten acceder a las extensiones de anuncio compatibles en su cuenta. Por ejemplo, el siguiente fragmento de código accede 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 compatibles de manera similar con 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 compilador de números de teléfono para crear uno 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 aún no se mostrará junto con ningún anuncio. Primero, debes agregarlo a una campaña o a 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);

Se pueden crear y asociar otras extensiones de anuncios compatibles a las campañas o a los grupos de anuncios de la misma manera con sus respectivos constructores.

Obteniendo estadísticas

Las secuencias de comandos de Google Ads te permiten acceder a las estadísticas de las extensiones de anuncios 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, haz lo siguiente:

// 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 a las estadísticas de otras extensiones de anuncios admitidas de manera similar.

Cómo modificar las extensiones de anuncio

Las extensiones de anuncios 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 a otras extensiones de anuncio compatibles.

Cómo acceder a las extensiones de anuncios a nivel del grupo de anuncios

Las secuencias de comandos de Google Ads te permiten acceder a las extensiones de anuncios a nivel del grupo de anuncios. La siguiente llamada al método mostrará los números de teléfono que se agregaron de forma explícita 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 anuncios compatibles a nivel del grupo de anuncios de una 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 apps para dispositivos móviles y las opiniones se pueden agregar como extensiones de anuncios a nivel de la cuenta, pero los vínculos a sitios y los números de teléfono a nivel de la cuenta no están disponibles. La siguiente llamada al método mostrará los textos destacados que se agregaron de forma explícita 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 opiniones y apps para dispositivos móviles a nivel de la cuenta de una manera similar.

Agregar extensiones de anuncios a nivel de la cuenta es similar a agregar extensiones de anuncios 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 en el nivel de la cuenta se pueden agregar de manera similar.

Cómo quitar extensiones de anuncios de campañas, grupos de anuncios y cuentas

Las extensiones de anuncios compatibles 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 de una sola 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, para quitar una aplicación para dispositivos móviles a nivel del grupo de anuncios o de la cuenta, sigue estos pasos:

// 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 para dispositivos móviles de esa campaña y quitarlas una a la vez. El procedimiento es el mismo para otras extensiones de anuncio compatibles.