Display
Stay organized with collections
Save and categorize content based on your preferences.
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()}`);
}
}
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2022-03-14 UTC.
[[["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 2022-03-14 UTC."],[[["The provided code snippets demonstrate how to manage display targeting in Google Ads using scripts."],["It includes functionalities to add placements to ad groups, specifying URLs and optional CPC bids."],["Additionally, it showcases retrieving topics and audience performance statistics within specific ad groups and campaigns."],["Example functions cover topics such as adding placements, retrieving topics by campaign/ad group, and logging audience stats with customizable date ranges."]]],[]]