Search Audiences

  • The provided content offers functions to manage search audiences within Google Ads campaigns and ad groups using AdsApp scripts.

  • You can add a search audience to a specific ad group with an optional bid modifier.

  • Functions are included to retrieve search audiences by name or filter them based on performance statistics.

  • It's possible to exclude a search audience from an entire campaign.

  • You can also get a list of all excluded search audiences for a campaign.

  • The content shows how to update the bid modifier for an existing audience within an ad group.

Add search audience to an ad group

 function 
  
 addSearchAudienceToAdGroup 
 ( 
 adGroupName 
 , 
  
 audienceId 
 , 
  
 bidModifier 
  
 = 
  
 1.5 
 ) 
  
 { 
  
 // 
  
 Retrieve 
  
 the 
  
 ad 
  
 group 
 . 
  
 const 
  
 adGroups 
  
 = 
  
 AdsApp 
 . 
 adGroups 
 () 
  
 . 
 withCondition 
 ( 
 ` 
 ad_group 
 . 
 name 
  
 = 
  
 "${adGroupName}" 
 ` 
 ) 
  
 . 
 get 
 (); 
  
 if 
  
 ( 
 ! 
 adGroups 
 . 
 hasNext 
 ()) 
  
 { 
  
 throw 
  
 new 
  
 Error 
 ( 
 ` 
 Cannot 
  
 find 
  
 ad 
  
 group 
  
 with 
  
 name 
  
 "${adGroupName}" 
 ` 
 ); 
  
 } 
  
 const 
  
 adGroup 
  
 = 
  
 adGroups 
 . 
 next 
 (); 
  
 if 
  
 ( 
 adGroups 
 . 
 totalNumEntities 
 () 
 > 
 1 
 ) 
  
 { 
  
 console 
 . 
 warn 
 ( 
 ` 
 More 
  
 than 
  
 one 
  
 ad 
  
 group 
  
 with 
  
 name 
  
 "${adGroupName}" 
  
 was 
  
 ` 
  
 + 
  
 ` 
 found 
 . 
  
 Using 
  
 the 
  
 ad 
  
 group 
  
 in 
  
 campaign 
  
 ` 
  
 + 
  
 ` 
 "${adGroup.getCampaign().getName()}" 
 ` 
 ); 
  
 } 
  
 // 
  
 Create 
  
 the 
  
 search 
  
 audience 
 . 
  
 const 
  
 operation 
  
 = 
  
 adGroup 
 . 
 targeting 
 () 
  
 . 
 newUserListBuilder 
 () 
  
 . 
 withAudienceId 
 ( 
 audienceId 
 ) 
  
 . 
 withBidModifier 
 ( 
 bidModifier 
 ) 
  
 . 
 build 
 (); 
  
 if 
  
 ( 
 ! 
 operation 
 . 
 isSuccessful 
 ()) 
  
 { 
  
 console 
 . 
 warn 
 ( 
 ` 
 Failed 
  
 to 
  
 attach 
  
 search 
  
 audience 
 . 
  
 ` 
  
 + 
  
 ` 
 Errors 
 : 
  
 $ 
 { 
 operation 
 . 
 getErrors 
 () 
 . 
 join 
 ( 
 ', ' 
 )} 
 '`); 
  
 } 
  
 const 
  
 searchAudience 
  
 = 
  
 operation 
 . 
 getResult 
 (); 
  
 // 
  
 Display 
  
 the 
  
 results 
 . 
  
 console 
 . 
 log 
 ( 
 ` 
 Search 
  
 audience 
  
 with 
  
 name 
  
 $ 
 { 
 searchAudience 
 . 
 getName 
 ()} 
  
 and 
  
 ` 
  
 + 
  
 ` 
 ID 
  
 = 
  
 $ 
 { 
 searchAudience 
 . 
 getId 
 () 
 . 
 toFixed 
 ( 
 0 
 )} 
  
 was 
  
 added 
  
 to 
  
 ` 
  
 + 
  
 ` 
 ad 
  
 group 
  
 "${adGroupName}" 
 . 
 ` 
 ); 
 } 

