Display

Add a placement to an existing ad group

function addPlacementToAdGroup(adGroupName, url, cpc) {   const adGroups = AdsApp.adGroups()       .withCondition(`ad_group.name = '${adGroupName}'`)       .get();   if (!adGroups.hasNext()) {     throw new Error(`No ad group with the name '${adGroupName}' was found.`);   }   const adGroup = adGroups.next();   if (adGroups.totalNumEntities() > 1) {     console.warn(`Found ${adGroups.totalNumEntities()} ad groups with the ` +       `name '${adGroupName}'. Adding placement to the ad group in campaign ` +       `'${adGroup.getCampaign().getName()}'.`);   }    // Other display criteria can be built in a similar manner using the   // corresponding builder method in the AdsApp.CampaignDisplay or   // AdsApp.AdGroupDisplay class.   const placementBuilder = adGroup.display()       .newPlacementBuilder()       .withUrl(url);  // required   if (cpc) {     placementBuilder.withCpc(cpc); // optional   }   const operation = placementBuilder.build();   if (operation.getStatus() == 'SUCCESS') {     const placement = operation.getResult();     console.log(`Placement with id = ${placement.getId()} and url = ${placement.getUrl()} was created.`);   } else {     console.warn(`Failed to create placement. Errors = ${operation.getErrors().join(', ')}`);   } }

Retrieve all topics in an existing ad group

function getAllTopics(campaignName, adGroupName) {   return AdsApp.display()       .topics()       .withCondition(`campaign.name = '${campaignName}'`)       .withCondition(`ad_group.name = '${adGroupName}'`); }

Log stats for all audiences in an existing ad group

function logAudienceStats(campaignName, adGroupName, dateRange = 'LAST_MONTH') {   // Other display criteria can be retrieved in a similar manner using   // the corresponding selector methods in the AdsApp.Display,   // AdsApp.CampaignDisplay or AdsApp.AdGroupDisplay class.   const audienceIterator = AdsApp.display()       .audiences()       .withCondition(`campaign.name = '${campaignName}'`)       .withCondition(`ad_group.name = '${adGroupName}'`)       .get();    console.log('ID, Audience ID, Clicks, Impressions, Cost');    for (const audience of audienceIterator) {     const stats = audience.getStatsFor(dateRange);      // User List IDs (List IDs) are available on the details page of     // a User List (found under the Audiences section of the Shared     // Library)     console.log(`${audience.getId().toFixed(0)}, ${audience.getAudienceId()}, `         + `${stats.getClicks()}, ${stats.getImpressions()}, ${stats.getCost()}`);   } }