广告附加信息

AdWords 脚本支持包括附加应用信息附加电话信息附加宣传信息附加评价信息附加链接在内的广告附加信息。

要详细了解广告附加信息,请访问帮助中心文章

利用 AdWords 脚本,您可以访问帐户中受支持的广告附加信息。例如,以下代码段可访问附加链接:

var sitelinkIterator = AdWordsApp.extensions().sitelinks().get();
while (sitelinkIterator.hasNext()) {
  var sitelink = sitelinkIterator.next();
}

您可以采用类似的方式检索其他受支持的广告附加信息,只需使用它们各自的迭代器即可。

创建

您还可以利用 AdWords 脚本创建受支持的广告附加信息。例如,以下代码段利用电话号码构建器在您的帐户中创建了一个电话号码:

var phoneNumberBuilder = AdWordsApp.extensions().newPhoneNumberBuilder();
var 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);

同样,您还可以利用相应的构建器创建其他受支持的广告附加信息并将其关联到广告系列或广告组。

获取统计信息

使用 AdWords 脚本,您可以在帐户、广告系列或广告组级别访问受支持广告附加信息的统计信息。

例如,要获得附加链接统计信息:

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

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

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

采用类似方式也可以访问其他受支持广告附加信息的统计信息。

修改广告附加信息

您可以使用 AdWords 脚本修改现有的受支持广告附加信息。例如,以下代码段将修改一个现有的附加链接:

// Get a sitelink in the account.
var sitelinkIterator = AdWordsApp.extensions().sitelinks().get();
var sitelink = sitelinkIterator.next();
Logger.log(sitelink.getLinkText()); // "original text"

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

// Get a sitelink from an ad group. Assume it's the same one as above.
var adGroupSitelinkIterator = adGroup.extensions().sitelinks().get();
var adGroupSitelink = adGroupSitelinkIterator.next();
Logger.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!
Logger.log(campaignSitelink.getLinkText()); // "new link text"
Logger.log(adGroupSitelink.getLinkText()); // "new link text"
Logger.log(sitelink.getLinkText()); // "new link text"

注意:如果修改附加链接,与该附加链接相关联的所有广告系列和广告组中的广告投放都会受到影响。无论您是直接从帐户级别检索到该附加链接,还是从相关广告系列的 CampaignSitelink 或相关广告组的 AdGroupSitelink 中检索到该附加链接,本条规则均适用。上述代码示例说明了此行为。

同样的情况也适用于其他受支持的广告附加信息。

访问广告组级别的广告附加信息

利用 AdWords 脚本,您可以访问广告组级别的广告附加信息。下列方法调用将返回已经明确添加至广告组的电话号码。请注意,如果电话号码是添加在该广告组所属的广告系列中,下列方法调用不会返回这些电话号码,即使它们有资格在该广告组投放的广告上显示也不行。

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

采用类似的方式还可以在广告组级别访问其他受支持的广告附加信息。

访问帐户级别的广告附加信息

利用 AdWords 脚本,您可以访问帐户级别的广告附加信息。作为广告附加信息,附加宣传信息、附加应用信息和附加评价信息都可以在帐户级别添加,但附加链接和附加电话信息在帐户级别不可用。以下方法将返回已明确添加到帐户的宣传信息。

// This will return callouts that have been explicitly added to your account.
var accountCalloutIterator =
    AdWordsApp.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.
var calloutBuilder = AdWordsApp.extensions().newCalloutBuilder();
var newCallout = calloutBuilder.withText("Sample Text").build().getResult();

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

采用类似的方式还可以添加帐户级别的附加应用信息和附加评价信息。

删除广告系列、广告组和帐户的广告附加信息

可以在帐户级别删除广告系列和广告组的受支持广告附加信息。AdWords 脚本不支持从帐户中一次性删除广告附加信息。

// Get a mobile app from a campaign.
var campaignMobileAppIterator = campaign.extensions().mobileApps().get();
var 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.
var mobileAppIterator = AdWordsApp.extensions().mobileApps().get();

同样,可按如下所示删除广告组级别或帐户级别的附加应用信息:

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

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

// Get an account-level mobile app.
var accountMobileAppIterator =
    AdWordsApp.currentAccount().extensions().mobileApps().get();
var 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.
AdWordsApp.currentAccount().removeMobileApp(accountMobileApp);

如果您将广告系列中的附加应用信息全部删除,该广告系列将不再具备附加应用信息。要删除广告系列中的所有附加应用信息,您需要检索该广告系列中的附加应用信息列表,然后逐个删除。删除其他受支持的广告附加信息也采用相同流程。

AdWords 脚本和 Feed

AdWords 脚本仅可用于检索默认 Feed 中的广告附加信息,不支持检索自定义 Feed 中的此类信息。所有通过 AdWords 前端创建的广告附加信息均在默认 Feed 中创建。有关自定义 Feed 的详情,请访问关于 Feed 的 AdWords API 文档

发送以下问题的反馈:

此网页
AdWords Scripts
AdWords Scripts
需要帮助?请访问我们的支持页面