Stay organized with collections
Save and categorize content based on your preferences.
AI-generated Key Takeaways
AdOperation represents the creation of a new ad, executing upon calling getErrors, getResult, or isSuccessful.
For efficiency, store multiple AdOperation instances in an array before execution to create ads in bulk.
getErrors provides error details if ad creation fails, getResult returns the new ad if successful, and isSuccessful indicates operation success.
The provided code example demonstrates efficient ad creation and label application using an array of AdOperation objects.
An operation representing creation of a new ad. Calling any
method
(getErrors,
getResult, or
isSuccessful)
will cause the operation to execute and create the ad. To
make the script more efficient, it's recommended that you store the
operations in an array and only call these methods once you've constructed
all the operations you want.
For instance, this is how you would assign a label to newly created ads in
an efficient manner:
//Forthepurposeofthisexample,supposethatthefetchAdText()function//fetchestextaddatafromyourdatasourceofchoice,sothat//adsToCreateisanarraywhereeachelementisanobjectdescribinganad.varadgroup=AdsApp.adGroups().get().next();varadsToCreate=fetchAdText();varadOps=[];for(vari=0;i<adsToCreate.length;i++){adOps.push(adGroup.newAd().expandedTextAdBuilder().withHeadlinePart1(adsToCreate[i].headlinePart1).withHeadlinePart2(adsToCreate[i].headlinePart2).withDescription(adsToCreate[i].description).withPath1(adsToCreate[i].path1).withPath2(adsToCreate[i].path2).withFinalUrl(adsToCreate[i].finalUrl).build());}for(vari=0;i<adOps.length;i++){if(adOps[i].isSuccessful()){adOps[i].getResult().applyLabel('myLabel');}else{Logger.log('Errors from Ad ['+adsToCreate[i].headline+']: '+adOps[i].getErrors());}}
[[["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-23 UTC."],[],[]]