Name hierarchy
Resource names used in the Google Ads API are hierarchical, mirroring the
organization of entities within Google Ads. Almost all resources are sub-resources
of the Customer
resource, which reflects the fact that almost every API call has to target a
specific Google Ads account. For example, campaigns, ad groups, ads, and keywords
are all sub-resources of a root customer resource.
Resource | Resource Name |
---|---|
Customer | customers/1234567890
|
Campaign | customers/1234567890/campaigns/8765432109
|
AdGroup | customers/1234567890/adGroups/54321098765
|
AdGroupAd | customers/1234567890/adGroupAds/54321098765~2109876543210
|
Resource IDs
Google Ads entities (customers, campaigns, etc.) are referred to by their resource names throughout the API. However, it's important to note that the resource names themselves may have unique numerical resource IDs that identify each object in the hierarchy. In these cases, it may be useful to parse the resource name to extract these resource IDs and assemble a new one.
For example, examine the AdGroupAd
resource name from the previous table:
customers/1234567890/adGroupAds/54321098765~2109876543210
This can be broken down into its individual resource IDs (separated by collection IDs) as follows:
Resource name components | |||||||
---|---|---|---|---|---|---|---|
Resource IDs |
|
||||||
Collection IDs |
|
Parsing the individual IDs lets you derive new resource names to reference
the ad group ad's customer (customers/1234567890
) or its ad group
(customers/1234567890/adGroupAds/54321098765
).
Identifiers of shared objects
Most objects in the API are associated with a single specific Google Ads customer. However, there are some object types that can be shared between multiple accounts. In practice, these are things like negative keyword lists or cross-account conversion actions that are usually created by managers and then shared with many client accounts.
The resource names of objects like these will differ, depending on which account you're sending an API call to.
Example: Cross-account conversion actions
Assume we have manager account 987-654-3210
that shares a cross-account
conversion action with one of its client customer accounts 123-456-7890
:
Making an API call to the manager account to, for example, update the conversion
action's lookback window would reference the shared object using resource name:
customers/9876543210/conversionActions/257733534
.
Making an API call to the client account to opt-in to using the shared
conversion action would reference it using resource name:
customers/1234567890/conversionActions/257733534
.
This is the same underlying conversion action, but its resource name is relative to the account used to access it.