Page Summary
-
Learn how to retrieve all bidding strategies or filter them by name.
-
Understand how to set various campaign bidding strategies, including standard and flexible options, with or without additional arguments.
-
Find out how to set default CPC bids at the ad group level and specific CPC bids for keywords.
Get bidding strategies
function getBiddingStrategies () { const bidStrategyIterator = AdsApp . biddingStrategies () . get (); return bidStrategyIterator ; }
Get bidding strategies by name
function getBiddingStrategyIteratorByName ( biddingStrategyName ) { const biddingStrategiesIterator = AdsApp . biddingStrategies () . withCondition ( ` bidding_strategy . name = '${biddingStrategyName}' ` ) . get (); return biddingStrategiesIterator ; }
Set campaign bidding strategy
function set VariousBiddingStrategies () { // This example snippet assumes the user has a campaign named "Online Sales" . const campaignName = 'Online Sales' ; const campaignIterator = AdsApp . campaigns () . withCondition ( `campaign.name = '${campaignName}'` ) . get (); if ( ! campaignIterator . hasNext ()) { throw new Error ( `No Campaign found with name "${campaignName}"` ); } if ( campaignIterator . totalNumEntities () > 1 ) { console . warn ( `Found ${campaignIterator.totalNumEntities()} Campaigns with name "${ campaignName}", using just one of them` ); } const campaign = campaignIterator . next (); // Set the campaign 's bidding strategy to Manual CPC. campaign.bidding().setStrategy(' MANUAL_CPC '); // By default, the Manual CPC strategy enables Enhanced CPC bidding. The user // can disable ECPC when setting the strategy by providing an extra argument. campaign.bidding().setStrategy(' MANUAL_CPC ', {enhancedCpcEnabled: false}); // Some standard bidding strategies, such as Target Return on Ad Spend, // require additional arguments when setting the strategy. Setting the // strategy to Target Return on Ad Spend without providing the required // additional arguments will fail. campaign.bidding().setStrategy(' TARGET_ROAS ', {targetRoas: 1.3}); // Extra arguments can also be specified through the BiddingStrategyArgsBuilder. const args = campaign.bidding.argsBuilder().withTargetRoas(1.3).withCpcBidCeiling(2.5); campaign.bidding().setStrategy(' TARGET_ROAS ', args); // If the user has defined a flexible bidding strategy for the campaign, then // this is also valid for `setStrategy`. For this example, assume the user // has a flexible bidding strategy named "My Shared Bidding Strategy". const strategyName = ' My Shared Bidding Strategy '; const strategy = AdsApp.biddingStrategies() .withCondition(`bidding_strategy.name = ' $ { strategyName } '`) .get() .next(); campaign.bidding().setStrategy(strategy); }
Set an ad group's default CPC bid
function setAdGroupDefaultCpcBid ( campaignName , adGroupName ){ const adGroup = AdsApp . adGroups () . withCondition ( ` campaign . name = '${campaignName}' ` ) . withCondition ( ` ad_group . name = '${adGroupName}' ` ) . get () . next (); // This bid will only be used for auction if a corresponding cpc // bidding strategy is set to the ad group . E . g . // // adGroup . bidding () . setStrategy ( 'MANUAL_CPC' ); adGroup . bidding () . setCpc ( 3.0 ); }
Set a keyword's CPC bid
function setKeywordCpcBid ( campaignName , adGroupName , keywordText , keywordMaxCpcBid ) { const keyword = AdsApp . keywords () . withCondition ( ` campaign . name = '${campaignName}' ` ) . withCondition ( ` ad_group . name = '${adGroupName}' ` ) . withCondition ( ` ad_group_criterion . keyword . text = '${keywordText}' ` ) . get () . next (); // This bid will only be used for auction if a corresponding cpc // bidding strategy is set to the parent ad group . E . g . // // adGroup . bidding () . setStrategy ( 'MANUAL_CPC' ); keyword . bidding () . setCpc ( keywordMaxCpcBid ); }

