اصلاحکنندههای قیمت پیشنهادی به شما امکان میدهند قیمتهای پیشنهادی را برای معیاری خاص تعدیل کنید بدون اینکه هدفیابی پویش یا گروه آگهیتان را تغییر دهید. برای مثال، اصلاحکننده قیمت پیشنهادی گروه آگهی برای دستگاههای همراه، ظهورها را برای انواع دیگر دستگاهها مستثنی نمیکند، اما به شما امکان میدهد قیمتهای پیشنهادیتان را برای ظهورهای تلفن همراه افزایش یا کاهش دهید.
اصلاحکنندهها بهعنوان ضربکنندههای ممیز شناور در فیلد bid_modifier تنظیم میشوند. برای
مثال، مقدار 1.2 قیمت پیشنهادی را ۲۰٪ افزایش میدهد، درحالیکه 0.8 آن را
۲۰٪ کاهش میدهد. برای معیارهای پشتیبانیشده (مثل مستثنی کردن نوع دستگاه)، مقدار 0.0 (معادل تعدیل قیمت پیشنهادی -٪۱۰۰ در میانای کاربری Google Ads) از معیار انصراف میدهد. وقتی چند تعدیلکننده قیمت پیشنهادی برای یک ظهور اعمال میشود،
آنها در هم ضرب میشوند تا تعدیل قیمت پیشنهادی نهایی محاسبه شود. برای اطلاع از محدودههای مقدار معتبر، به اسناد مرجع
CampaignBidModifier و
AdGroupBidModifier مراجعه کنید.
برای اطلاعات بیشتر درباره نحوه عملکرد پیشنهاد قیمت و نحوه تنظیم تعدیلکنندههای پیشنهاد قیمت، به راهنماهای نمای کلی پیشنهاد قیمت و مدیریت تعدیلکنندههای پیشنهاد قیمت مراجعه کنید.
تعدیلکنندههای قیمت پیشنهادی پویش
میتوانید اصلاحکنندههای قیمت پیشنهادی را در سطح پویش برای نوع معیار زیر بااستفاده از CampaignBidModifierService مشخص کنید:
InteractionTypeInfo- معیارها
InteractionTypeInfoرا بااستفاده از یکی از شمارشهای ازپیش تعریفشدهInteractionTypeتعریف کنید.CALLتنها مقدار شمارشی پشتیبانیشده برای تعدیلکنندههای قیمت پیشنهادی پویش است؛ مشخص کردن هر مقدار دیگریCriterionErrorرا برمیگرداند.
اصلاحکنندههای قیمت پیشنهادی گروه آگهی
میتوانید اصلاحکنندههای قیمت پیشنهادی را در سطح گروه آگهی برای انواع معیارهای زیر بااستفاده از AdGroupBidModifierService مشخص کنید:
DeviceInfo- معیارهای
DeviceInfoرا بااستفاده از یکی ازDeviceشمارشهای ازپیش تعریفشده تعریف کنید. - معیارهای مختلف سفر
- در نسخه ۲۶ و جدیدتر، اصلاحکنندههای معیارهای برنامه سفر را بااستفاده از
معیارهای مستقل از عمودی تنظیم کنید:
UserSetDatesInfo،AdvanceBookingWindowInfo،LengthOfBookingInfo،StartDayOfWeekInfo، وStartDateRangeInfo. در نسخه ۲۵ و قدیمیتر، اصلاحکنندههای مختص هتل را برای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
پرل
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; }