← 返回目录
来源:Google Ads API 官方文档 · 中文版 · 本地归档

制作购物广告系列

实施购物广告的第一步是制作购物广告系列。 通过购物广告系列,用户可以查看各种展示产品图片的广告,包括名称、价格、商店名称等。在制作购物广告系列时,您需要为其设置预算、出价策略和购物设置。

在制作购物广告系列之前,您需要将 Google Ads 账号与 Google Merchant Center 账号相关联。关联账号后,您可以在指定购物设置时使用 Google Merchant Center 账号 ID。

标准购物广告系列

这是制作产品购物广告所需使用的广告系列。通过产品购物广告,您可以在广告中加入图片、名称、价格以及商店或商家名称,而无需为销售的每件产品单独制作一个广告。

以下是设置标准购物广告系列的步骤:

  1. 将广告系列的 advertising_channel_type 设置为 SHOPPING。
  2. 创建 ShoppingSetting,设置相关字段,然后将其添加到广告系列中。
  3. 创建组合出价策略或设置广告系列一级的出价策略。
  4. 创建新的广告系列预算或设置现有的共享预算。

您可以使用平均每日预算或广告系列总预算。广告系列总预算仅适用于设置了开始日期和结束日期的广告系列。 如需详细了解如何创建预算,请参阅创建广告系列预算。

对于标准购物广告系列,ShoppingSetting 支持以下字段。

标准购物广告系列的必填字段

merchant_id
包含待宣传产品的账号的 Merchant Center ID。
campaign_priority
购物广告系列的优先级。数值越高,相应广告系列的优先级就越高,反之越低。允许的值在 0 到 2 之间(包括 0 和 2)。

标准购物广告系列的可选字段

feed_label

用于 Feed 标签的字符串,如您的 Merchant Center 中所定义。如果您需要从特定的 Merchant Center Feed 中选择商品,则应使用此字段。如果未指定,则广告系列会使用 Merchant Center 中的所有可用 Feed。

如果您之前在双字母国家/地区代码 (XX) 格式中使用了已弃用的 sales_country,则应改用 feed_label 字段。如需了解详情,请参阅Feed 标签支持文章。

请注意,在 feed_label 中提交国家/地区代码并不会自动启用在该国家/地区投放的广告;您必须先设置地理位置定位。

enable_local

此广告系列的“为本地店铺所售产品启用广告”选项。

出价策略可以设置为组合出价策略或广告系列出价策略。

网络设置

标准购物广告系列不支持 network_settings.target_content_network 字段。

在变更请求中将此字段设置为 true 会在标准购物广告系列中生成 CANNOT_TARGET_CONTENT_NETWORK 错误。

如需了解详情,请参阅 Google Ads 标准购物广告系列的网络设置变更。

此代码示例演示了如何制作标准购物广告系列。

Java

private String addStandardShoppingCampaign(
    GoogleAdsClient googleAdsClient,
    long customerId,
    String budgetResourceName,
    long merchantCenterAccountId) {

  // Configures the shopping settings.
  ShoppingSetting shoppingSetting =
      ShoppingSetting.newBuilder()
          // Sets the priority of the campaign. Higher numbers take priority over lower numbers.
          // For Shopping product ad campaigns, allowed values are between 0 and 2, inclusive.
          .setCampaignPriority(0)
          .setMerchantId(merchantCenterAccountId)
          // Enables local inventory ads for this campaign.
          .setEnableLocal(true)
          .build();

  // Create the standard shopping campaign.
  Campaign campaign =
      Campaign.newBuilder()
          .setName("Interplanetary Cruise #" + getPrintableDateTime())
          // Configures settings related to shopping campaigns including advertising channel type
          // and shopping setting.
          .setAdvertisingChannelType(AdvertisingChannelType.SHOPPING)
          .setShoppingSetting(shoppingSetting)
          // Recommendation: Sets the campaign to PAUSED when creating it to prevent
          // the ads from immediately serving. Set to ENABLED once you've added
          // targeting and the ads are ready to serve.
          .setStatus(CampaignStatus.PAUSED)
          // Sets the bidding strategy to Manual CPC
          // Recommendation: Use one of the automated bidding strategies for Shopping campaigns
          // to help you optimize your advertising spend. More information can be found here:
          // https://support.google.com/google-ads/answer/6309029.
          .setManualCpc(ManualCpc.getDefaultInstance())
          // Sets the budget.
          .setCampaignBudget(budgetResourceName)
          // Declares whether this campaign serves political ads targeting the EU.
          .setContainsEuPoliticalAdvertising(DOES_NOT_CONTAIN_EU_POLITICAL_ADVERTISING)
          .build();

  // Creates a campaign operation.
  CampaignOperation operation = CampaignOperation.newBuilder().setCreate(campaign).build();

  // Issues a mutate request to add the campaign.
  try (CampaignServiceClient campaignServiceClient =
      googleAdsClient.getLatestVersion().createCampaignServiceClient()) {
    MutateCampaignsResponse response =
        campaignServiceClient.mutateCampaigns(
            Long.toString(customerId), Collections.singletonList(operation));
    MutateCampaignResult result = response.getResults(0);
    System.out.printf(
        "Added a standard shopping campaign with resource name: '%s'%n",
        result.getResourceName());
    return result.getResourceName();
  }
}

      

