Les modificateurs d'enchères vous permettent d'ajuster les enchères pour un critère spécifique sans modifier le ciblage de votre campagne ni de votre groupe d'annonces. Par exemple, un modificateur d'enchères de groupe d'annonces pour les appareils mobiles n'exclut pas les impressions pour les autres types d'appareils, mais il vous permet d'augmenter ou de diminuer vos enchères pour les impressions sur mobile.
Les modificateurs sont définis comme des multiplicateurs à virgule flottante dans le champ bid_modifier. Par exemple, une valeur de 1.2 augmente une enchère de 20%, tandis que 0.8 la diminue de 20%. Pour les critères compatibles (comme l'exclusion d'un type d'appareil), une valeur de 0.0 (équivalente à un ajustement des enchères de -100% dans l'interface utilisateur Google Ads) désactive le critère. Lorsque plusieurs modificateurs d'enchères s'appliquent à une impression, ils sont multipliés pour calculer l'ajustement final des enchères. Pour connaître les plages de
valeurs valides, consultez la documentation de référence
CampaignBidModifier et
AdGroupBidModifier.
Pour en savoir plus sur le fonctionnement des enchères et sur la définition des modificateurs d'enchères, consultez les guides Présentation du système d'enchères et Gérer les modificateurs d'enchères.
Modificateurs d'enchères de campagne
Vous pouvez spécifier des modificateurs d'enchères au niveau de la campagne pour le type de critère suivant à l'aide de CampaignBidModifierService :
InteractionTypeInfo- Définissez les critères
InteractionTypeInfoà l'aide de l'une des énumérations prédéfiniesInteractionType.CALLest la seule valeur d'énumération acceptée pour les modificateurs d'enchères de campagne. Si vous spécifiez une autre valeur, une erreurCriterionErrorest renvoyée.
Modificateurs d'enchères de groupe d'annonces
Vous pouvez spécifier des modificateurs d'enchères au niveau du groupe d'annonces pour les types de critères suivants à l'aide de AdGroupBidModifierService :
DeviceInfo- Définissez les critères
DeviceInfoà l'aide de l'une des énumérations prédéfiniesDevice. - Divers critères de voyage
- Dans la version 26 et ultérieure, définissez des modificateurs pour les critères d'itinéraire de voyage à l'aide de
critères indépendants du secteur :
UserSetDatesInfo,AdvanceBookingWindowInfo,LengthOfBookingInfo,StartDayOfWeekInfoetStartDateRangeInfo. Dans la version 25 et antérieure, définissez des modificateurs spécifiques aux hôtels pourHotelDateSelectionTypeInfo,HotelAdvanceBookingWindowInfo,HotelLengthOfStayInfo,HotelCheckInDayInfoetHotelCheckInDateRangeInfo. Pour en savoir plus, consultez le guide sur les modificateurs d'enchères pour les annonces d'hôtels.
Modificateurs d'enchères au niveau des critères
En plus des services de modificateurs d'enchères dédiés, certains critères définis sur les ressources
CampaignCriterion ou
AdGroupCriterion permettent de définir directement un champ
bid_modifier (
CampaignCriterion.bid_modifier ou
AdGroupCriterion.bid_modifier, par exemple pour les critères
de zone géographique, de calendrier de diffusion des annonces ou démographiques).
Exemple de code
L'exemple de code suivant montre comment ajouter un modificateur d'enchères pour les appareils mobiles au niveau du groupe d'annonces :
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; }