制作购物广告系列

实施购物广告的第一步是制作购物广告系列。 购物广告系列可让用户看到展示产品图片的广告,其中包含商品名、价格、商店名称等信息。制作购物广告系列时,您需要设置其预算、出价策略和购物设置。

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

标准购物广告系列

这是制作商品购物广告所必需的广告系列。商品购物广告可让您在广告中添加图片、名称、价格以及商店或商家名称,而无需为所售的每件商品分别制作广告。

如需设置标准购物广告系列,请按以下步骤操作:

  1. 将相应广告系列的 advertising_channel_type 设置为 SHOPPING。
  2. 创建 ShoppingSetting,设置字段,然后将其添加到广告系列。
  3. 创建组合出价策略或设置广告系列级出价策略。
  4. 创建新的广告系列预算或设置现有的共享预算。
  5. 通过设置 contains_eu_political_advertising(例如 DOES_NOT_CONTAIN_EU_POLITICAL_ADVERTISING 或 CONTAINS_EU_POLITICAL_ADVERTISING),声明相应广告系列是否投放定位到欧盟的政治广告。

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

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

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

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

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

feed_label

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

请使用 feed_label 字段,而不是已弃用的 sales_country 字段(由两个字母构成的国家/地区代码,采用 XX 格式)。 如需了解详情,请参阅Feed 标签支持文章。

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

enable_local

用于为此广告系列启用宣传本地商店销售产品的广告的选项。

ignore_brand_exclusion_in_shopping_ads

适用于 24.2 版及更高版本。一个布尔值,设置为 true 时,表示忽略相应广告系列中购物广告的品牌排除设置。

advertising_partner_ids

在广告系列中合作的广告合作伙伴的不可变 Google Ads 账号 ID 列表。适用于具有广告合作伙伴关联的账号。

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

网络设置

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

在 mutate 请求中,如果将此字段针对标准购物广告系列设置为 true,则会生成 CANNOT_TARGET_CONTENT_NETWORK 错误。

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

代码示例

以下代码通过配置广告渠道类型 ShoppingSetting、出价策略、广告系列预算和欧盟政治广告状态来创建标准购物广告系列:

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

Python

def add_standard_shopping_campaign(
    client: GoogleAdsClient,
    customer_id: str,
    budget_resource_name: str,
    merchant_center_account_id: int,
) -> str:
    """Creates a new standard shopping campaign in the specified client account."""
    campaign_service: CampaignServiceClient = client.get_service(
        "CampaignService"
    )

    # Create standard shopping campaign.
    campaign_operation: CampaignOperation = client.get_type("CampaignOperation")
    campaign: Campaign = campaign_operation.create
    campaign.name = f"Interplanetary Cruise Campaign {uuid.uuid4()}"

    # Configures settings related to shopping campaigns including advertising
    # channel type and shopping setting.
    campaign.advertising_channel_type = (
        client.enums.AdvertisingChannelTypeEnum.SHOPPING
    )
    campaign.shopping_setting.merchant_id = merchant_center_account_id

    # Sets the priority of the campaign. Higher numbers take priority over lower
    # numbers. For standard shopping campaigns, allowed values are between 0 and
    # 2, inclusive.
    campaign.shopping_setting.campaign_priority = 0

    # Enables local inventory ads for this campaign.
    campaign.shopping_setting.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.
    campaign.status = client.enums.CampaignStatusEnum.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
    campaign.manual_cpc = client.get_type("ManualCpc")

    # Sets the budget.
    campaign.campaign_budget = budget_resource_name

    # Declare whether or not this campaign serves political ads targeting the
    # EU. Valid values are:
    #   CONTAINS_EU_POLITICAL_ADVERTISING
    #   DOES_NOT_CONTAIN_EU_POLITICAL_ADVERTISING
    campaign.contains_eu_political_advertising = (
        client.enums.EuPoliticalAdvertisingStatusEnum.DOES_NOT_CONTAIN_EU_POLITICAL_ADVERTISING
    )

    # Add the campaign.
    campaign_response = campaign_service.mutate_campaigns(
        customer_id=customer_id, operations=[campaign_operation]
    )

    campaign_resource_name: str = campaign_response.results[0].resource_name

    print(
        "Added a standard shopping campaign with resource name "
        f"'{campaign_resource_name}'."
    )

    return campaign_resource_name
      

