Manage Bid ModifiersStay organized with collectionsSave and categorize content based on your preferences.
AI-generated Key Takeaways
"bid modifier" and "bid adjustment" are interchangeable terms in Google Ads UIs and APIs.
Bid adjustments in Google Ads allow you to control bids at the campaign and ad group levels for various criteria.
In the Google Ads API, campaign-level adjustments are handled byCampaignBidModifierServiceand ad group-level byAdGroupBidModifierService.
Bid adjustments can be added, updated, or removed using specific mutate operations for campaign and ad group bid modifiers.
You can retrieve existing bid adjustments by querying forcampaign_bid_modifierorad_group_bid_modifiervalues.
Campaign and ad group-levelbid adjustmentsgive you more control over your bids in
Google Ads campaigns, providing the option to increase or decrease bids for
different types of criteria.
defmain(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.DeviceEnumad_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],))
defadd_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 parametersclient=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_modifierdo|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_infodo|device|device.type=:MOBILEendend# 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.eachdo|added_ad_group_bid_modifier|puts"\t#{added_ad_group_bid_modifier.resource_name}"endend
subadd_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::V22::Resources::AdGroupBidModifier->new({adGroup=>Google::Ads::GoogleAds::V22::Utils::ResourceNames::ad_group($customer_id,$ad_group_id),bidModifier=>$bid_modifier_value,device=>Google::Ads::GoogleAds::V22::Common::DeviceInfo->new({type=>MOBILE})});# Create an ad group bid modifier operation.my$ad_group_bid_modifier_operation=Google::Ads::GoogleAds::V22::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};return1;}
You can retrieve existing campaign-level bid adjustments by looking for all thecampaign_bid_modifiervalues. At the ad
group level, search forad_group_bid_modifier.
Here is a GAQL query that retrieves all bid modifiers of the account that are
related to a given ad group:
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-11-05 UTC."],[],[]]