اصلاحکنندههای پیشنهاد قیمت به شما این امکان را میدهند که بدون تغییر هدفگذاری کمپین یا گروه تبلیغاتی خود، پیشنهادات را برای یک معیار خاص تنظیم کنید. به عنوان مثال، یک اصلاحکننده پیشنهاد قیمت گروه تبلیغاتی برای دستگاههای تلفن همراه، نمایشها را برای انواع دیگر دستگاهها حذف نمیکند، اما به شما امکان میدهد پیشنهادات خود را برای نمایشهای تلفن همراه افزایش یا کاهش دهید.
اصلاحکنندهها به صورت ضرایب اعشاری در فیلد bid_modifier تنظیم میشوند. برای مثال، مقدار 1.2 ، قیمت پیشنهادی را ۲۰٪ افزایش میدهد، در حالی که 0.8 آن را ۲۰٪ کاهش میدهد. برای معیارهای پشتیبانیشده (مانند حذف نوع دستگاه)، مقدار 0.0 (معادل تعدیل قیمت -۱۰۰٪ در رابط کاربری Google Ads) از این معیار خارج میشود. هنگامی که چندین اصلاحکننده قیمت پیشنهادی برای یک نمایش اعمال میشوند، برای محاسبه تعدیل قیمت نهایی در هم ضرب میشوند. برای محدودههای مقادیر معتبر، به مستندات مرجع CampaignBidModifier و AdGroupBidModifier مراجعه کنید.
برای اطلاعات بیشتر در مورد نحوهی عملکرد پیشنهاد قیمت و نحوهی تنظیم اصلاحکنندههای پیشنهاد قیمت، به راهنماهای « مروری بر پیشنهاد قیمت» و «مدیریت اصلاحکنندههای پیشنهاد قیمت» مراجعه کنید.
اصلاحکنندههای پیشنهاد قیمت کمپین
شما میتوانید با استفاده از CampaignBidModifierService اصلاحکنندههای قیمت را در سطح کمپین برای نوع معیار زیر مشخص کنید:
-
InteractionTypeInfo - معیارهای
InteractionTypeInfoرا با استفاده از یکی از enumهای از پیش تعریف شدهInteractionTypeتعریف کنید.CALLتنها مقدار enum پشتیبانی شده برای اصلاح کنندههای پیشنهاد کمپین است؛ تعیین هر مقدار دیگریCriterionErrorرا برمیگرداند.
اصلاحکنندههای پیشنهاد قیمت گروههای تبلیغاتی
شما میتوانید با استفاده از سرویس AdGroupBidModifierService اصلاحکنندههای قیمت را در سطح گروه تبلیغاتی برای انواع معیارهای زیر مشخص کنید:
-
DeviceInfo - معیارهای
DeviceInfoرا با استفاده از یکی از Enumهای از پیش تعریف شدهDeviceتعریف کنید. - معیارهای مختلف تبلیغات هتل
- برای
HotelDateSelectionTypeInfo،HotelAdvanceBookingWindowInfo،HotelLengthOfStayInfo،HotelCheckInDayInfoوHotelCheckInDateRangeInfoاصلاحکنندههایی تنظیم کنید. برای جزئیات بیشتر به راهنمای اصلاحکننده پیشنهاد قیمت Hotel Ads مراجعه کنید.
اصلاحکنندههای پیشنهاد سطح معیار
علاوه بر سرویسهای اصلاحکنندهی پیشنهاد قیمت اختصاصی، معیارهای خاصی که در منابع 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()); } } }
سی شارپ
public void Run(GoogleAdsClient client, long customerId, long adGroupId, double bidModifierValue) { // Get the AdGroupBidModifierService. AdGroupBidModifierServiceClient adGroupBidModifierService = client.GetService(Services.V25.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; } }
پی اچ پی
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; } }
پایتون
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], ) )
روبی
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::V25::Resources::AdGroupBidModifier->new({ adGroup => Google::Ads::GoogleAds::V25::Utils::ResourceNames::ad_group( $customer_id, $ad_group_id ), bidModifier => $bid_modifier_value, device => Google::Ads::GoogleAds::V25::Common::DeviceInfo->new({ type => MOBILE })}); # Create an ad group bid modifier operation. my $ad_group_bid_modifier_operation = Google::Ads::GoogleAds::V25::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; }