리소스의 전용 서비스를 사용하는 것이 Google Ads API에서 단일 리소스 유형의 항목을 만들거나 업데이트하거나 삭제하는 가장 직접적인 방법입니다.
변이 엔드포인트
변경 가능한 각 리소스에는 해당 서비스와 작업 유형이 있습니다. 전용 서비스를 사용하여 리소스를 변경하려면 작업에서 다음 필드 중 하나를 채우고 서비스의 변경 엔드포인트로 전송합니다.
- 생성 (
create): 생성할 새 리소스 객체입니다. - 업데이트 (
update): 변경된 필드를 지정하는update_mask와 함께 수정된 리소스 객체입니다. - 삭제 (
remove): 삭제할 대상 리소스의resource_name문자열입니다.
예를 들어 새 Campaign를 만들려면 다음 단계를 완료하세요.
- 선택한 속성으로
Campaign객체를 생성합니다. CampaignOperation의create필드에 할당합니다.MutateCampaignsRequest에서CampaignService.MutateCampaigns로 작업을 전송합니다.
이 동일한 패턴은 Google Ads API의 모든 리소스별 서비스에 적용됩니다.
AdGroup:AdGroupOperation을AdGroupService.MutateAdGroups에 전달합니다.CampaignCriterion:CampaignCriterionOperation를CampaignCriterionService.MutateCampaignCriteria에 전달합니다.
다음 REST JSON 페이로드는 CampaignService.MutateCampaigns에 대한 요청을 보여줍니다.
{
"customerId": "CUSTOMER_ID",
"operations": [
{
"create": {
"name": "Interplanetary Cruise #1",
"advertisingChannelType": "SEARCH",
"status": "PAUSED",
"manualCpc": {},
"campaignBudget": "customers/CUSTOMER_ID/campaignBudgets/BUDGET_ID",
"containsEuPoliticalAdvertising": "DOES_NOT_CONTAIN_EU_POLITICAL_ADVERTISING"
}
}
],
"partialFailure": false,
"validateOnly": false
}
여러 작업 및 제한사항
대부분의 리소스별 변이 요청은 반복되는 operations 필드를 허용하므로 단일 요청에 해당 리소스 유형의 여러 작업이 포함될 수 있습니다 (요청당 최대 10, 000개 작업,AdGroupCriterionService.MutateAdGroupCriteria의 경우 20, 000개 작업,CustomerService.MutateCustomer은 단일 operation 필드를 허용함). 기본적으로 요청의 모든 작업은 서비스가 partial_failure를 지원하고 true로 설정하지 않는 한 원자적으로 실행됩니다.
하지만 개별 리소스 서비스에는 두 가지 중요한 제한사항이 있습니다.
- 단일 리소스 유형: 리소스 서비스에 대한 요청은 해당 서비스에서 관리하는 리소스만 변경할 수 있습니다.
- 교차 리소스 임시 ID 없음: 리소스별 변이 호출은 단일 리소스 유형만 허용하므로 상위 리소스 (예:
customers/CUSTOMER_ID/campaigns/-1)에 임시 음수 ID를 할당하고 동일한 요청에서 다른 유형의 하위 리소스 (예:AdGroup)에서 참조할 수 없습니다. (동일한 리소스 유형 내의 자체 참조 임시 ID는AdGroupCriterion목록 그룹 및AssetGroupListingGroupFilter노드와 같은 계층적 트리에서 지원됩니다.)
단일 요청에서 여러 리소스 유형을 변경하거나 여러 리소스 유형에서 임시 리소스 이름을 참조해야 하는 경우 GoogleAdsService.Mutate을 대신 사용하세요.
버전별 차이
리소스 변환 시 지원되는 Google Ads API 버전 간의 다음 차이점에 유의하세요.
- 라이프사이클 목표 서비스: 고객 유지 목표는 표준 반복
operations필드를 사용하여GoalService.MutateGoals(retention_goal_settings) 및CampaignGoalConfigService.MutateCampaignGoalConfigs(campaign_retention_settings)을 통해 지원되는 모든 버전에서 변경됩니다. v25 이상에서는 신규 고객 확보(new_customer_acquisition_goal_settings/campaign_new_customer_acquisition_settings) 및 충성도 유지(loyalty_retention_goal_settings/campaign_loyalty_retention_settings)도GoalService.MutateGoals및CampaignGoalConfigService.MutateCampaignGoalConfigs를 통해 변이됩니다. 이는 v23 및 v24에서 신규 고객 확보에 사용되고 단수operation필드를 허용하는CustomerLifecycleGoalService.ConfigureCustomerLifecycleGoals및CampaignLifecycleGoalService.ConfigureCampaignLifecycleGoals를 대체합니다.