Google Ads 쿼리 언어는 다음과 같은 항목에 대해 Google Ads API에 쿼리할 수 있습니다.
- 리소스 및 관련 속성, 세그먼트, 측정항목
GoogleAdsService
Search 또는 SearchStream- GoogleAdsService 쿼리의 결과는 각
GoogleAdsRow
가 리소스를 나타내는GoogleAdsRow
인스턴스의 목록입니다. 속성 또는 측정항목이 요청되면 행에 해당 필드도 포함됩니다. 세그먼트가 요청된 경우 응답에는 세그먼트-리소스 튜플마다 추가 행도 표시됩니다. - 사용 가능한 필드 및 리소스에 대한 메타데이터
GoogleAdsFieldService
이 서비스는 호환성 및 유형에 관한 세부정보가 포함된 쿼리 가능한 필드 카탈로그를 제공합니다.
GoogleAdsFieldService
쿼리의 결과는GoogleAdsField
인스턴스의 목록이며 각GoogleAdsField
에는 요청된 필드에 관한 세부정보가 포함됩니다.
리소스의 속성 쿼리
다음은 캠페인 리소스의 속성에 관한 기본 쿼리로, 캠페인 ID, 이름, 상태를 반환하는 방법을 보여줍니다.
SELECT
campaign.id,
campaign.name,
campaign.status
FROM campaign
ORDER BY campaign.id
이 쿼리는 캠페인 ID를 기준으로 정렬합니다. 결과로 생성된 각 GoogleAdsRow
는 선택한 필드 (해당 캠페인의 resource_name
포함)로 채워진 campaign
객체를 나타냅니다.
캠페인 쿼리에 사용할 수 있는 다른 필드를 확인하려면 Campaign
참조 문서를 참고하세요.
측정항목 쿼리
특정 리소스의 선택된 속성 외에도 관련 측정항목을 쿼리할 수도 있습니다.
SELECT
campaign.id,
campaign.name,
campaign.status,
metrics.impressions
FROM campaign
WHERE campaign.status = 'PAUSED'
AND metrics.impressions > 1000
ORDER BY campaign.id
이 쿼리는 상태가 PAUSED
이고 노출수가 1, 000회 이상인 캠페인만 필터링하고 캠페인 ID를 기준으로 정렬합니다. 결과 GoogleAdsRow
마다 선택한 측정항목으로 채워진 metrics
필드가 있습니다.
쿼리 가능한 측정항목 목록은 Metrics
문서를 참고하세요.
세그먼트 쿼리
특정 리소스의 선택된 속성 외에도 관련 세그먼트를 쿼리할 수도 있습니다.
SELECT
campaign.id,
campaign.name,
campaign.status,
metrics.impressions,
segments.date,
FROM campaign
WHERE campaign.status = 'PAUSED'
AND metrics.impressions > 1000
AND segments.date during LAST_30_DAYS
ORDER BY campaign.id
측정항목을 쿼리하는 것과 마찬가지로 이 쿼리는 상태가 PAUSED
이고 노출수가 1, 000회 이상인 캠페인만 필터링하지만, 이 쿼리는 날짜별로 데이터를 분류합니다. 이렇게 하면 각 결과 GoogleAdsRow
가 캠페인과 날짜 Segment
의 튜플을 나타냅니다. 분류는 선택한 측정항목을 분할하여 SELECT 절에서 각 세그먼트별로 그룹화한다는 점에 유의해야 합니다.
쿼리 가능한 세그먼트 목록은 Segments
문서를 참고하세요.
관련 리소스의 속성 쿼리
특정 리소스에 대한 쿼리에서 가능한 경우 다른 관련 리소스와 조인할 수 있습니다. 이러한 관련 리소스를 '저작자 표시 리소스'라고 합니다. 쿼리에서 속성을 선택하여 속성이 지정된 리소스에 암시적으로 조인할 수 있습니다.
SELECT
campaign.id,
campaign.name,
campaign.status,
bidding_strategy.name
FROM campaign
ORDER BY campaign.id
이 쿼리는 캠페인 속성을 선택할 뿐만 아니라 선택한 각 캠페인에서 관련 속성도 가져옵니다. 결과로 생성된 각 GoogleAdsRow
는 선택한 캠페인 속성과 선택한 입찰 전략 속성 bidding_strategy.name
로 채워진 campaign
객체를 나타냅니다.
캠페인 쿼리에 사용할 수 있는 기여 분석 리소스를 확인하려면 Campaign
참조 문서를 참고하세요.
쿼리 결과에 따른 변형
지정된 리소스를 쿼리할 때 반환된 결과를 즉시 객체로 가져와 수정한 후 해당 리소스 서비스의 mutate 메서드로 다시 전송할 수 있습니다. 다음은 샘플 워크플로입니다.
- 현재
PAUSED
이고 노출수가 1,000을 초과하는 모든 캠페인에 대해 쿼리를 실행합니다. - 응답의 각
GoogleAdsRow
의campaign
필드에서Campaign
객체를 가져옵니다. - 각 캠페인의 상태를
PAUSED
에서ENABLED
로 변경합니다. - 수정된 캠페인을 사용하여
CampaignService.MutateCampaigns
를 호출하여 캠페인을 업데이트합니다.
필드 메타데이터
GoogleAdsFieldService
로 전송되는 쿼리는 필드 메타데이터를 검색하기 위한 것입니다.
이 정보를 사용하면 쿼리에서 필드를 함께 사용하는 방법을 파악할 수 있습니다. API에서 데이터를 가져올 수 있고 쿼리의 유효성을 검사하거나 빌드하는 데 필요한 메타데이터를 제공하므로 개발자는 프로그래매틱 방식으로 이를 수행할 수 있습니다. 다음은 일반적인 메타데이터 쿼리입니다.
SELECT
name,
category,
selectable,
filterable,
sortable,
selectable_with,
data_type,
is_repeated
WHERE name = "<INSERT_RESOURCE_OR_FIELD>"
이 쿼리의 <INSERT_RESOURCE_OR_FIELD>
를 리소스 (예: customer
또는 campaign
) 또는 필드 (예: campaign.id
, metrics.impressions
또는 ad_group.id
)로 바꿀 수 있습니다.
쿼리 가능한 필드 목록은 GoogleAdsField
문서를 참고하세요.
코드 예시
클라이언트 라이브러리에는 GoogleAdsService
에서 Google Ads 쿼리 언어를 사용하는 예가 있습니다. 기본 작업 폴더에는 GetCampaigns
, GetKeywords
, SearchForGoogleAdsFields
와 같은 예가 있습니다.