Performance Max

Retrieve all performance max campaigns

 function 
  
 getAllPerformanceMaxCampaigns 
 () 
  
 { 
  
 // 
  
 AdsApp 
 . 
 performanceMaxCampaigns 
 () 
  
 will 
  
 return 
  
 all 
  
 campaigns 
  
 that 
  
 are 
  
 not 
  
 // 
  
 removed 
  
 by 
  
 default 
 . 
  
 const 
  
 performanceMaxCampaignIterator 
  
 = 
  
 AdsApp 
 . 
 performanceMaxCampaigns 
 () 
 . 
 get 
 (); 
  
 console 
 . 
 log 
 ( 
 ` 
 Total 
  
 campaigns 
  
 found 
  
 : 
  
 $ 
 { 
 performanceMaxCampaignIterator 
 . 
 totalNumEntities 
 ()} 
 ` 
 ); 
  
 return 
  
 performanceMaxCampaignIterator 
 ; 
 } 

Retrieve a performance max campaign by its name

 function 
  
 getPerformanceMaxCampaignByName 
 ( 
 campaignName 
 ) 
  
 { 
  
 const 
  
 performanceMaxCampaignIterator 
  
 = 
  
 AdsApp 
 . 
 performanceMaxCampaigns 
 () 
  
 . 
 withCondition 
 ( 
 ` 
 campaign 
 . 
 name 
  
 = 
  
 "${campaignName}" 
 ` 
 ) 
  
 . 
 get 
 (); 
  
 if 
  
 ( 
 ! 
 performanceMaxCampaignIterator 
 . 
 hasNext 
 ()) 
  
 { 
  
 throw 
  
 new 
  
 Error 
 ( 
 ` 
 No 
  
 performance 
  
 max 
  
 campaign 
  
 with 
  
 name 
  
 $ 
 { 
 campaignName 
 } 
  
 found 
 . 
 ` 
 ); 
  
 } 
  
 const 
  
 performanceMaxCampaign 
  
 = 
  
 performanceMaxCampaignIterator 
 . 
 next 
 (); 
  
 console 
 . 
 log 
 ( 
 ` 
 Campaign 
  
 Name 
 : 
  
 $ 
 { 
 performanceMaxCampaign 
 . 
 getName 
 ()} 
 ` 
 ); 
  
 console 
 . 
 log 
 ( 
 ` 
 Enabled 
 : 
  
 $ 
 { 
 performanceMaxCampaign 
 . 
 isEnabled 
 ()} 
 ` 
 ); 
  
 console 
 . 
 log 
 ( 
 ` 
 Bidding 
  
 strategy 
 : 
  
 $ 
 { 
 performanceMaxCampaign 
 . 
 getBiddingStrategyType 
 ()} 
 ` 
 ); 
  
 console 
 . 
 log 
 ( 
 ` 
 Ad 
  
 rotation 
 : 
  
 $ 
 { 
 performanceMaxCampaign 
 . 
 getAdRotationType 
 ()} 
 ` 
 ); 
  
 console 
 . 
 log 
 ( 
 ` 
 Start 
  
 date 
 : 
  
 $ 
 { 
 formatDate 
 ( 
 performanceMaxCampaign 
 . 
 getStartDate 
 ())} 
 ` 
 ); 
  
 console 
 . 
 log 
 ( 
 ` 
 End 
  
 date 
 : 
  
 $ 
 { 
 formatDate 
 ( 
 performanceMaxCampaign 
 . 
 getEndDate 
 ())} 
 ` 
 ); 
  
 return 
  
 performanceMaxCampaign 
 ; 
 } 
 function 
  
 formatDate 
 ( 
 date 
 ) 
  
 { 
  
 function 
  
 zeroPad 
 ( 
 number 
 ) 
  
 { 
  
 return 
  
 Utilities 
 . 
 formatString 
 ( 
 ' 
 %02d 
 ' 
 , 
  
 number 
 ); 
  
 } 
  
 return 
  
 ( 
 date 
  
 == 
  
 null 
 ) 
  
 ? 
  
 'None' 
  
 : 
  
 zeroPad 
 ( 
 date 
 . 
 year 
 ) 
  
 + 
  
 zeroPad 
 ( 
 date 
 . 
 month 
 ) 
  
 + 
  
 zeroPad 
 ( 
 date 
 . 
 day 
 ); 
 } 

