Hệ số điều chỉnh giá thầu cho phép bạn điều chỉnh giá thầu cho 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 làm hệ số nhân dấu phẩy động trên trường bid_modifier. Ví dụ: giá trị 1.2 sẽ tăng giá thầu thêm 20%, trong khi giá trị 0.8 sẽ 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 có 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 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 dải giá trị hợp lệ.
Để biết thêm thông tin về cách hoạt động của tính năng đặt giá thầu và cách đặt hệ số điều chỉnh giá thầu, hãy xem hướng dẫn Tổng quan về tính năng đặ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 một trong các enumInteractionTypeđược xác định trước.CALLlà giá trị enum duy nhất được hỗ trợ cho hệ số điều chỉnh giá thầu của 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 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ố sửa đổi cho tiêu chí hành trình du lịch bằng cách sử dụng các 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ố sửa đổi dành riêng cho khách sạn choHotelDateSelectionTypeInfo,HotelAdvanceBookingWindowInfo,HotelLengthOfStayInfo,HotelCheckInDayInfovàHotelCheckInDateRangeInfo. Các tiêu chí này chỉ áp dụng cho quảng cáo khách sạn trong chiến dịch Khách sạn và chiến dịch Tìm kiếm cho du lịch. Hãy xem bài viết Điều chỉnh giá thầu bằng hệ số điều chỉnh giá thầu để 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í nhất định được đặt trên tài nguyên CampaignCriterion hoặc AdGroupCriterion 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ị trí, lịch quảng cáo hoặc thông tin nhân khẩu học).
Ví dụ về mã
Mã ví dụ sau đây minh hoạ cách thêm hệ số điều chỉnh giá thầu cho 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.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; }