Get ad group search audience by name

 function 
  
 getAdGroupSearchAudienceByName 
 ( 
 campaignName 
 , 
  
 adGroupName 
 , 
  
 audienceName 
 ) 
  
 { 
  
 // 
  
 Retrieve 
  
 the 
  
 search 
  
 audience 
 . 
  
 const 
  
 searchAudiences 
  
 = 
  
 AdsApp 
 . 
 adGroupTargeting 
 () 
 . 
 audiences 
 () 
  
 . 
 withCondition 
 ( 
 ` 
 campaign 
 . 
 name 
  
 = 
  
 "${campaignName}" 
 ` 
 ) 
  
 . 
 withCondition 
 ( 
 ` 
 ad_group 
 . 
 name 
  
 = 
  
 "${adGroupName}" 
 ` 
 ) 
  
 . 
 get 
 (); 
  
 for 
  
 ( 
 const 
  
 audience 
  
 of 
  
 searchAudiences 
 ) 
  
 { 
  
 if 
  
 ( 
 audience 
 . 
 getName 
 () 
  
 == 
  
 audienceName 
 ) 
  
 { 
  
 return 
  
 audience 
 ; 
  
 } 
  
 } 
  
 // 
  
 Display 
  
 the 
  
 results 
 . 
  
 console 
 . 
 warn 
 ( 
 ` 
 Cannot 
  
 find 
  
 an 
  
 audience 
  
 "${audienceName}" 
  
 in 
  
 the 
  
 ad 
  
 group 
  
 "${adGroupName}" 
  
 belonging 
  
 to 
  
 the 
  
 campaign 
  
 "${campaignName}" 
 . 
 ` 
 ); 
 } 

Filter ad group search audience by stats

 function 
  
 filterAdGroupAudienceByStats 
 () 
  
 { 
  
 // 
  
 Retrieve 
  
 top 
  
 performing 
  
 search 
  
 audiences 
 . 
  
 const 
  
 topPerformingAudiences 
  
 = 
  
 AdsApp 
 . 
 adGrouptargeting 
 () 
 . 
 audiences 
 () 
  
 . 
 withCondition 
 ( 
 ` 
 campaign 
 . 
 name 
  
 = 
  
 "Campaign #1" 
 ` 
 ) 
  
 . 
 withCondition 
 ( 
 ` 
 ad_group 
 . 
 name 
  
 = 
  
 "Ad Group #1" 
 ` 
 ) 
  
 . 
 withCondition 
 ( 
 "metrics.clicks > 34" 
 ) 
  
 . 
 forDateRange 
 ( 
 "LAST_MONTH" 
 ) 
  
 . 
 get 
 (); 
  
 for 
  
 ( 
 const 
  
 audience 
  
 of 
  
 topPerformingAudiences 
 ) 
  
 { 
  
 const 
  
 stats 
  
 = 
  
 audience 
 . 
 getStatsFor 
 ( 
 "LAST_MONTH" 
 ); 
  
 console 
 . 
 log 
 ( 
 ` 
 Search 
  
 audience 
  
 with 
  
 ID 
  
 = 
  
 $ 
 { 
 audience 
 . 
 getId 
 () 
 . 
 toFixed 
 ( 
 0 
 )}, 
  
 ` 
  
 + 
  
 ` 
 name 
  
 = 
  
 "${audience.getName()}" 
  
 and 
  
 audience 
  
 list 
  
 ID 
  
 = 
  
 ` 
  
 + 
  
 ` 
 $ 
 { 
 audience 
 . 
 getAudienceId 
 ()} 
  
 had 
  
 $ 
 { 
 stats 
 . 
 getClicks 
 ()} 
  
 clicks 
  
 last 
  
 ` 
  
 + 
  
 ` 
 month 
 . 
 ` 
 ); 
  
 } 
 } 

Exclude search audience from a campaign

 function 
  
 addExcludedAudienceToCampaign 
 ( 
 campaignName 
 , 
  
 audienceId 
 ) 
  
 { 
  
 // 
  
 Retrieve 
  
 the 
  
 campaign 
 . 
  
 const 
  
 campaigns 
  
 = 
  
 AdsApp 
 . 
 campaigns 
 () 
  
 . 
 withCondition 
 ( 
 ` 
 campaign 
 . 
 name 
  
 = 
  
 "${campaignName}" 
 ` 
 ) 
  
 . 
 get 
 (); 
  
 if 
  
 ( 
 ! 
 campaigns 
 . 
 hasNext 
 ()) 
  
 { 
  
 throw 
  
 new 
  
 Error 
 ( 
 ` 
 Cannot 
  
 find 
  
 campaign 
  
 with 
  
 name 
  
 "${campaignName}" 
 ` 
 ); 
  
 } 
  
 const 
  
 campaign 
  
 = 
  
 campaigns 
 . 
 next 
 (); 
  
 // 
  
 Create 
  
 the 
  
 excluded 
  
 audience 
 . 
  
 const 
  
 operation 
  
 = 
  
 campaign 
 . 
 targeting 
 () 
  
 . 
 newUserListBuilder 
 () 
  
 . 
 withAudienceId 
 ( 
 ` 
 $ 
 { 
 audienceId 
 } 
 `` 
 ) 
  
 . 
 exclude 
 (); 
  
 if 
  
 ( 
 ! 
 operation 
 . 
 isSuccessful 
 ()) 
  
 { 
  
 console 
 . 
 warn 
 ( 
 ` 
 Failed 
  
 to 
  
 exclude 
  
 audience 
  
 $ 
 { 
 audienceId 
 } 
 . 
  
 Errors 
 : 
  
 $ 
 { 
 operation 
 . 
 getErrors 
 () 
 . 
 join 
 ( 
 ', ' 
 )} 
 ` 
 ); 
  
 } 
  
 const 
  
 audience 
  
 = 
  
 operation 
 . 
 getResult 
 (); 
  
 console 
 . 
 log 
 ( 
 ` 
 Excluded 
  
 audience 
  
 "${audience.getName()}" 
  
 from 
  
 campaign 
  
 ` 
  
 + 
  
 `` 
 "${campaignName}" 
 . 
 ` 
 ); 
 } 

