Добавить место размещения в существующую группу объявлений
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(', ')}`); } }
Получить все темы в существующей группе объявлений.
function getAllTopics(campaignName, adGroupName) { return AdsApp.display() .topics() .withCondition(`campaign.name = '${campaignName}'`) .withCondition(`ad_group.name = '${adGroupName}'`); }
Записывать статистику для всех аудиторий в существующей группе объявлений.
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()}`); } }