전환 목표
실적 최대화 캠페인을 만들면 계정의 CustomerConversionGoal
와 일치하는 일련의 전환 목표가 자동으로 생성됩니다. 이러한 템플릿은 업데이트를 통해 각 실적 최대화 캠페인에 맞게 맞춤설정할 수 있습니다.
이렇게 하려면 먼저 모든 고객 전환 목표 목록을 가져와야 합니다.
const searchResults = AdsApp.search(
`SELECT
customer_conversion_goal.category,
customer_conversion_goal.origin
FROM customer_conversion_goal`
);
그런 다음 반환된 모든 전환 목표를 반복하고 현재 실적 최대화 캠페인의 업데이트 작업을 만들어 각 목표의 타겟팅을 맞춤설정할 수 있습니다. 아래 코드는 모두 입찰 가능하도록 설정하지만 캠페인에서 얻고자 하는 결과에 맞게 논리의 해당 부분을 맞춤설정해야 합니다.
이 코드를 실행하기 전에 실적 최대화 캠페인의 캠페인 ID를 가져와야 합니다.
전환 목표는 나머지 캠페인 생성 프로세스와 별도의 거래에서 설정하는 것이 좋습니다.
CampaignConversionGoalOperation
에서는 요청의 partialFailure
를 false
로 설정해야 합니다. 캠페인을 처음 만드는 것과 동일한 트랜잭션에서 이 코드를 실행하려면 전체 작업 집합을 설정하여 부분 실패를 사용 중지해야 합니다. 이 예시 코드는 별도의 트랜잭션에서 이 작업을 실행하는 방법을 보여줍니다.
operations = [];
while (searchResults.hasNext()) {
const row = searchResults.next();
const conversionGoal = row.customerConversionGoal;
operations.push({
"campaignConversionGoalOperation": {
"update": {
"resourceName": `customers/${customerId}/campaignConversionGoals/${campaignId}~${conversionGoal.category}~${conversionGoal.origin}`,
// Insert your logic here to determine whether you want this particular
// campaign conversion goal to be biddable or not.
// This code will just default everything to being biddable, but that
// is not necessarily best for your use case.
"biddable": true
},
"updateMask": "biddable"
}
});
}
AdsApp.mutateAll(operations, {partialFailure: false});
캠페인 타겟팅
실적 최대화 캠페인의 캠페인 타겟팅에 허용되는 기준 유형의 전체 목록은 API 가이드를 참고하세요.
실적 최대화 캠페인을 만들 때 추가 기준이 필요하지는 않지만 사용 사례에 따라 타겟팅을 제한하는 데 유용할 수 있습니다. 아래의 코드 예는 지역 타겟을 설정하는 방법을 보여줍니다. 다른 기준 유형의 형식은 CampaignCriterion
문서를 참고하세요.
이러한 기준은 mutateAll
호출의 일부로 캠페인 자체와 함께 만들 수 있으며 이 코드 예에서는 코드 구조가 이와 같다고 가정합니다.
operations.push({
"campaignCriterionOperation": {
"create": {
"campaign": campaignOperation.campaignOperation.create.resourceName,
"negative": false,
"location": {
// 1023191 represents New York City
"geoTargetConstant": "geoTargetConstants/1023191"
}
}
}
});
애셋 그룹 신호
시작하기 전에 API 문서에서 애셋 그룹 신호에 관해 읽어보세요. 이는 애셋 그룹을 기존 AudienceInfo
또는 SearchThemeInfo
기준에 연결하여 설정합니다. 대신 잠재고객을 사용하려면 잠재고객의 리소스 이름이 포함된 searchTheme
필드 대신 audience
필드를 지정합니다.
operations.push({
"assetGroupSignalOperation": {
"create": {
"assetGroup": assetGroupOperation.assetGroupOperation.create.resourceName,
"searchTheme": {
"text": "mars cruise"
}
}
}
});