리소스의 전용 서비스를 사용하는 것은 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를 대체합니다.