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

ดึงข้อมูลแคมเปญ 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'); }