實施購物廣告的第一步是建立購物廣告活動。購物廣告活動可讓使用者看到顯示產品圖片、名稱、價格、商店名稱等資訊的廣告。建立購物廣告活動時,您需要設定預算、出價策略和購物設定。
您需要先將 Google Ads 帳戶連結至 Google Merchant Center 帳戶,才能建立購物廣告活動。連結帳戶後,您可以在指定購物設定時使用 Google Merchant Center 帳戶 ID。
標準購物廣告活動
這是建立產品購物廣告所需的廣告活動。您可以在產品購物廣告中加入圖片、商品名稱、價格和商家/公司名稱,省去為旗下各項商品分別製作專屬廣告的麻煩。
以下是設定標準購物廣告活動的步驟:
- 將廣告活動的
advertising_channel_type
設為SHOPPING
。 - 建立
ShoppingSetting
、設定欄位,然後將其加入廣告活動。 - 建立組合出價策略或設定廣告活動層級出價策略。
- 新建廣告活動預算或設定現有共用預算。
對於標準購物廣告活動,ShoppingSetting
支援下列欄位:
必填
merchant_id
- 含有要宣傳產品的帳戶 Merchant Center ID。
campaign_priority
- 購物廣告活動的優先順序。優先順序數值較高的廣告活動會優先於優先順序較低的廣告活動。有效值介於 0 和 2 之間 (含頭尾)。
選用
feed_label
在 Merchant Center 中定義的動態饋給標籤字串。如要從特定 Merchant Center 動態饋給中選取產品,請使用這個欄位。如未指定,廣告活動會使用 Merchant Center 中的所有可用動態饋給。
如果您先前使用的是已淘汰的
sales_country
雙字母國家/地區代碼 (XX
) 格式,請改用feed_label
。詳情請參閱「動態饋給標籤」支援文章。請注意,在
feed_label
中提交國家/地區代碼並不會自動啟用在該國家/地區放送廣告的功能;您必須先設定地理位置指定目標。enable_local
為這個廣告活動啟用本地商店所銷售產品的廣告。
出價策略可設定為:
- 組合出價策略
- 可在廣告活動、廣告群組和關鍵字之間共用的自動出價策略。使用
BiddingStrategyService
建立。 - 廣告活動出價策略
- 直接在廣告活動中設定的出價策略。這可能包括與購物廣告活動相容的自動出價策略。
標準購物廣告活動支援下列出價策略:
組合出價策略
廣告活動出價策略
網路設定
自 2022 年 2 月 28 日當週起,標準購物廣告活動不再支援 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) .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.V19.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 }; // 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 ]); // 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, customer_id, budget_resource_name, merchant_center_account_id ): """Creates a new standard shopping campaign in the specified client account.""" campaign_service = client.get_service("CampaignService") # Create standard shopping campaign. campaign_operation = client.get_type("CampaignOperation") 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 # Add the campaign. campaign_response = campaign_service.mutate_campaigns( customer_id=customer_id, operations=[campaign_operation] ) campaign_resource_name = campaign_response.results[0].resource_name print( "Added a standard shopping campaign with resource name " f"'{campaign_resource_name}'." ) return campaign_resource_name
小茹
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 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::V19::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::V19::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::V19::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::V19::Common::ManualCpc->new(), # Set the budget. campaignBudget => $budget_resource_name }); # Create a campaign operation. my $campaign_operation = Google::Ads::GoogleAds::V19::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; }