C#

private string AddStandardShoppingCampaign(GoogleAdsClient client, long customerId,
    string budgetResourceName, long merchantCenterAccountId)
{
    // Get the CampaignService.
    CampaignServiceClient campaignService =
        client.GetService(Services.V25.CampaignService);

    // Configures the shopping settings.
    ShoppingSetting shoppingSetting = new ShoppingSetting()
    {
        // Sets the priority of the campaign. Higher numbers take priority over lower
        // numbers. For Shopping Product Ad campaigns, allowed values are between 0 and 2,
        // inclusive.
        CampaignPriority = 0,

        MerchantId = merchantCenterAccountId,

        // Enables local inventory ads for this campaign.
        EnableLocal = true
    };

    // Create the standard shopping campaign.
    Campaign campaign = new Campaign()
    {
        Name = "Interplanetary Cruise #" + ExampleUtilities.GetRandomString(),

        // Configures settings related to shopping campaigns including advertising channel
        // type and shopping setting.
        AdvertisingChannelType = AdvertisingChannelType.Shopping,

        ShoppingSetting = shoppingSetting,

        // Recommendation: Set the campaign to PAUSED when creating it to prevent
        // the ads from immediately serving. Set to ENABLED once you've added
        // targeting and the ads are ready to serve
        Status = CampaignStatus.Paused,

        // Sets the bidding strategy to Manual CPC.
        // Recommendation: Use one of the automated bidding strategies for Shopping
        // campaigns to help you optimize your advertising spend. More information can be
        // found here: https://support.google.com/google-ads/answer/6309029
        ManualCpc = new ManualCpc(),

        // Sets the budget.
        CampaignBudget = budgetResourceName,

        // Declare whether or not this campaign contains political ads targeting the EU.
        ContainsEuPoliticalAdvertising = EuPoliticalAdvertisingStatus.DoesNotContainEuPoliticalAdvertising,
    };

    // Creates a campaign operation.
    CampaignOperation operation = new CampaignOperation()
    {
        Create = campaign
    };

    // Issues a mutate request to add the campaign.
    MutateCampaignsResponse response =
        campaignService.MutateCampaigns(customerId.ToString(),
            new CampaignOperation[] { operation });
    MutateCampaignResult result = response.Results[0];
    Console.WriteLine("Added a standard shopping campaign with resource name: '{0}'.",
        result.ResourceName);
    return result.ResourceName;
}
      

PHP

private static function addStandardShoppingCampaign(
    GoogleAdsClient $googleAdsClient,
    int $customerId,
    string $budgetResourceName,
    int $merchantCenterAccountId
) {
    // Creates a standard shopping campaign.
    $campaign = new Campaign([
        'name' => 'Interplanetary Cruise Campaign #' . Helper::getPrintableDatetime(),
        // Configures settings related to shopping campaigns including advertising channel type
        // and shopping setting.
        'advertising_channel_type' => AdvertisingChannelType::SHOPPING,
        // Configures the shopping settings.
        'shopping_setting' => new ShoppingSetting([
            // Sets the priority of the campaign. Higher numbers take priority over lower
            // numbers. For Shopping product ad campaigns, allowed values are between 0 and 2,
            // inclusive.
            'campaign_priority' => 0,
            'merchant_id' => $merchantCenterAccountId,
            // Enables local inventory ads for this campaign
            'enable_local' => true
        ]),
        // Recommendation: Set the campaign to PAUSED when creating it to prevent
        // the ads from immediately serving. Set to ENABLED once you've added
        // targeting and the ads are ready to serve.
        'status' => CampaignStatus::PAUSED,
        // Sets the bidding strategy to Manual CPC.
        // Recommendation: Use one of the automated bidding strategies for Shopping campaigns
        // to help you optimize your advertising spend. More information can be found here:
        // https://support.google.com/google-ads/answer/6309029.
        'manual_cpc' => new ManualCpc(),
        // Sets the budget.
        'campaign_budget' => $budgetResourceName,
        // Declare whether or not this campaign serves political ads targeting the EU.
        'contains_eu_political_advertising' =>
            EuPoliticalAdvertisingStatus::DOES_NOT_CONTAIN_EU_POLITICAL_ADVERTISING
    ]);

    // Creates a campaign operation.
    $campaignOperation = new CampaignOperation();
    $campaignOperation->setCreate($campaign);

    // Issues a mutate request to add campaigns.
    $campaignServiceClient = $googleAdsClient->getCampaignServiceClient();
    $response = $campaignServiceClient->mutateCampaigns(
        MutateCampaignsRequest::build($customerId, [$campaignOperation])
    );

    /** @var Campaign $addedCampaign */
    $addedCampaign = $response->getResults()[0];
    printf(
        "Added a standard shopping campaign with resource name '%s'.%s",
        $addedCampaign->getResourceName(),
        PHP_EOL
    );

    return $addedCampaign->getResourceName();
}
在接这个接口时卡住了?
Stuck wiring this API into production? We build ad-delivery tooling on these platforms — campaign automation, reporting pipelines, error-handling and migration between API versions.
联系我们 · Talk to us 每日平台更新简报 →