The unique identifier for an entity in the Google Ads API is called a resource name,
and is represented as a string with a predictable format. If you know the
constituent components of a resource name, you can generate resource names using
helper methods present on many service objects.

> [!NOTE]
> **Note:** Customer IDs passed to path helper methods must be 10-digit numbers without hyphens (for example, `"7892134783"` instead of `"789-213-4783"`).

## Service path methods

All services designed to handle reading or mutating specific types of objects in
the API have helper methods to construct resource names. For example, you can
create a resource name for a `Campaign` object:

    from google.ads.googleads.client import GoogleAdsClient

    client = GoogleAdsClient.load_from_storage()
    customer_id = "7892134783"
    campaign_id = "1234567890"
    campaign_service = client.get_service("CampaignService")
    resource_name = campaign_service.campaign_path(customer_id, campaign_id)

Each service also has an accompanying `parse_*_path` method that deconstructs a
resource name into a dictionary of its individual segments (or returns an empty
dictionary if the string does not match the expected format):

    from google.ads.googleads.client import GoogleAdsClient

    client = GoogleAdsClient.load_from_storage()
    resource_name = "customers/7892134783/campaigns/1234567890"
    campaign_service = client.get_service("CampaignService")
    segments = campaign_service.parse_campaign_path(resource_name)
    customer_id = segments["customer_id"]
    campaign_id = segments["campaign_id"]

## Composite resource names

Path helpers on services construct composite segments of a resource name. The
different segments of the composite ID are accepted as individual parameters in
the method:

    from google.ads.googleads.client import GoogleAdsClient

    customer_id = "0987654321"
    ad_group_id = "1234567890"
    criterion_id = "74932"

    client = GoogleAdsClient.load_from_storage()
    ad_group_criterion_service = client.get_service("AdGroupCriterionService")

    # An AdGroupCriterion resource name that uses these IDs looks like this:
    # "customers/0987654321/adGroupCriteria/1234567890~74932"
    resource_name = ad_group_criterion_service.ad_group_criterion_path(
        customer_id, ad_group_id, criterion_id
    )