Ruby

def add_standard_shopping_campaign(
    client, customer_id, budget_name, merchant_center_id)

  operation = client.operation.create_resource.campaign do |campaign|
    campaign.name = "Interplanetary Cruise Campaign ##{(Time.new.to_f * 1000).to_i}"

    # Shopping campaign specific settings
    campaign.advertising_channel_type = :SHOPPING

    campaign.shopping_setting = client.resource.shopping_setting do |shopping_setting|
      shopping_setting.merchant_id = merchant_center_id
      shopping_setting.campaign_priority = 0
      shopping_setting.enable_local = true
    end

    campaign.status = :PAUSED

    # Sets the bidding strategy to Manual CPC.
    campaign.manual_cpc = client.resource.manual_cpc

    campaign.campaign_budget = budget_name

    # Declare whether or not this campaign serves political ads targeting the EU.
    # Valid values are CONTAINS_EU_POLITICAL_ADVERTISING and
    # DOES_NOT_CONTAIN_EU_POLITICAL_ADVERTISING.
    c.contains_eu_political_advertising = :DOES_NOT_CONTAIN_EU_POLITICAL_ADVERTISING
  end

  service = client.service.campaign
  response = service.mutate_campaigns(
    customer_id: customer_id,
    operations: [operation],
  )

  campaign_name = response.results.first.resource_name

  puts "Added a standard shopping campaign with resource name #{campaign_name}."

  campaign_name
end
      

Perl

sub add_standard_shopping_campaign {
  my ($api_client, $customer_id, $budget_resource_name,
    $merchant_center_account_id)
    = @_;

  # Create a standard shopping campaign.
  my $campaign = Google::Ads::GoogleAds::V25::Resources::Campaign->new({
      name => "Interplanetary Cruise Campaign #" . uniqid(),
      # Configure settings related to shopping campaigns including advertising
      # channel type and shopping setting.
      advertisingChannelType => SHOPPING,
      shoppingSetting        =>
        Google::Ads::GoogleAds::V25::Resources::ShoppingSetting->new({
          merchantId => $merchant_center_account_id,
          # Set the priority of the campaign. Higher numbers take priority over
          # lower numbers. For standard shopping campaigns, allowed values are
          # between 0 and 2, inclusive.
          campaignPriority => 0,
          # Enable local inventory ads for this campaign.
          enableLocal => "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 => Google::Ads::GoogleAds::V25::Enums::CampaignStatusEnum::PAUSED,
      # Set 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 => Google::Ads::GoogleAds::V25::Common::ManualCpc->new(),
      # Set the budget.
      campaignBudget => $budget_resource_name,
      # Declare whether or not this campaign serves political ads targeting the EU.
      # Valid values are CONTAINS_EU_POLITICAL_ADVERTISING and
      # DOES_NOT_CONTAIN_EU_POLITICAL_ADVERTISING.
      containsEuPoliticalAdvertising =>
        DOES_NOT_CONTAIN_EU_POLITICAL_ADVERTISING
    });

  # Create a campaign operation.
  my $campaign_operation =
    Google::Ads::GoogleAds::V25::Services::CampaignService::CampaignOperation->
    new({create => $campaign});

  # Add the campaign.
  my $campaign_resource_name = $api_client->CampaignService()->mutate({
      customerId => $customer_id,
      operations => [$campaign_operation]})->{results}[0]{resourceName};

  printf "Added a standard shopping campaign with resource name: '%s'.\n",
    $campaign_resource_name;

  return $campaign_resource_name;
}
      

curl

比价购物广告系列

比较商品详情广告系列适用于参与 CSS 计划的购物比较服务 (CSS)。借助这些广告系列,CSS 可以宣传其网站上的一组商品。

比价购物广告系列必须满足以下要求:

车辆广告