캠페인 타겟팅

Google Ads 스크립트를 사용하면 계정에서 캠페인 수준 타겟팅 설정을 사용할 수 있습니다. 광고 일정, 타겟팅 및 제외된 위치, 타겟팅된 근접도, 플랫폼을 지원합니다. 이 가이드에서는 캠페인 타겟을 사용하는 방법을 보여줍니다.

광고 일정

광고 일정을 사용하면 광고 게재 시기를 관리할 수 있습니다.

가져오기

캠페인의 targetsadSchedules 메서드를 사용하여 캠페인의 광고 일정을 가져올 수 있습니다. 다음 코드 스니펫은 캠페인의 모든 AdSchedule 기준 목록을 가져오는 방법을 보여줍니다.

const campaign = AdsApp.campaigns()
    .withCondition("campaign.name = 'My campaign'")
    .get()
    .next();

const adSchedules = campaign.targeting().adSchedules().get();
for (const adSchedule of adSchedules) {
  // Process your ad schedule.
  ...
}

기본적으로 캠페인은 항상 게재되므로 캠페인에 맞춤 광고 일정을 설정하지 않은 경우 광고 일정이 반환되지 않습니다.

업데이트

광고 일정을 가져온 후에는 속성을 직접 수정할 수 있습니다. 예를 들어 다음과 같이 광고 일정의 입찰가 조정치를 업데이트할 수 있습니다.

adSchedule.setBidModifier(1.1);

만들기

새 광고 일정을 만들려면 CampaignaddAdSchedule 메서드를 사용하면 됩니다. 다음 코드 스니펫은 매주 토요일 오전 7시부터 오전 11시까지 계정의 시간대로 캠페인의 맞춤 광고 일정을 만들고 입찰가 수정자를 1.1로 설정합니다.

campaign.addAdSchedule({
   dayOfWeek: "SATURDAY",
   startHour: 7,
   startMinute: 0,
   endHour: 11,
   endMinute: 0,
   bidModifier: 1.1
});

각 매개변수에 허용되는 값과 광고 일정 생성 시 유의해야 하는 추가 제한사항에 관한 자세한 내용은 문서를 참고하세요.

삭제

remove 메서드를 사용하여 광고 일정을 삭제할 수 있습니다. 캠페인의 맞춤 광고 예약을 재설정하려면 다음과 같이 모든 맞춤 광고 예약을 삭제하면 됩니다.

const adSchedules = campaign.adSchedules().get();
for (const adSchedule of adSchedules) {
  adSchedule.remove();
}

위치

Google Ads 스크립트를 사용하여 캠페인의 위치를 타겟팅하거나 제외할 수도 있습니다.

가져오기

캠페인의 targetstargetedLocations 메서드를 사용하여 타겟팅된 위치 목록을 가져올 수 있습니다. 제외된 위치excludedLocations 메서드를 사용하여 가져올 수 있습니다. 다음 코드 스니펫은 지난달에 노출수가 100회를 초과한 모든 타겟팅된 위치를 선택합니다.

const locations = AdsApp.targeting()
  .targetedLocations()
  .withCondition("metrics.impressions > 100")
  .forDateRange("LAST_MONTH")
  .orderBy("metrics.clicks DESC")
  .get();

for (const location of locations) {
 // Process the campaign target here.
 ...
}

모든 국가 및 지역에서 캠페인이 게재되도록 설정한 경우 위치 목록이 비어 있습니다.

업데이트

위치를 가져온 후에는 속성을 직접 수정할 수 있습니다. 예를 들어 다음과 같이 위치의 입찰가 조정치를 업데이트할 수 있습니다.

location.setBidModifier(1.1);

만들기

캠페인의 addLocation 메서드를 사용하여 캠페인에 위치 타겟을 만들 수 있습니다. 마찬가지로 excludeLocation 메서드를 사용하여 위치를 제외할 수 있습니다. 다음 코드 스니펫은 뉴욕시를 제외하면서 입찰가 수정사항이 1.15인 미국 캠페인을 타겟팅합니다.

campaign.addLocation(2840, 1.15);     // United States
campaign.excludeLocation(1023191);    // New York city

위치 타겟팅을 추가할 때 사용할 ID 목록은 Google Ads API 지역 타겟팅 문서를 참고하세요. 위치 타겟의 실적을 추적하려면 location_view 보고서 리소스를 검색하면 됩니다.

삭제

remove 메서드를 사용하여 위치 타겟을 삭제할 수 있습니다.

근접도

Google Ads 스크립트를 사용하여 위치 주변의 반경 (근접성)을 기준으로 캠페인을 타겟팅할 수 있습니다.

가져오기

캠페인의 targets에서 targetedProximities 메서드를 사용하여 타겟팅된 근접성의 목록을 가져올 수 있습니다. 다음 코드 스니펫은 지난달에 노출수가 100회를 초과한 모든 타겟 근접성을 선택합니다.

const proximities = AdsApp.targeting()
    .targetedProximities()
    .withCondition("metrics.impressions > 100")
    .forDateRange("LAST_MONTH")
    .orderBy("metrics.clicks DESC")
    .get();

for (const proximity of proximities) {
  ...
}

만들기

캠페인의 addProximity 메서드를 사용하여 캠페인의 근접성 타겟을 만들 수 있습니다. 다음 코드 스니펫은 좌표 (37.423021, -122.083739)에서 20km 떨어진 지역을 타겟팅합니다.

campaign.addProximity(37.423021, -122.083739, 20, "KILOMETERS");

이 방법을 사용하여 입찰가 수정사항과 주소가 있는 동일한 근접도 타겟을 만들 수도 있습니다.

campaign.addProximity(37.423021, -122.083739, 20, "KILOMETERS", {
  bidModifier: 1.15,
  address: {
    streetAddress: "1600 Amphitheatre Parkway",
    cityName: "Mountain View",
    provinceName: "California",
    provinceCode: "CA",
    postalCode: "94043",
    countryCode: "US"
  }
});

주소가 실제로 지정된 위도와 경도에 속하는지 확인하는 유효성 검사는 없습니다. 이 주소는 캠페인 관리 인터페이스에 표시되는 내용을 변경하는 것 외에는 아무런 용도가 없습니다.

삭제

remove 메서드를 사용하여 근접성 타겟을 삭제할 수 있습니다.

플랫폼

캠페인의 targetsplatforms 메서드를 사용하여 캠페인이 타겟팅하는 플랫폼 목록을 가져올 수 있습니다. Google Ads 캠페인은 모든 플랫폼 (데스크톱, 모바일, 태블릿)을 타겟팅하므로 Platform 기준을 추가하거나 삭제할 수 없습니다. 이 타겟팅 기준은 캠페인의 기기 입찰가 조정을 설정하는 데 가장 일반적으로 사용됩니다.

campaign.targeting()
    .platforms()
    .mobile()
    .get()
    .next().
    setBidModifier(1.2);

플랫폼 ID는 캠페인 간에 공유되며 Google Ads API 플랫폼 부록에 지정된 사전 정의된 값을 갖습니다. 이러한 ID는 보고서를 파싱할 때 유용할 수 있습니다. 기준을 직접 선택할 때는 PlatformSelector에서 제공하는 도우미 메서드를 사용할 수 있습니다.