Retrieve a performance max campaign's stats

 function 
  
 getPerformanceMaxCampaignStats 
 ( 
 campaignName 
 ) 
  
 { 
  
 const 
  
 performanceMaxCampaignIterator 
  
 = 
  
 AdsApp 
 . 
 performanceMaxCampaigns 
 () 
  
 . 
 withCondition 
 ( 
 ` 
 campaign 
 . 
 name 
  
 = 
  
 "${campaignName}" 
 ` 
 ) 
  
 . 
 get 
 (); 
  
 if 
  
 ( 
 ! 
 performanceMaxCampaignIterator 
 . 
 hasNext 
 ()) 
  
 { 
  
 throw 
  
 new 
  
 Error 
 ( 
 ` 
 No 
  
 performance 
  
 max 
  
 campaign 
  
 with 
  
 name 
  
 $ 
 { 
 campaignName 
 } 
  
 found 
 . 
 ` 
 ); 
  
 } 
  
 const 
  
 performanceMaxCampaign 
  
 = 
  
 performanceMaxCampaignIterator 
 . 
 next 
 (); 
  
 // 
  
 Fetch 
  
 stats 
  
 for 
  
 the 
  
 last 
  
 month 
 . 
  
 See 
  
 the 
  
 DateRangeLiteral 
  
 section 
  
 at 
  
 // 
  
 https 
 : 
 // 
 developers 
 . 
 google 
 . 
 com 
 / 
 adwords 
 / 
 api 
 / 
 docs 
 / 
 guides 
 / 
 awql 
 #formal_grammar 
  
 // 
  
 for 
  
 a 
  
 list 
  
 of 
  
 all 
  
 supported 
  
 pre 
 - 
 defined 
  
 date 
  
 ranges 
 . 
  
 // 
  
 Note 
 : 
  
 Reports 
  
 can 
  
 also 
  
 be 
  
 used 
  
 to 
  
 fetch 
  
 stats 
 . 
  
 See 
  
 // 
  
 https 
 : 
 // 
 developers 
 . 
 google 
 . 
 com 
 / 
 google 
 - 
 ads 
 / 
 scripts 
 / 
 docs 
 / 
 features 
 / 
 reports 
  
 // 
  
 for 
  
 more 
  
 information 
 . 
  
 var 
  
 stats 
  
 = 
  
 performanceMaxCampaign 
 . 
 getStatsFor 
 ( 
 'LAST_MONTH' 
 ); 
  
 console 
 . 
 log 
 ( 
 ` 
 $ 
 { 
 performanceMaxCampaign 
 . 
 getName 
 ()}, 
  
 $ 
 { 
 stats 
 . 
 getImpressions 
 ()} 
  
 impressions 
 , 
  
 ` 
  
 + 
  
 ` 
 $ 
 { 
 stats 
 . 
 getViews 
 ()} 
  
 views 
 ` 
 ); 
  
 return 
  
 stats 
 ; 
 } 

Pause a performance max campaign

 function 
  
 pausePerformanceMaxCampaign 
 ( 
 campaignName 
 ) 
  
 { 
  
 const 
  
 performanceMaxCampaignIterator 
  
 = 
  
 AdsApp 
 . 
 performanceMaxCampaigns 
 () 
  
 . 
 withCondition 
 ( 
 ` 
 campaign 
 . 
 name 
  
 = 
  
 "${campaignName}" 
 ` 
 ) 
  
 . 
 get 
 (); 
  
 if 
  
 ( 
 performanceMaxCampaignIterator 
 . 
 hasNext 
 ()) 
  
 { 
  
 const 
  
 performanceMaxCampaign 
  
 = 
  
 performanceMaxCampaignIterator 
 . 
 next 
 (); 
  
 performanceMaxCampaign 
 . 
 pause 
 (); 
  
 } 
 } 

Retrieve an asset group by its name

 function 
  
 getAssetGroupByName 
 ( 
 campaignName 
 , 
  
 assetGroupName 
 ) 
  
 { 
  
 // 
  
 Defined 
  
 above 
  
 const 
  
 performanceMaxCampaign 
  
 = 
  
 getPerformanceMaxCampaignByName 
 ( 
 campaignName 
 ); 
  
 if 
  
 ( 
 performanceMaxCampaign 
  
 == 
  
 null 
 ) 
  
 { 
  
 return 
  
 null 
 ; 
  
 } 
  
 const 
  
 assetGroupIterator 
  
 = 
  
 performanceMaxCampaign 
 . 
 assetGroups 
 () 
  
 . 
 withCondition 
 ( 
 ` 
 asset_group 
 . 
 name 
  
 = 
  
 "${assetGroupName}" 
 ` 
 ) 
  
 . 
 get 
 (); 
  
 if 
  
 ( 
 ! 
 assetGroupIterator 
 . 
 hasNext 
 ()) 
  
 { 
  
 throw 
  
 new 
  
 Error 
 ( 
 ` 
 No 
  
 asset 
  
 group 
  
 found 
  
 with 
  
 name 
  
 $ 
 { 
 assetGroupName 
 } 
 . 
 ` 
 ); 
  
 } 
  
 return 
  
 assetGroupIterator 
 . 
 next 
 (); 
 } 

