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 anuncios, visita el Centro de ayuda.

Las secuencias de comandos de Google Ads te permiten acceder a las extensiones de anuncio admitidas en tu 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
}

De manera similar, puedes recuperar otras extensiones de anuncio admitidas con sus respectivos iteradores.

Creación

Las secuencias de comandos de Google Ads te permiten crear extensiones de anuncio compatibles. Por ejemplo, el siguiente fragmento de código usa un compilador 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 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);

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

Cómo obtener estadísticas

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

Por ejemplo, para obtener estadísticas de vínculos a sitio, 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 anuncio admitidas de manera similar.

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 a otras extensiones de anuncio admitidas.

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

Los 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 devolverá 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 devolverá, incluso cuando los números de teléfono sean 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.

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 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 devolverá 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 las opiniones a nivel de la cuenta de 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 opiniones y las aplicaciones para dispositivos móviles a nivel de la cuenta se pueden agregar de manera similar.

Cómo quitar extensiones de anuncio de la campaña, el grupo de anuncios y la cuenta

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 todas las extensiones de anuncios 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, para quitar una aplicación para dispositivos móviles a nivel de la cuenta o del grupo de anuncios, haz 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 won't
// 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 por una. El procedimiento es el mismo para otras extensiones de anuncios admitidas.