Расширения объявлений

Скрипты Google Ads поддерживают следующие расширения объявлений:

Дополнительную информацию о расширениях объявлений можно найти в справочном центре .

Скрипты Google Рекламы позволяют вам получать доступ к поддерживаемым расширениям объявлений в вашем аккаунте. Например, следующий фрагмент кода обеспечивает доступ к дополнительным ссылкам:

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

Аналогичным образом вы можете получить другие поддерживаемые расширения рекламы, используя соответствующие итераторы.

Создание

Скрипты Google Рекламы позволяют создавать поддерживаемые расширения объявлений. Например, следующий фрагмент кода использует конструктор номеров телефонов для создания номера телефона в вашем аккаунте:

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

При вызове метода build() номер телефона создаётся в учётной записи, но пока не будет отображаться в рекламе. Сначала его необходимо добавить в кампанию или группу объявлений:

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

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

Другие поддерживаемые расширения объявлений можно создавать и связывать с кампаниями или группами объявлений таким же образом, используя соответствующие им конструкторы .

Получение статистики

Скрипты Google Ads позволяют получить доступ к статистике поддерживаемых расширений объявлений на уровне аккаунта, кампании или группы объявлений.

Например, чтобы получить статистику дополнительных ссылок:

// 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());

Статистику по другим поддерживаемым расширенным объявлениям можно получить аналогичным образом.

Изменение расширений объявлений

Существующие поддерживаемые расширения объявлений можно изменять с помощью скриптов Google Ads. Например, следующий фрагмент кода изменит существующую дополнительную ссылку:

// 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"

Те же концепции применимы и к другим поддерживаемым расширениям рекламы.

Доступ к расширениям объявлений на уровне группы объявлений

Скрипты Google Рекламы позволяют получать доступ к расширениям объявлений на уровне группы объявлений. Следующий вызов метода вернёт номера телефонов, которые были явно добавлены в группу объявлений. Обратите внимание: если номера телефонов были добавлены в кампанию, к которой принадлежит группа объявлений, следующий вызов метода не вернёт их, даже если эти номера могут отображаться в объявлениях из этой группы объявлений.

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

Доступ к другим поддерживаемым расширениям объявлений можно получить аналогичным образом на уровне группы объявлений.

Доступ к расширенным объявлениям на уровне аккаунта

Скрипты Google Рекламы позволяют получать доступ к расширениям объявлений на уровне аккаунта. Уточнения, мобильные приложения и отзывы можно добавлять как расширения объявлений на уровне аккаунта, но дополнительные ссылки и номера телефонов на уровне аккаунта недоступны. Следующий вызов метода вернет уточнения, которые были явно добавлены в ваш аккаунт.

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

Аналогичным образом можно получить доступ к мобильным приложениям и отзывам на уровне учетной записи.

Добавление расширений объявлений на уровне аккаунта аналогично добавлению расширений объявлений на уровне кампании или группы объявлений. В следующем примере показано, как добавить уточнение на уровне аккаунта:

// 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);

Аналогичным образом можно добавлять мобильные приложения и обзоры на уровне учетной записи.

Удаление расширений объявлений кампании, группы объявлений и аккаунта

Поддерживаемые расширения объявлений можно удалить из кампаний и групп объявлений на уровне аккаунта. Скрипты Google Рекламы не поддерживают одновременное удаление всех расширений объявлений из аккаунта.

// 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();

Аналогично, чтобы удалить мобильное приложение на уровне группы объявлений или на уровне аккаунта:

// 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);

Если из кампании будут удалены все мобильные приложения, в ней больше не будет расширения для мобильных приложений. Чтобы удалить все мобильные приложения из кампании, необходимо получить список мобильных приложений для этой кампании и удалять их по одному. Процедура аналогична для других поддерживаемых расширений объявлений.