Performance Max

ดึงข้อมูลแคมเปญ Performance Max ทั้งหมด

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;
}
const performanceMaxCampaigns = getAllPerformanceMaxCampaigns();

for (const performanceMaxCampaign of performanceMaxCampaigns) {

 
// Process your campaign.
}

ดึงข้อมูลแคมเปญ Performance Max ตามชื่อ

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);
}

ดึงข้อมูลสถิติของแคมเปญ Performance Max

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;
}

หยุดแคมเปญ Performance Max ชั่วคราว

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

ดึงข้อมูลกลุ่มชิ้นงานตามชื่อ

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();
}

หยุดกลุ่มชิ้นงานชั่วคราว

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()}`);
}

ดึงข้อมูลวิดีโอที่เฉพาะเจาะจงเพื่อใช้ในกลุ่มชิ้นงาน

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;
}

เพิ่มวิดีโอที่เฉพาะเจาะจงลงในกลุ่มชิ้นงาน

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

นำวิดีโอบางรายการออกจากกลุ่มชิ้นงาน

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