パフォーマンス最大化
    
    
      
    
    
      
      コレクションでコンテンツを整理
    
    
      
      必要に応じて、コンテンツの保存と分類を行います。
    
  
    
  
      
    
  
  
  
  
  
    
    
    
  
  
    
    
    
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.
}
  
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);
}
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;
}
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');
}
  
  
  
  
    
  
 
  
    
      
      
    
    
      
    
    
  
       
    
    
      
    
  
  
  特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
  最終更新日 2025-08-21 UTC。
  
  
  
    
      [[["わかりやすい","easyToUnderstand","thumb-up"],["問題の解決に役立った","solvedMyProblem","thumb-up"],["その他","otherUp","thumb-up"]],[["必要な情報がない","missingTheInformationINeed","thumb-down"],["複雑すぎる / 手順が多すぎる","tooComplicatedTooManySteps","thumb-down"],["最新ではない","outOfDate","thumb-down"],["翻訳に関する問題","translationIssue","thumb-down"],["サンプル / コードに問題がある","samplesCodeIssue","thumb-down"],["その他","otherDown","thumb-down"]],["最終更新日 2025-08-21 UTC。"],[],[]]