리소스 서비스가 변경됨

리소스의 전용 서비스를 사용하는 것이 Google Ads API에서 단일 리소스 유형의 항목을 만들거나 업데이트하거나 삭제하는 가장 직접적인 방법입니다.

변이 엔드포인트

변경 가능한 각 리소스에는 해당 서비스와 작업 유형이 있습니다. 전용 서비스를 사용하여 리소스를 변경하려면 작업에서 다음 필드 중 하나를 채우고 서비스의 변경 엔드포인트로 전송합니다.

  • 생성 (create): 생성할 새 리소스 객체입니다.
  • 업데이트 (update): 변경된 필드를 지정하는 update_mask와 함께 수정된 리소스 객체입니다.
  • 삭제 (remove): 삭제할 대상 리소스의 resource_name 문자열입니다.

예를 들어 새 Campaign를 만들려면 다음 단계를 완료하세요.

  1. 선택한 속성으로 Campaign 객체를 생성합니다.
  2. CampaignOperation의 create 필드에 할당합니다.
  3. MutateCampaignsRequest에서 CampaignService.MutateCampaigns로 작업을 전송합니다.

이 동일한 패턴은 Google Ads API의 모든 리소스별 서비스에 적용됩니다.

다음 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를 대체합니다.