Google Ads는 텍스트, 이미지, 모바일 광고 등 다양한 광고 유형을 지원합니다. 이 가이드에서는 Google Ads 스크립트를 사용하여 광고를 만들고, 검색하고, 보고하는 방법을 설명합니다. Google Ads에서 지원하는 모든 광고 유형의 개요는 API 가이드를 참고하세요.
생성
스크립트는 AdGroup 인스턴스에서 newAd() 메서드를 사용하여 광고를 만들 수 있습니다. 이렇게 하면 지원되는 광고 유형의 빌더를 만드는 AdBuilderSpace가 반환됩니다.
다음 스니펫은 반응형 검색 광고를 만드는 방법을 보여줍니다.
let adOperation = adGroup.newAd().responsiveSearchAdBuilder()
.withHeadlines(["Headline 1", "Headline 2", "Headline 3"])
.withDescriptions(["Description 1", "Description 2"])
.withFinalUrl("http://www.example.com")
.withPath1("path1")
.withPath2("path2")
.build();
검사
모든 광고 유형과 연결된 일부 정보는 광고 ID 및 승인 상태와 같이 Ad에서 즉시 확인할 수 있습니다. 또한 모든 광고를 일시중지, 사용 설정 또는 삭제할 수 있습니다.
반응형 검색 광고의 광고 제목과 같은 광고 유형에 특정한 필드에 액세스하려면 asType() 메서드를 사용하여 AdViewSpace를 만듭니다.
이를 통해 유형별 메서드를 노출하는 확장 버전의 Ad에 액세스할 수 있습니다.
다음 스니펫은 모든 반응형 검색 광고의 광고 제목을 가져옵니다.
const iterator = AdsApp.ads().withCondition("Type = RESPONSIVE_SEARCH_AD").get();
while (iterator.hasNext()) {
let ad = iterator.next();
let responsiveSearchAd = ad.asType().responsiveSearchAd();
let headlines = responsiveSearchAd.getHeadlines();
}
Type = RESPONSIVE_SEARCH_AD 조건은 반복자의 모든 광고가 반응형 검색 광고임을 보장합니다. 유형이 잘못된 광고를 보려고 하면 스크립트 실행이 중지되는 오류가 발생하므로 광고 유형을 알 때만 유형별 필드를 보는 것이 중요합니다.
다음 스니펫은 Ad.isType() 메서드를 사용하여 광고가 올바른 유형인지 확인하는 방법을 보여줍니다.
if (ad.isType().responsiveSearchAd()) {
let responsiveSearchAd = ad.asType().responsiveSearchAd();
let headlines = responsiveSearchAd.getHeadlines();
let descriptions = responsiveSearchAd.getDescriptions();
}
표준 선택기를 사용하여 광고를 광고 제목 텍스트로 필터링할 수는 없지만 광고를 가져온 후 JavaScript에서 필터링할 수는 있습니다.
const iterator = AdsApp.ads().withCondition("Type = RESPONSIVE_SEARCH_AD").get();
while (iterator.hasNext()) {
let ad = iterator.next();
let responsiveSearchAd = ad.asType().responsiveSearchAd();
let headlines = responsiveSearchAd.getHeadlines();
// Filter for ads containing a specific headline.
if (headlines.some(h => h.getText().includes("Special Offer"))) {
console.log(`Found ad with ID ${ad.getId()}`);
}
}
보고
ad_group_ad 뷰를 사용하여 일반 통계 외에 광고 필드를 쿼리할 수 있습니다. 예를 들어 ad_group_ad.ad.type을 사용하여 광고 유형을 기준으로 필터링할 수 있습니다.
다음 스니펫은 모든 반응형 검색 광고의 통계를 가져오는 방법을 보여줍니다.
const results = AdsApp.search(
"SELECT ad_group_ad.ad_group.id, " +
"ad_group_ad.ad.id, " +
"metrics.clicks, " +
"metrics.impressions, " +
"metrics.cost " +
"FROM ad_group_ad " +
"WHERE ad_group_ad.ad.type = 'RESPONSIVE_SEARCH_AD' " +
"AND segments.date DURING LAST_7_DAYS");
while (results.hasNext()) {
let row = results.next();
let adId = row.adGroupAd.ad.id;
let clicks = row.metrics.clicks;
...
}
애셋 콘텐츠로 필터링
광고 제목 또는 설명의 콘텐츠를 기준으로 반응형 검색 광고를 대규모로 필터링하려면 ad_group_ad_asset_view 리소스를 사용하세요. 이 뷰에서는 각 광고 제목과 내용 입력란을 별도의 행으로 처리하므로 확장 소재의 텍스트를 기준으로 필터링할 수 있습니다.
다음 스니펫은 특정 광고 제목이 포함된 모든 반응형 검색 광고의 통계를 가져옵니다.
const results = AdsApp.search(
"SELECT ad_group_ad.ad.id, " +
"asset.text_asset.text, " +
"metrics.clicks, " +
"metrics.impressions " +
"FROM ad_group_ad_asset_view " +
"WHERE asset.text_asset.text LIKE '%Special Offer%' " +
"AND ad_group_ad_asset_view.field_type = 'HEADLINE'");
while (results.hasNext()) {
let row = results.next();
let adId = row.adGroupAd.ad.id;
let text = row.asset.textAsset.text;
let clicks = row.metrics.clicks;
console.log(`Ad ID ${adId} with headline "${text}" had ${clicks} clicks.`);
}
스크립트의 보고에 관한 자세한 내용은 보고서 가이드를 참고하세요.