Hệ số điều chỉnh giá thầu cho phép bạn điều chỉnh giá thầu theo một tiêu chí cụ thể mà không cần thay đổi tiêu chí nhắm mục tiêu của chiến dịch hoặc nhóm quảng cáo. Ví dụ: hệ số điều chỉnh giá thầu nhóm quảng cáo cho thiết bị di động không loại trừ lượt hiển thị cho các loại thiết bị khác, nhưng cho phép bạn tăng hoặc giảm giá thầu cho lượt hiển thị trên thiết bị di động.
Hệ số điều chỉnh được đặt dưới dạng hệ số nhân dấu phẩy động trên trường bid_modifier. Ví dụ: giá trị 1.2 làm tăng giá thầu thêm 20%, trong khi 0.8 làm giảm giá thầu đi 20%. Đối với các tiêu chí được hỗ trợ (chẳng hạn như loại trừ một loại thiết bị), giá trị 0.0 (tương đương với mức điều chỉnh giá thầu -100% trong giao diện người dùng Google Ads) sẽ chọn không sử dụng tiêu chí đó. Khi nhiều hệ số điều chỉnh giá thầu áp dụng cho một lượt hiển thị, các hệ số này sẽ được nhân với nhau để tính toán mức điều chỉnh giá thầu cuối cùng. Hãy tham khảo tài liệu tham khảo về
CampaignBidModifier và
AdGroupBidModifier để biết các phạm vi
giá trị hợp lệ.
Để biết thêm thông tin về cách hoạt động của chiến lược đặt giá thầu và cách đặt hệ số điều chỉnh giá thầu, hãy xem bài viết Tổng quan về chiến lược đặt giá thầu và Quản lý hệ số điều chỉnh giá thầu.
Hệ số điều chỉnh giá thầu cấp chiến dịch
Bạn có thể chỉ định hệ số điều chỉnh giá thầu ở cấp chiến dịch cho loại tiêu chí sau bằng cách sử dụng CampaignBidModifierService:
InteractionTypeInfo- Xác định tiêu chí
InteractionTypeInfobằng cách sử dụng một trong các enum được xác định trướcInteractionType.CALLlà giá trị enum duy nhất được hỗ trợ cho hệ số điều chỉnh giá thầu chiến dịch; việc chỉ định bất kỳ giá trị nào khác sẽ trả vềCriterionError.
Hệ số điều chỉnh giá thầu nhóm quảng cáo
Bạn có thể chỉ định hệ số điều chỉnh giá thầu ở cấp nhóm quảng cáo cho các loại tiêu chí sau bằng cách sử dụng AdGroupBidModifierService:
DeviceInfo- Xác định tiêu chí
DeviceInfobằng cách sử dụng một trong các enumDeviceđược xác định trước. - Nhiều tiêu chí về chuyến đi
- Trong phiên bản 26 trở lên, hãy đặt hệ số điều chỉnh cho tiêu chí về hành trình du lịch bằng cách sử dụng
tiêu chí không phụ thuộc vào ngành dọc:
UserSetDatesInfo,AdvanceBookingWindowInfo,LengthOfBookingInfo,StartDayOfWeekInfovàStartDateRangeInfo. Trong phiên bản 25 trở xuống, hãy đặt hệ số điều chỉnh dành riêng cho khách sạn choHotelDateSelectionTypeInfo,HotelAdvanceBookingWindowInfo,HotelLengthOfStayInfo,HotelCheckInDayInfovàHotelCheckInDateRangeInfo. Hãy xem hướng dẫn về hệ số điều chỉnh giá thầu cho Quảng cáo khách sạn để biết thông tin chi tiết.
Hệ số điều chỉnh giá thầu ở cấp tiêu chí
Ngoài các dịch vụ hệ số điều chỉnh giá thầu chuyên dụng, một số tiêu chí được đặt trên
CampaignCriterion hoặc
AdGroupCriterion tài nguyên hỗ trợ việc đặt trực tiếp trường
bid_modifier (
CampaignCriterion.bid_modifier hoặc
AdGroupCriterion.bid_modifier, chẳng hạn như đối với tiêu chí về
vị trí, lịch quảng cáo hoặc nhân khẩu học).
Ví dụ về mã
Ví dụ về mã sau đây minh hoạ cách thêm hệ số điều chỉnh giá thầu thiết bị di động ở cấp nhóm quảng cáo:
Java
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.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; } }
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::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; }