Google Ads API에서 사용되는 리소스 이름은 Google Ads 내의 항목 구성을 반영하여 계층적입니다. 거의 모든 리소스는 Customer 리소스의 하위 리소스입니다. 이는 거의 모든 API 호출이 특정 Google Ads 계정을 타겟팅해야 한다는 사실을 반영합니다. 예를 들어 캠페인, 광고 그룹, 광고, 키워드는 모두 루트 고객 리소스의 하위 리소스입니다.
Google Ads 항목 (고객, 캠페인 등)은 API 전체에서 리소스 이름으로 참조됩니다. 하지만 리소스 이름 자체에는 계층 구조의 각 객체를 식별하는 고유한 숫자 리소스 ID가 있을 수 있습니다. 이러한 경우 리소스 이름을 파싱하여 이러한 리소스 ID를 추출하고 새 리소스 ID를 어셈블하는 것이 유용할 수 있습니다.
개별 ID를 파싱하면 광고 그룹 광고의 고객 (customers/1234567890) 또는 광고 그룹(customers/1234567890/adGroupAds/54321098765)을 참조하는 새 리소스 이름을 파생할 수 있습니다.
공유 객체의 식별자
API의 대부분 객체는 단일 특정 Google Ads 고객과 연결됩니다. 하지만 여러 계정 간에 공유할 수 있는 객체 유형도 있습니다. 실제로 이러한 항목은 일반적으로 관리자가 만든 후 여러 고객 계정과 공유하는 제외 키워드 목록 또는 교차 계정 전환 액션과 같은 항목입니다.
이러한 객체의 리소스 이름은 API 호출을 전송하는 계정에 따라 달라집니다.
예: 교차 계정 전환 액션
관리자 계정 987-654-3210가 고객 계정 123-456-7890 중 하나와 교차 계정 전환 액션을 공유한다고 가정해 보겠습니다.
예를 들어 전환 액션의 리퍼백 기간을 업데이트하기 위해 관리자 계정에 API 호출을 하면 리소스 이름 customers/9876543210/conversionActions/257733534을 사용하여 공유 객체를 참조합니다.
공유 전환 액션을 사용하도록 선택하기 위해 클라이언트 계정에 API 호출을 하면 리소스 이름 customers/1234567890/conversionActions/257733534을 사용하여 참조합니다.
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["필요한 정보가 없음","missingTheInformationINeed","thumb-down"],["너무 복잡함/단계 수가 너무 많음","tooComplicatedTooManySteps","thumb-down"],["오래됨","outOfDate","thumb-down"],["번역 문제","translationIssue","thumb-down"],["샘플/코드 문제","samplesCodeIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2025-09-05(UTC)"],[[["\u003cp\u003eGoogle Ads API resource names are hierarchical, reflecting the Google Ads account structure, with most resources being sub-resources of the \u003ccode\u003eCustomer\u003c/code\u003e resource.\u003c/p\u003e\n"],["\u003cp\u003eResource names contain unique numerical IDs that identify each object within the hierarchy and can be parsed to derive new resource names.\u003c/p\u003e\n"],["\u003cp\u003eResource names are represented by the \u003ccode\u003eresourceName\u003c/code\u003e field in JSON request/response bodies.\u003c/p\u003e\n"],["\u003cp\u003eShared objects, like negative keyword lists, have resource names relative to the account used to access them, differing between manager and client accounts.\u003c/p\u003e\n"]]],["The Google Ads API employs a hierarchical structure for resource names, with most resources being sub-resources of the `Customer`. Resource names are relative, using a format like `customers/1234567890/campaigns/8765432109`. Entities are identified by unique numerical resource IDs, extractable from resource names. Shared objects like conversion actions have different resource names depending on the accessing account, reflecting a relative association. API requests and responses use the `resourceName` field.\n"],null,["# Resource Names\n\nName hierarchy\n--------------\n\nResource names used in the Google Ads API are hierarchical, mirroring the\norganization of entities within Google Ads. Almost all resources are sub-resources\nof the [`Customer`](https://github.com/googleapis/googleapis/tree/master/google/ads/googleads/v21/resources/customer.proto)\nresource, which reflects the fact that almost every API call has to target a\nspecific Google Ads account. For example, campaigns, ad groups, ads, and keywords\nare all sub-resources of a root customer resource.\n\n| Resource | Resource Name |\n|-----------|-------------------------------------------------------------|\n| Customer | `customers/1234567890` |\n| Campaign | `customers/1234567890/campaigns/8765432109` |\n| AdGroup | `customers/1234567890/adGroups/54321098765` |\n| AdGroupAd | `customers/1234567890/adGroupAds/54321098765~2109876543210` |\n\n| **Key Point:** Google Ads API uses [*relative* resource names](//cloud.google.com/apis/design/resource_names#relative_resource_name) (and not [*full* resource names](//cloud.google.com/apis/design/resource_names#full_resource_name) like some other Google APIs).\n\nResource IDs\n------------\n\nGoogle Ads entities (customers, campaigns, etc.) are referred to by their resource\nnames throughout the API. However, it's important to note that the resource\nnames themselves may have unique numerical [resource\nIDs](//cloud.google.com/apis/design/resource_names#resource_id) that identify\neach object in the hierarchy. In these cases, it may be useful to parse the\nresource name to extract these resource IDs and assemble a new one.\n\nFor example, examine the `AdGroupAd` resource name from the previous table: \n\n customers/1234567890/adGroupAds/54321098765~2109876543210\n\nThis can be broken down into its individual resource IDs (separated by\n[collection IDs](//cloud.google.com/apis/design/resource_names#collection_id))\nas follows:\n\n| Resource name components ||\n|--------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| **Resource IDs** | |-----------------|-------------------| | customer ID: | `\"1234567890\"` | | ad group ID: | `\"54321098765\"` | | ad group ad ID: | `\"2109876543210\"` | |\n| **Collection IDs** | |----------------| | `\"customers\"` | | `\"adGroupAds\"` | |\n\nParsing the individual IDs lets you derive new resource names to reference\nthe ad group ad's customer (`customers/1234567890`) or its ad group\n(`customers/1234567890/adGroupAds/54321098765`).\n| **Key Point:** Resource names in JSON request and response bodies are referred to by the `resourceName` field, not the [`name`](//cloud.google.com/apis/design/resource_names#q_why_is_the_special_field_called_name_instead_of_id) field like in some other Google Cloud APIs. Many Google Ads entities have name attributes themselves (`campaign.Name`, `adGroup.Name`, etc.), so `resourceName` is used to avoid collision with existing object names.\n\nIdentifiers of shared objects\n-----------------------------\n\nMost objects in the API are associated with a single specific Google Ads\ncustomer. However, there are some object types that can be shared between\nmultiple accounts. In practice, these are things like [negative keyword\nlists](//support.google.com/google-ads/answer/7519927) or [cross-account\nconversion actions](//support.google.com/google-ads/answer/3030657) that are\nusually created by managers and then shared with many client accounts.\n\nThe resource names of objects like these will differ, depending on which\naccount you're sending an API call to.\n\n### Example: Cross-account conversion actions\n\nAssume we have manager account `987-654-3210` that shares a cross-account\nconversion action with one of its client customer accounts `123-456-7890`:\n\nMaking an API call to the manager account to, for example, update the conversion\naction's lookback window would reference the shared object using resource name:\n`customers/9876543210/conversionActions/257733534`.\n\nMaking an API call to the *client account* to opt-in to using the shared\nconversion action would reference it using resource name:\n`customers/1234567890/conversionActions/257733534`.\n\nThis is the same underlying conversion action, but its resource name is relative\nto the account used to access it."]]