전환 목표
실적 최대화 캠페인을 만들면 계정의 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"
}
}
}
});