Pause an asset group

 function 
  
 pausePerformanceMaxAssetGroup 
 ( 
 campaignName 
 , 
  
 assetGroupName 
 ) 
  
 { 
  
 // 
  
 Defined 
  
 above 
  
 const 
  
 assetGroup 
  
 = 
  
 getAssetGroupByName 
 ( 
 campaignName 
 , 
  
 assetGroupName 
 ); 
  
 assetGroup 
 . 
 pause 
 (); 
  
 console 
 . 
 log 
 ( 
 ` 
 AssetGroup 
  
 with 
  
 name 
 : 
  
 $ 
 { 
 assetGroup 
 . 
 getName 
 ()} 
  
 ` 
  
 + 
  
 ` 
 has 
  
 paused 
  
 status 
 : 
  
 $ 
 { 
 assetGroup 
 . 
 isPaused 
 ()} 
 ` 
 ); 
 } 

Retrieve a specific video for use in an asset group

 function 
  
 getVideoByYouTubeId 
 ( 
 youTubeVideoId 
 ) 
  
 { 
  
 // 
  
 You 
  
 can 
  
 filter 
  
 on 
  
 the 
  
 YouTubeVideoId 
  
 if 
  
 you 
  
 already 
  
 have 
  
 that 
  
 video 
  
 in 
  
 // 
  
 your 
  
 account 
  
 to 
  
 fetch 
  
 the 
  
 exact 
  
 one 
  
 you 
  
 want 
  
 right 
  
 away 
 . 
  
 const 
  
 videos 
  
 = 
  
 AdsApp 
 . 
 adAssets 
 () 
 . 
 assets 
 () 
  
 . 
 withCondition 
 ( 
 ` 
 asset 
 . 
 type 
  
 = 
  
 YOUTUBE_VIDEO 
  
 AND 
  
 ` 
  
 + 
  
 ` 
 asset 
 . 
 youtube_video_asset 
 . 
 youtube_video_id 
  
 = 
  
 '${youTubeVideoId}' 
 ` 
 ) 
  
 . 
 get 
 (); 
  
 if 
  
 ( 
 videos 
 . 
 hasNext 
 ()) 
  
 { 
  
 return 
  
 videos 
 . 
 next 
 (); 
  
 } 
  
 return 
  
 null 
 ; 
 } 

Add a specific video to an asset group

 function 
  
 addVideoToAssetGroup 
 ( 
 youTubeVideoId 
 , 
  
 campaignName 
 , 
  
 assetGroupName 
 ) 
  
 { 
  
 // 
  
 Defined 
  
 above 
  
 const 
  
 video 
  
 = 
  
 getVideoByYouTubeId 
 ( 
 youTubeVideoId 
 ); 
  
 const 
  
 assetGroup 
  
 = 
  
 getAssetGroupByName 
 ( 
 campaignName 
 , 
  
 assetGroupName 
 ); 
  
 assetGroup 
 . 
 addAsset 
 ( 
 video 
 , 
  
 'YOUTUBE_VIDEO' 
 ); 
 } 

Remove a specific video from an asset group

 function 
  
 removeVideoFromAssetGroup 
 ( 
 youTubeVideoId 
 , 
  
 campaignName 
 , 
  
 assetGroupName 
 ) 
  
 { 
  
 // 
  
 Defined 
  
 above 
  
 const 
  
 video 
  
 = 
  
 getVideoByYouTubeId 
 ( 
 youTubeVideoId 
 ); 
  
 const 
  
 assetGroup 
  
 = 
  
 getAssetGroupByName 
 ( 
 campaignName 
 , 
  
 assetGroupName 
 ); 
  
 assetGroup 
 . 
 removeAsset 
 ( 
 video 
 , 
  
 'YOUTUBE_VIDEO' 
 ); 
 } 
Create a Mobile Website
View Site in Mobile | Classic
Share by: