광고그룹
    
    
      
    
    
      
      컬렉션을 사용해 정리하기
    
    
      
      내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.
    
  
    
  
      
    
  
  
  
  
  
    
    
    
  
  
    
    
    
광고그룹 추가
function addAdGroup(campaignName, adGroupName, defaultCpc = 1.2) {
  const campaignIterator = AdsApp.campaigns()
      .withCondition(`campaign.name = "${campaignName}"`)
      .get();
  if (!campaignIterator.hasNext()) {
    throw new Error(`No campaign with name "${campaignName} found`);
  }
  const campaign = campaignIterator.next();
  return campaign.newAdGroupBuilder()
      .withName(adGroupName)
      .withCpc(defaultCpc)
      .build();
}
모든 광고그룹 가져오기
function getAllAdGroups() {
  // AdsApp.adGroups() will return all ad groups that are not removed by
  // default.
  const adGroupIterator = AdsApp.adGroups().get();
  console.log('Total adGroups found : ' + adGroupIterator.totalNumEntities());
  return adGroupIterator;
}
이름별로 광고그룹 가져오기
function getAdGroupByName(name) {
  const adGroupIterator = AdsApp.adGroups()
      .withCondition(`ad_group.name = "${name}"`)
      .get();
  if (!adGroupIterator.hasNext()) {
    throw new Error(`No ad group with name "${name}" found`);
  }
  const adGroup = adGroupIterator.next();
  if (adGroupIterator.totalNumEntities() > 1) {
    console.warn(`Multiple ad groups named "${name}" found.
Using the one from campaign "${adGroup.getCampaign().getName()}".`);
  }
  return adGroup;
}
광고그룹의 기본 CPC 입찰가 업데이트
function setAdGroupCpc(name, cpc) {
  const adGroupIterator = AdsApp.adGroups()
      .withCondition(`ad_group.name = "${name}"`)
      .get();
  if (!adGroupIterator.hasNext()) {
    throw new Error(`No ad group with name "${name}" found`);
  }
  const adGroup = adGroupIterator.next();
  if (adGroupIterator.totalNumEntities() > 1) {
    console.warn(`Multiple ad groups named "${name}" found.
Using the one from campaign "${adGroup.getCampaign().getName()}".`);
  }
  adGroup.bidding().setCpc(cpc);
}
광고그룹 통계 가져오기
function getAdGroupStats(name, dateRange = 'LAST_MONTH') {
  const adGroupIterator = AdsApp.adGroups()
      .withCondition(`ad_group.name = "${name}"`)
      .get();
  if (!adGroupIterator.hasNext()) {
    throw new Error(`No ad group with name "${name}" found`);
  }
  const adGroup = adGroupIterator.next();
  if (adGroupIterator.totalNumEntities() > 1) {
    console.warn(`Multiple ad groups named "${name}" found.
Using the one from campaign "${adGroup.getCampaign().getName()}".`);
  }
  // You can get stats for a custom date range, or, as in this example, a predefined date range.
  // A list of valid predefined date ranges is available at
  // https://developers.google.com/google-ads/api/docs/query/date-ranges#predefined_date_range
  const stats = adGroup.getStatsFor(dateRange);
  console.log(`${adGroup.getName()}, ${stats.getClicks()}, ${stats.getImpressions()}`);
  return stats;
}
광고그룹 일시중지
function pauseAdGroup(name) {
  const adGroupIterator = AdsApp.adGroups()
      .withCondition(`ad_group.name = "${name}"`)
      .get();
  if (!adGroupIterator.hasNext()) {
    throw new Error(`No ad group with name "${name}" found`);
  }
  const adGroup = adGroupIterator.next();
  if (adGroupIterator.totalNumEntities() > 1) {
    console.warn(`Multiple ad groups named "${name}" found.
Using the one from campaign "${adGroup.getCampaign().getName()}".`);
  }
  adGroup.pause();
}
광고그룹의 기기 입찰 조정 가져오기
function getAdGroupBidModifiers(name) {
  const adGroupIterator = AdsApp.adGroups()
      .withCondition(`ad_group.name = "${name}"`)
      .get();
  if (!adGroupIterator.hasNext()) {
    throw new Error(`No ad group with name "${name}" found`);
  }
  const adGroup = adGroupIterator.next();
  if (adGroupIterator.totalNumEntities() > 1) {
    console.warn(`Multiple ad groups named "${name}" found.
Using the one from campaign "${adGroup.getCampaign().getName()}".`);
  }
  return {
    HighEndMobile: adGroup.devices().getMobileBidModifier(),
    Tablet: adGroup.devices().getTabletBidModifier(),
    Desktop: adGroup.devices().getDesktopBidModifier(),
  };
}
  
  
  
  
    
  
 
  
    
      
      
    
    
      
    
    
  
       
    
    
      
    
  
  
  달리 명시되지 않는 한 이 페이지의 콘텐츠에는 Creative Commons Attribution 4.0 라이선스에 따라 라이선스가 부여되며, 코드 샘플에는 Apache 2.0 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 Google Developers 사이트 정책을 참조하세요. 자바는 Oracle 및/또는 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)"],[],[]]