تتيح لك معدِّلات عروض الأسعار تعديل عروض الأسعار لمعيار معيّن بدون تغيير استهداف حملتك أو مجموعتك الإعلانية. على سبيل المثال، لا يستبعد معدِّل عروض أسعار المجموعة الإعلانية للأجهزة الجوّالة مرّات الظهور لأنواع الأجهزة الأخرى، ولكنّه يتيح لك رفع عروض أسعارك أو خفضها لمرّات الظهور على الأجهزة الجوّالة.
يتم ضبط المُعدِّلات كمُضاعِفات نقطة عائمة في الحقل bid_modifier. على سبيل المثال، تؤدي القيمة 1.2 إلى زيادة عرض السعر بنسبة %20، بينما تؤدي القيمة 0.8 إلى خفضه بنسبة %20. بالنسبة إلى المعايير المتوافقة (مثل استبعاد نوع جهاز)، يؤدي استخدام القيمة 0.0 (المكافئة لتعديل عرض أسعار بنسبة -100% في واجهة مستخدم "إعلانات Google") إلى إيقاف المعيار. عندما يتم تطبيق معدّلات تعديل عروض أسعار متعدّدة على مرّة ظهور، يتم ضربها معًا لاحتساب تعديل عرض السعر النهائي. يُرجى الرجوع إلى المستندات المرجعية CampaignBidModifier وAdGroupBidModifier للاطّلاع على نطاقات القيم الصالحة.
لمزيد من المعلومات عن طريقة عمل عروض الأسعار وكيفية ضبط تعديلات عروض الأسعار، يُرجى الاطّلاع على دليلَي نظرة عامة على عروض الأسعار وإدارة تعديلات عروض الأسعار.
معدِّلات عروض أسعار الحملات
يمكنك تحديد تعديلات عروض الأسعار على مستوى الحملة لنوع المعيار التالي باستخدام CampaignBidModifierService:
InteractionTypeInfo- حدِّد معايير
InteractionTypeInfoباستخدام أحد التعداداتInteractionTypeالمحدّدة مسبقًا. CALLهي قيمة التعداد الوحيدة المتوافقة مع تعديلات عروض الأسعار للحملات. يؤدي تحديد أي قيمة أخرى إلى عرض الخطأCriterionError.
معدِّلات عروض أسعار المجموعات الإعلانية
يمكنك تحديد معدّلات عروض الأسعار على مستوى المجموعة الإعلانية لأنواع المعايير التالية باستخدام AdGroupBidModifierService:
DeviceInfo- حدِّد معايير
DeviceInfoباستخدام أحد تعداداتDeviceالمحدّدة مسبقًا. - معايير سفر مختلفة
- في الإصدار 26 والإصدارات الأحدث، يمكنك ضبط المُعدِّلات لمعايير برنامج الرحلة باستخدام
معايير غير مرتبطة بالمجال:
UserSetDatesInfoوAdvanceBookingWindowInfoوLengthOfBookingInfoوStartDayOfWeekInfoوStartDateRangeInfo. في الإصدار 25 والإصدارات الأقدم، يمكنك ضبط المعدِّلات الخاصة بالفنادق لكل منHotelDateSelectionTypeInfoوHotelAdvanceBookingWindowInfoوHotelLengthOfStayInfoوHotelCheckInDayInfoوHotelCheckInDateRangeInfo. اطّلِع على دليل معدِّلات عروض الأسعار في "إعلانات الفنادق" لمزيد من التفاصيل.
معدِّلات عروض الأسعار على مستوى المعايير
بالإضافة إلى خدمات تعديل عروض الأسعار المخصّصة، تتيح بعض المعايير المحدّدة في موارد CampaignCriterion أو AdGroupCriterion ضبط حقل bid_modifier مباشرةً (CampaignCriterion.bid_modifier أو AdGroupCriterion.bid_modifier، مثل الموقع الجغرافي أو جدول عرض الإعلانات أو المعايير الديمغرافية).
مثال على الرمز
يوضّح مثال الرمز البرمجي التالي كيفية إضافة مُعدِّل عروض أسعار للأجهزة الجوّالة على مستوى المجموعة الإعلانية:
جافا
private void runExample( GoogleAdsClient googleAdsClient, long customerId, long adGroupId, double bidModifier) { // Creates an ad group bid modifier for mobile devices with the specified ad group ID and // bid modifier value. AdGroupBidModifier adGroupBidModifier = AdGroupBidModifier.newBuilder() .setAdGroup(ResourceNames.adGroup(customerId, adGroupId)) .setBidModifier(bidModifier) .setDevice(DeviceInfo.newBuilder().setType(Device.MOBILE)) .build(); // Creates an ad group bid modifier operation for creating an ad group bid modifier. AdGroupBidModifierOperation adGroupBidModifierOperation = AdGroupBidModifierOperation.newBuilder().setCreate(adGroupBidModifier).build(); // Issues a mutate request to add the ad group bid modifier. try (AdGroupBidModifierServiceClient adGroupBidModifierServiceClient = googleAdsClient.getLatestVersion().createAdGroupBidModifierServiceClient()) { MutateAdGroupBidModifiersResponse response = adGroupBidModifierServiceClient.mutateAdGroupBidModifiers( Long.toString(customerId), ImmutableList.of(adGroupBidModifierOperation)); System.out.printf("Added %d ad group bid modifiers:%n", response.getResultsCount()); for (MutateAdGroupBidModifierResult mutateAdGroupBidModifierResult : response.getResultsList()) { System.out.printf("\t%s%n", mutateAdGroupBidModifierResult.getResourceName()); } } }
#C
public void Run(GoogleAdsClient client, long customerId, long adGroupId, double bidModifierValue) { // Get the AdGroupBidModifierService. AdGroupBidModifierServiceClient adGroupBidModifierService = client.GetService(Services.V26.AdGroupBidModifierService); // Creates an ad group bid modifier for mobile devices with the specified ad group // ID and bid modifier value. AdGroupBidModifier adGroupBidModifier = new AdGroupBidModifier() { AdGroup = ResourceNames.AdGroup(customerId, adGroupId), BidModifier = bidModifierValue, Device = new DeviceInfo() { Type = Device.Mobile } }; // Creates an ad group bid modifier operation for creating an ad group bid modifier. AdGroupBidModifierOperation adGroupBidModifierOperation = new AdGroupBidModifierOperation() { Create = adGroupBidModifier }; // Send the operation in a mutate request. try { MutateAdGroupBidModifiersResponse response = adGroupBidModifierService.MutateAdGroupBidModifiers(customerId.ToString(), new AdGroupBidModifierOperation[] { adGroupBidModifierOperation }); Console.WriteLine("Added {0} ad group bid modifiers:", response.Results.Count); foreach (MutateAdGroupBidModifierResult result in response.Results) { Console.WriteLine($"\t{result.ResourceName}"); } } catch (GoogleAdsException e) { Console.WriteLine("Failure:"); Console.WriteLine($"Message: {e.Message}"); Console.WriteLine($"Failure: {e.Failure}"); Console.WriteLine($"Request ID: {e.RequestId}"); throw; } }
PHP
public static function runExample( GoogleAdsClient $googleAdsClient, int $customerId, int $adGroupId, float $bidModifierValue ) { // Creates an ad group bid modifier for mobile devices with the specified ad group ID and // bid modifier value. $adGroupBidModifier = new AdGroupBidModifier( [ 'ad_group' => ResourceNames::forAdGroup($customerId, $adGroupId), 'bid_modifier' => $bidModifierValue, 'device' => new DeviceInfo(['type' => Device::MOBILE]) ] ); // Creates an ad group bid modifier operation for creating an ad group bid modifier. $adGroupBidModifierOperation = new AdGroupBidModifierOperation(); $adGroupBidModifierOperation->setCreate($adGroupBidModifier); // Issues a mutate request to add the ad group bid modifier. $adGroupBidModifierServiceClient = $googleAdsClient->getAdGroupBidModifierServiceClient(); $response = $adGroupBidModifierServiceClient->mutateAdGroupBidModifiers( MutateAdGroupBidModifiersRequest::build($customerId, [$adGroupBidModifierOperation]) ); printf("Added %d ad group bid modifier:%s", $response->getResults()->count(), PHP_EOL); foreach ($response->getResults() as $addedAdGroupBidModifier) { /** * @var AdGroupBidModifier $addedAdGroupBidModifier */ print $addedAdGroupBidModifier->getResourceName() . PHP_EOL; } }
Python
def main( client: GoogleAdsClient, customer_id: str, ad_group_id: str, bid_modifier_value: float, ) -> None: ad_group_service: AdGroupServiceClient = client.get_service( "AdGroupService" ) ad_group_bm_service: AdGroupBidModifierServiceClient = client.get_service( "AdGroupBidModifierService" ) # Create ad group bid modifier for mobile devices with the specified ad # group ID and bid modifier value. ad_group_bid_modifier_operation: AdGroupBidModifierOperation = ( client.get_type("AdGroupBidModifierOperation") ) ad_group_bid_modifier: AdGroupBidModifier = ( ad_group_bid_modifier_operation.create ) # Set the ad group. ad_group_bid_modifier.ad_group = ad_group_service.ad_group_path( customer_id, ad_group_id ) # Set the bid modifier. ad_group_bid_modifier.bid_modifier = bid_modifier_value # Sets the device. device_enum: DeviceEnum = client.enums.DeviceEnum ad_group_bid_modifier.device.type_ = device_enum.MOBILE # Add the ad group bid modifier. ad_group_bm_response: MutateAdGroupBidModifiersResponse = ( ad_group_bm_service.mutate_ad_group_bid_modifiers( customer_id=customer_id, operations=[ad_group_bid_modifier_operation], ) )
Ruby
def add_ad_group_bid_modifier(customer_id, ad_group_id, bid_modifier_value) # GoogleAdsClient will read a config file from # ENV['HOME']/google_ads_config.rb when called without parameters client = Google::Ads::GoogleAds::GoogleAdsClient.new # Creates an ad group bid modifier for mobile devices with the specified # ad group ID and bid modifier value. ad_group_bid_modifier = client.resource.ad_group_bid_modifier do |mod| # Sets the ad group. mod.ad_group = client.path.ad_group(customer_id, ad_group_id) # Sets the Bid Modifier. mod.bid_modifier = bid_modifier_value # Sets the Device. mod.device = client.resource.device_info do |device| device.type = :MOBILE end end # Create the operation. operation = client.operation.create_resource.ad_group_bid_modifier(ad_group_bid_modifier) # Add the ad group ad. response = client.service.ad_group_bid_modifier.mutate_ad_group_bid_modifiers( customer_id: customer_id, operations: [operation] ) puts "Added #{response.results.size} ad group bid modifiers:" response.results.each do |added_ad_group_bid_modifier| puts "\t#{added_ad_group_bid_modifier.resource_name}" end end
Perl
sub add_ad_group_bid_modifier { my ($api_client, $customer_id, $ad_group_id, $bid_modifier_value) = @_; # Create an ad group bid modifier for mobile devices with the specified ad group ID and # bid modifier value. my $ad_group_bid_modifier = Google::Ads::GoogleAds::V26::Resources::AdGroupBidModifier->new({ adGroup => Google::Ads::GoogleAds::V26::Utils::ResourceNames::ad_group( $customer_id, $ad_group_id ), bidModifier => $bid_modifier_value, device => Google::Ads::GoogleAds::V26::Common::DeviceInfo->new({ type => MOBILE })}); # Create an ad group bid modifier operation. my $ad_group_bid_modifier_operation = Google::Ads::GoogleAds::V26::Services::AdGroupBidModifierService::AdGroupBidModifierOperation ->new({ create => $ad_group_bid_modifier }); # Add the ad group bid modifier. my $ad_group_bid_modifiers_response = $api_client->AdGroupBidModifierService()->mutate({ customerId => $customer_id, operations => [$ad_group_bid_modifier_operation]}); printf "Created ad group bid modifier '%s'.\n", $ad_group_bid_modifiers_response->{results}[0]{resourceName}; return 1; }