GoogleAdsFieldService(GetGoogleAdsField 또는 SearchGoogleAdsFields를 통해)를 사용하여 GoogleAdsService Search 및 SearchStream 메서드에서 사용할 수 있는 리소스, 리소스 필드, 세분화 키, 측정항목의 카탈로그를 동적으로 요청할 수 있습니다. 카탈로그는 Google Ads API 클라이언트가 Google Ads Query Language 문을 검증하고 구성하는 데 사용할 수 있는 메타데이터를 제공합니다.
샘플 HTTP 요청 및 응답
요청은 다음 URL의 Google Ads API 서버에 대한 HTTP GET로 구성됩니다.
https://googleads.googleapis.com/v26/googleAdsFields/{resource_or_field}
다음 예시에서는 ad_group 리소스에 대해 GoogleAdsFieldService에서 반환된 응답과 요청을 보여줍니다.
요청
https://googleads.googleapis.com/v26/googleAdsFields/ad_group
응답
{
"resourceName": "googleAdsFields/ad_group",
"name": "ad_group",
"category": "RESOURCE",
"selectable": false,
"filterable": false,
"sortable": false,
"selectableWith": [
"campaign",
"customer",
"metrics.average_cpc",
"segments.device"
],
"attributeResources": [
"customer",
"campaign"
],
"metrics": [
"metrics.conversions",
"metrics.search_budget_lost_impression_share",
"metrics.average_cost",
"metrics.clicks"
],
"segments": [
"segments.date",
"segments.ad_network_type",
"segments.device"
]
}
이 예시에서 중요한 배열은 다음과 같습니다.
attributeResources- 측정항목을 분류하지 않고
FROM절의 리소스에 암시적으로 조인할 수 있는 리소스입니다.category가RESOURCE인 필드에만 채워집니다. metricsFROM절에서 리소스와 함께 선택할 수 있는 측정항목입니다.category가RESOURCE인 필드에만 채워집니다.segments- 세그먼트 키 (
segments.*필드 및 세그먼트 리소스)입니다. 이러한 필드는 쿼리에 지정된 측정항목을 분류합니다.category가RESOURCE인 필드에만 채워집니다. selectableWith- 이 리소스 또는 세그먼트가
FROM절의 기본 리소스가 아닌 경우 동일한 Google Ads Query Language 쿼리에서 선택할 수 있는 리소스, 세그먼트 또는 측정항목입니다.
FROM 절에서 리소스와 함께 선택할 수 있는 selectableWith를 사용한 호환성 쿼리
리소스 또는 세그먼트 필드의 selectableWith 속성은 동일한 Google Ads Query Language 쿼리에서 선택할 수 있는 다른 리소스, 세그먼트 또는 측정항목을 지정합니다.
이 속성은 FROM 절에 지정되지 않은 리소스 또는 세그먼트의 필드를 포함하려는 경우에 중요합니다.
Google Ads 쿼리 언어 쿼리를 구성할 때 다음 사항에 유의하세요.
FROM절의 리소스는 기본 항목입니다. 이 리소스에서 언제든지 필드를 선택할 수 있습니다.- 기본 항목과 함께 사용할 수 있는 호환되는 측정항목과 세그먼트를 선택할 수도 있습니다.
FROM절 외부의 리소스 또는 세그먼트의 필드를 포함하는 경우 이 비FROM리소스 또는 세그먼트가 쿼리에서 선택된 다른 모든 필드, 세그먼트, 측정항목과 호환되는지 확인해야 합니다.
특정 리소스 (리소스 A)의 selectableWith 목록에는 리소스 A가 기본 항목이 아닌 경우 리소스 A의 필드와 함께 선택할 수 있는 다른 모든 리소스, 세그먼트, 측정항목이 포함됩니다.
예
다음 쿼리 예시를 살펴보세요.
SELECT ad_group.id, segments.date, campaign.name FROM ad_group
FROM절은ad_group을 지정합니다.- 이 쿼리는
ad_group.id(FROM리소스에서),segments.date,campaign.name를 선택합니다. campaign.name가 선택되었지만campaign가FROM절에 없으므로 다른 선택된 요소와의 호환성을 확인해야 합니다.- 이 쿼리가 유효하려면
campaign리소스가segments.date(선택 중인 다른 필드)와 호환되어야 합니다. 따라서campaign리소스의selectableWith속성을 확인해야 합니다.segments.date가campaign의selectableWith목록에 있으면 쿼리가 유효합니다.
FROM 절에 없는 리소스에서 필드를 선택하는 경우 해당 리소스의 selectableWith 목록에 SELECT 절에 있는 다른 모든 세그먼트와 리소스가 포함되어야 합니다.
메타데이터 세부정보
GoogleAdsFieldService를 사용하여(GetGoogleAdsField가 있는 리소스 이름 또는 SearchGoogleAdsFields로 쿼리) 다음 GoogleAdsFieldCategory 수준에서 카탈로그를 요청할 수 있습니다.
- 리소스 (
RESOURCE) - 예를 들면
googleAdsFields/campaign입니다. - 리소스 속성 (
ATTRIBUTE) - 예를 들면
googleAdsFields/campaign.name입니다. - 분류 필드 (
SEGMENT) - 예를 들면
googleAdsFields/segments.ad_network_type입니다. - 측정항목 (
METRIC) - 예를 들면
googleAdsFields/metrics.clicks입니다.