Stay organized with collectionsSave and categorize content based on your preferences.
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::V21::Resources::AdGroupBidModifier->new({adGroup=>Google::Ads::GoogleAds::V21::Utils::ResourceNames::ad_group($customer_id,$ad_group_id),bidModifier=>$bid_modifier_value,device=>Google::Ads::GoogleAds::V21::Common::DeviceInfo->new({type=>MOBILE})});# Create an ad group bid modifier operation.my$ad_group_bid_modifier_operation=Google::Ads::GoogleAds::V21::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-09-03 UTC."],[[["\u003cp\u003e"bid modifier" and "bid adjustment" are interchangeable terms in Google Ads.\u003c/p\u003e\n"],["\u003cp\u003eBid adjustments can be managed at the campaign and ad group levels to control bids for specific criteria.\u003c/p\u003e\n"],["\u003cp\u003eThe Google Ads API provides services and operations to add, update, and remove bid adjustments.\u003c/p\u003e\n"],["\u003cp\u003eGAQL queries can be used to retrieve existing bid adjustments at different levels.\u003c/p\u003e\n"]]],[],null,[]]