تتمثّل الخطوة الأولى في تنفيذ "إعلانات Shopping" في إنشاء "حملة تسوّق". تتيح "حملات Shopping" للمستخدمين رؤية إعلانات تعرض صورة المنتج، بما في ذلك العنوان والسعر واسم المتجر والمزيد. عند إنشاء "حملة تسوّق"، عليك تحديد ميزانيتها واستراتيجية عروض أسعارها وإعدادات Shopping.
قبل إنشاء حملة تسوّق، عليك ربط حساب "إعلانات Google" بحسابك على Google Merchant Center. بعد ربط الحسابات، يمكنك استخدام رقم تعريف حساب Google Merchant Center عند تحديد إعدادات Shopping.
حملات التسوّق العادية
هذه هي الحملة المطلوبة لإنشاء إعلانات Shopping للمنتجات. المنتج تتيح لك إعلانات Shopping تضمين صورة وعنوان وسعر واسم متجرك أو نشاطك التجاري داخل إعلاناتك، بدون الحاجة إلى إنشاء إعلانات فريدة لكل منتج تبيعه.
اتّبِع الخطوات التالية لإعداد "حملة Shopping عادية":
- اضبط
advertising_channel_typeالحملة علىSHOPPING. - أنشِئ
ShoppingSetting، واضبط الحقول، ثم أضِفه إلى الحملة. - أنشئ استراتيجية محفظة لعروض الأسعار أو حدِّد استراتيجية عروض أسعار على مستوى الحملة.
- أنشئ ميزانية حملة جديدة أو حدِّد ميزانية مشتركة حالية.
- أضِف بيانًا للإفصاح عمّا إذا كانت الحملة تعرض إعلانات سياسية تستهدف الاتحاد الأوروبي من خلال ضبط
contains_eu_political_advertising(مثلDOES_NOT_CONTAIN_EU_POLITICAL_ADVERTISINGأوCONTAINS_EU_POLITICAL_ADVERTISING).
يمكنك استخدام متوسط ميزانية يومية أو ميزانية إجمالية للحملة. لا تتوفّر الميزانيات الإجمالية للحملات إلّا للحملات التي لها تاريخ بدء وتاريخ انتهاء محدّدَين (يتم ضبطهما في Campaign باستخدام start_date_time وend_date_time). راجِع مقالة إنشاء ميزانيات الحملات للحصول على تفاصيل حول إنشاء الميزانيات.
بالنسبة إلى "حملات Shopping العادية"، يتيح ShoppingSetting استخدام الحقول التالية.
الحقول المطلوبة لـ "حملات Shopping العادية"
merchant_id- معرّف Merchant Center للحساب الذي يحتوي على المنتجات المطلوب الإعلان عنها
campaign_priority- أولوية حملة تسوّق. تحظى الحملات ذات الأولويات الأعلى رقميًا بالأولوية على الحملات ذات الأولويات الأقل. تتراوح القيم المسموح بها بين 0 و2، ضِمنًا.
الحقول الاختيارية في "حملات Shopping العادية"
feed_labelسلسلة تُستخدَم لتصنيف الخلاصة على النحو المحدّد في حسابك على Merchant Center. يجب استخدام هذا الحقل في حال أردت اختيار منتجات من خلاصة معيّنة في Merchant Center. في حال عدم تحديدها، تستخدم الحملة جميع الخلاصات المتوفّرة في Merchant Center.
استخدِم الحقل
feed_labelبدلاً من الحقلsales_countryالذي تم إيقافه نهائيًا (تنسيق رمز البلد المكوّن من حرفَينXX). لمزيد من المعلومات، يُرجى الاطّلاع على مقالة الدعم حول تصنيف الخلاصة.يُرجى العِلم أنّ إرسال رمز بلد في
feed_labelلا يتيح تلقائيًا عرض الإعلانات في ذلك البلد، بل عليك أولاً إعداد استهداف الموقع الجغرافي.enable_localخيار تفعيل الإعلانات للمنتجات التي تُباع في المتاجر المحلية لهذه الحملة
ignore_brand_exclusion_in_shopping_adsمتوفّر في الإصدار 24.2 والإصدارات الأحدث قيمة منطقية، وعند ضبطها على
true، يتم تجاهل استبعادات العلامات التجارية في "إعلانات Shopping" ضمن هذه الحملة.advertising_partner_idsقائمة غير قابلة للتغيير بمعرّفات حسابات "إعلانات Google" للشركاء الإعلانيين الذين يتعاونون ضمن الحملة. متاحة للحسابات التي تتضمّن رابطًا خاصًا بشريك إعلاني.
يمكن إعداد استراتيجية عروض الأسعار كاستراتيجية المحفظة لعروض الأسعار أو كاستراتيجية عروض أسعار على مستوى الحملة.
استراتيجية المحفظة لعروض الأسعار: استراتيجية عروض أسعار مبرمَجة يمكن مشاركتها بين الحملات والمجموعات الإعلانية والكلمات الرئيسية. تم إنشاء هذا المحتوى باستخدام
BiddingStrategyService.تتوفّر استراتيجيات المحفظة لعروض الأسعار التالية:
استراتيجية عروض أسعار الحملة: هي استراتيجية عروض أسعار يتمّ ضبطها مباشرةً على الحملة. ويمكن أن يشمل ذلك استراتيجيات عروض الأسعار المبرمَجة المتوافقة مع "حملات Shopping".
تتوفّر استراتيجيات عروض الأسعار التالية على مستوى الحملة:
إعدادات الشبكة
لا تتيح "حملات Shopping العادية" استخدام الحقل
network_settings.target_content_network.
يؤدي ضبط هذا الحقل على true في "حملة Shopping عادية" ضمن طلب تغيير إلى حدوث خطأ CANNOT_TARGET_CONTENT_NETWORK.
لمزيد من التفاصيل، اطّلِع على التغييرات في إعدادات الشبكة لـ "حملات Shopping العادية" في "إعلانات Google".
مثال على الرمز
ينشئ الرمز التالي "حملة Shopping عادية" من خلال ضبط نوع القناة الإعلانية، ShoppingSetting، واستراتيجية عروض الأسعار، وميزانية الحملة، وحالة الإعلانات السياسية عن الاتحاد الأوروبي:
جافا
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 بالإعلان عن مجموعة من المنتجات من مواقعها الإلكترونية.
تتضمّن "حملات المقارنة" المتطلبات التالية:
- يجب ربط حساب "إعلانات Google" بحساب رئيسي متعدّد العملاء لخدمة CSS في Merchant Center. إذا كان الحساب غير مؤهَّل لاستخدام "حملات التسوق للمقارنة"، قد تتلقّى الخطأ
MERCHANT_NOT_ALLOWED_FOR_COMPARISON_LISTING_ADS. - يجب أن يكون
advertising_channel_typeالحملةSHOPPING.- يجب أن يكون
advertising_channel_sub_typeالحملةSHOPPING_COMPARISON_LISTING_ADS. - تتطلّب
shopping_settingالحملة ضبطmerchant_idعلى رقم تعريف حساب CSS على Merchant Center. - تتوفّر استراتيجية عروض الأسعار
manual_cpcفقط.
- يجب أن يكون
- يجب ضبط
typeفي المجموعات الإعلانية علىSHOPPING_COMPARISON_LISTING_ADS.- لعرض الإعلانات، يجب أن تتضمّن كل مجموعة إعلانية شجرة تقسيم المنتجات تحتوي على
listing groupواحد على الأقل. أبسط بنية شجرية هي عقدة جذرية واحدة تتضمّن كل المنتجات في المجموعة الإعلانية. لمزيد من التفاصيل، يُرجى الاطّلاع على دليل مجموعات بطاقات بيانات المتجر.
- لعرض الإعلانات، يجب أن تتضمّن كل مجموعة إعلانية شجرة تقسيم المنتجات تحتوي على