Get excluded search audiences for a campaign

 function 
  
 getExcludedAudiencesForCampaign 
 ( 
 campaignName 
 ) 
  
 { 
  
 // 
  
 Retrieve 
  
 the 
  
 campaign 
 . 
  
 const 
  
 campaign 
  
 = 
  
 AdsApp 
 . 
 campaigns 
 () 
  
 . 
 withCondition 
 ( 
 ` 
 campaign 
 . 
 name 
  
 = 
  
 "${campaignName}" 
 ` 
 ) 
  
 . 
 get 
 (); 
  
 if 
  
 ( 
 ! 
 campaigns 
 . 
 hasNext 
 ()) 
  
 { 
  
 throw 
  
 new 
  
 Error 
 ( 
 ` 
 Cannot 
  
 find 
  
 campaign 
  
 with 
  
 name 
  
 "${campaignName}" 
 ` 
 ); 
  
 } 
  
 const 
  
 campaign 
  
 = 
  
 campaigns 
 . 
 next 
 (); 
  
 return 
  
 campaign 
 . 
 targeting 
 () 
 . 
 excludedAudiences 
 () 
 . 
 get 
 (); 
 } 

Set AdGroup targeting setting

 function 
  
 setAdGroupTargetSetting 
 ( 
 campaignName 
 , 
  
 adGroupName 
 , 
  
 group 
  
 = 
  
 "USER_INTEREST_AND_ALL" 
 , 
  
 setting 
  
 = 
  
 "TARGET_ALL_TRUE" 
 ) 
  
 { 
  
 // 
  
 Retrieve 
  
 the 
  
 ad 
  
 group 
 . 
  
 const 
  
 adGroups 
  
 = 
  
 AdsApp 
 . 
 adGroups 
 () 
  
 . 
 withCondition 
 ( 
 ` 
 campaign 
 . 
 name 
  
 = 
  
 "${campaignName}" 
 ` 
 ) 
  
 . 
 withCondition 
 ( 
 ` 
 ad_group 
 . 
 name 
  
 = 
  
 "${adGroupName}" 
 ` 
 ) 
  
 . 
 get 
 (); 
  
 if 
  
 ( 
 ! 
 adGroups 
 . 
 hasNext 
 ()) 
  
 { 
  
 throw 
  
 new 
  
 Error 
 ( 
 ` 
 Cannot 
  
 find 
  
 ad 
  
 group 
  
 with 
  
 name 
  
 "${adGroupName}" 
  
 in 
  
 ` 
  
 + 
  
 ` 
 campaign 
  
 "${campaignName}" 
 ` 
 ); 
  
 } 
  
 // 
  
 Change 
  
 the 
  
 target 
  
 setting 
 . 
  
 adGroup 
 . 
 targeting 
 () 
 . 
 setTargetingSetting 
 ( 
 group 
 , 
  
 setting 
 ); 
 } 

Update audience bid modifier

 function 
  
 updateAudienceBidModifer 
 ( 
 campaignName 
 , 
  
 adGroupName 
 , 
  
 audienceName 
 , 
  
 bidModifier 
  
 = 
  
 1.5 
 ) 
  
 { 
  
 // 
  
 Create 
  
 the 
  
 search 
  
 audience 
 . 
  
 const 
  
 audiences 
  
 = 
  
 AdsApp 
 . 
 adGrouptargeting 
 () 
 . 
 audiences 
 () 
  
 . 
 withCondition 
 ( 
 ` 
 campaign 
 . 
 name 
  
 = 
  
 "${campaignName}" 
 ` 
 ) 
  
 . 
 withCondition 
 ( 
 ` 
 ad_group 
 . 
 name 
  
 = 
  
 "${adGroupName}" 
 ` 
 ) 
  
 . 
 get 
 (); 
  
 for 
  
 ( 
 const 
  
 audience 
  
 of 
  
 audiences 
 ) 
  
 { 
  
 if 
  
 ( 
 audience 
 . 
 getName 
 () 
  
 == 
  
 audienceName 
 ) 
  
 { 
  
 audience 
 . 
 bidding 
 () 
 . 
 setBidModifier 
 ( 
 bidModifier 
 ); 
  
 } 
  
 } 
 } 
Design a Mobile Site
View Site in Mobile | Classic
Share by: