Modyfikatory stawek umożliwiają dostosowywanie stawek dla określonego kryterium bez zmiany kierowania kampanii lub grupy reklam. Na przykład modyfikator stawek grupy reklam dla urządzeń mobilnych nie wyklucza wyświetleń na innych typach urządzeń, ale pozwala podnieść lub obniżyć stawki za wyświetlenia na urządzeniach mobilnych.
Modyfikatory są ustawiane jako mnożniki zmiennoprzecinkowe w polu bid_modifier. Na przykład wartość 1.2 zwiększa stawkę o 20%, a 0.8 zmniejsza ją o 20%. W przypadku obsługiwanych kryteriów (np. wykluczenia typu urządzenia) wartość 0.0 (odpowiednik dostosowania stawek o -100% w interfejsie Google Ads) powoduje rezygnację z kryterium. Jeśli do wyświetlenia ma zastosowanie kilka modyfikatorów stawek, są one mnożone, aby obliczyć ostateczne dostosowanie stawki. Informacje o prawidłowych zakresach wartości znajdziesz w dokumentacji CampaignBidModifier i AdGroupBidModifier.
Więcej informacji o tym, jak działa określanie stawek i jak ustawiać modyfikatory stawek, znajdziesz w przewodnikach Omówienie określania stawek i Zarządzanie modyfikatorami stawek.
modyfikatory stawek kampanii,
Modyfikatory stawek możesz określać na poziomie kampanii w przypadku tych typów kryteriów za pomocą metody CampaignBidModifierService:
InteractionTypeInfo- Zdefiniuj kryteria
InteractionTypeInfo, używając jednego ze wstępnie zdefiniowanych typów wyliczeniowychInteractionType.CALLto jedyna obsługiwana wartość typu wyliczeniowego w przypadku modyfikatorów stawek w kampanii. Podanie innej wartości spowoduje zwrócenie błęduCriterionError.
Modyfikatory stawek grup reklam
Modyfikatory stawek możesz określać na poziomie grupy reklam w przypadku tych typów kryteriów za pomocą AdGroupBidModifierService:
DeviceInfo- Zdefiniuj kryteria
DeviceInfo, używając jednego ze wstępnie zdefiniowanych typów wyliczeniowychDevice. - Różne kryteria podróży
- W wersji 26 i nowszych modyfikatory kryteriów planu podróży ustawia się za pomocą kryteriów niezależnych od branży:
UserSetDatesInfo,AdvanceBookingWindowInfo,LengthOfBookingInfo,StartDayOfWeekInfoiStartDateRangeInfo. W wersji 25 i starszych ustaw modyfikatory stawek dla hoteli w przypadku:HotelDateSelectionTypeInfo,HotelAdvanceBookingWindowInfo,HotelLengthOfStayInfo,HotelCheckInDayInfoiHotelCheckInDateRangeInfo. Te kryteria dotyczą tylko reklam hoteli w kampaniach reklam hoteli i kampaniach w sieci wyszukiwania dotyczących podróży. Więcej informacji znajdziesz w artykule Dostosowywanie stawek za pomocą modyfikatorów stawek.
Modyfikatory stawek na poziomie kryteriów
Oprócz specjalnych usług modyfikatora stawek niektóre kryteria ustawione w zasobach CampaignCriterion lub AdGroupCriterion obsługują bezpośrednie ustawianie pola bid_modifier (CampaignCriterion.bid_modifier lub AdGroupCriterion.bid_modifier, np. w przypadku lokalizacji, harmonogramu reklam lub kryteriów demograficznych).
Przykładowy kod
Poniższy przykładowy kod pokazuje, jak dodać modyfikator stawek na urządzenia mobilne na poziomie grupy reklam:
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; }