Search Analytics: query

승인 필요

정의한 필터 및 매개변수를 사용하여 검색 트래픽 데이터를 쿼리합니다. 이 메서드는 정의한 행 키 (측정기준)별로 그룹화된 0개 이상의 행을 반환합니다. 1일 이상의 기간을 정의해야 합니다.

날짜가 측정기준 중 하나인 경우 데이터가 없는 날짜는 결과 목록에서 생략됩니다. 데이터가 있는 날짜를 알아보려면 원하는 기간에 대해 날짜별로 그룹화한 필터 없이 쿼리를 실행하세요.

결과는 클릭수를 기준으로 내림차순으로 정렬됩니다. 클릭 수가 동일한 두 행은 임의의 방식으로 정렬됩니다.

이 메서드를 호출하는 방법은 Python 샘플을 참조하세요.

이 API는 Search Console의 내부 제한사항에 따라 제한되며 모든 데이터 행을 반환하지는 않고 상위 데이터 행만 반환합니다.

사용 가능한 데이터 양의 한도 보기

JSON POST 예시:
POST https://www.googleapis.com/webmasters/v3/sites/https%3A%2F%2Fwww.example.com%2F/searchAnalytics/query?key={MY_API_KEY}
{
  "startDate": "2015-04-01",
  "endDate": "2015-05-01",
  "dimensions": ["country","device"]
}
지금 사용해 보기

요청

HTTP 요청

POST https://www.googleapis.com/webmasters/v3/sites/siteUrl/searchAnalytics/query

매개변수

매개변수 이름 설명
경로 매개변수
siteUrl string Search Console에 정의된 속성의 URL입니다. 예: http://www.example.com/ (URL 접두사 속성의 경우) 또는 sc-domain:example.com (도메인 속성의 경우)

승인

이 요청에는 다음 범위 중 최소 하나를 사용하여 인증이 필요합니다. (인증 및 승인에 대해 자세히 알아보기)

범위
https://www.googleapis.com/auth/webmasters.readonly
https://www.googleapis.com/auth/webmasters

요청 본문

요청 본문에 다음과 같은 구조의 데이터를 제공합니다.

{
  "startDate": string,
  "endDate": string,
  "dimensions": [
    string
  ],
  "type": string,
  "dimensionFilterGroups": [
    {
      "groupType": string,
      "filters": [
        {
          "dimension": string,
          "operator": string,
          "expression": string
        }
      ]
    }
  ],
  "aggregationType": string,
  "rowLimit": integer,
  "startRow": integer
}
속성 이름 설명 참고
startDate string [필수] 요청된 기간의 시작일입니다(YYYY-MM-DD 형식, PT 시간(UTC - 7:00/8:00)). 종료일보다 빠르거나 같아야 합니다. 이 값은 범위에 포함됩니다.
endDate string [필수] 요청된 기간의 종료일입니다(YYYY-MM-DD 형식, PT 시간(UTC - 7:00/8:00)). 시작 날짜보다 늦거나 같아야 합니다. 이 값이 범위에 포함됩니다.
dimensions[] list [선택사항] 결과를 그룹화할 측정기준 0개 이상 결과는 이러한 측정기준을 제공한 순서대로 그룹화됩니다. dimensionFilterGroups[].filters[].dimension의 모든 측정기준 이름과 '날짜'를 사용할 수 있습니다. 그룹화 측정기준 값이 결합되어 각 결과 행의 고유 키가 생성됩니다. 측정기준을 지정하지 않으면 모든 값이 단일 행으로 결합됩니다. 그룹화할 수 있는 측정기준의 수에는 제한이 없지만 동일한 측정기준을 두 번 그룹화할 수는 없습니다. 예: [country, device]
searchType string 지원 중단됨, 대신 type 사용
type string [선택사항] 결과를 다음 유형으로 필터링합니다.
  • 'discover': 디스커버 결과
  • 'googleNews': news.google.com 및 Android 및 iOS의 Google 뉴스 앱에서 얻은 결과입니다. Google 검색의 '뉴스' 탭의 결과는 포함되지 않습니다.
  • "news": Google 검색의 '뉴스' 탭에 있는 검색 결과입니다.
  • 'image': Google 검색의 '이미지' 탭에 표시되는 검색 결과입니다.
  • 'video': 동영상 검색 결과
  • 'web': [기본값] Google 검색의 통합 ('전체') 탭으로 결과를 필터링합니다. 디스커버 또는 Google 뉴스 결과는 포함되지 않습니다.
dimensionFilterGroups[] list [선택사항] 측정기준 그룹화 값에 적용할 필터 그룹 0개 이상 행이 응답에 반환되려면 모든 필터 그룹이 일치해야 합니다. 단일 필터 그룹 내에서 모든 필터가 일치해야 하는지 또는 하나 이상의 필터가 일치해야 하는지를 지정할 수 있습니다.
dimensionFilterGroups[].groupType string 이 그룹의 모든 필터가 true('and')를 반환해야 하는지 아니면 하나 이상의 필터가 true를 반환해야 하는지 (아직 지원되지 않음) 여부입니다.

허용되는 값은 다음과 같습니다.
  • 'and': 그룹의 모든 필터가 참을 반환해야 필터 그룹이 참이 됩니다.
dimensionFilterGroups[].filters[] list [선택사항] 행을 테스트할 필터 0개 이상 각 필터는 측정기준 이름, 연산자, 값으로 구성됩니다. 최대 길이는 4,096자(영문 기준)입니다. 예:
country equals FRA
query contains mobile use
device notContains tablet
dimensionFilterGroups[].filters[].dimension string 이 필터가 적용되는 측정기준입니다. 여기에 나열된 측정기준으로 그룹화하지 않더라도 필터링할 수 있습니다.

사용 가능한 값은 다음과 같습니다.
  • 'country': 3자리 국가 코드 (ISO 3166-1 alpha-3)로 지정된 특정 국가를 기준으로 필터링합니다.
  • 'device': 지정된 기기 유형에 따라 결과를 필터링합니다. 지원되는 값:
    • DESKTOP
    • 모바일
    • 태블릿
  • 'page': 지정된 URI 문자열을 기준으로 필터링합니다.
  • 'query': 지정된 쿼리 문자열을 기준으로 필터링합니다.
  • 'searchAppearance': 특정 검색결과 기능을 기준으로 필터링합니다. 사용 가능한 값 목록을 보려면 'searchAppearance'로 그룹화된 쿼리를 실행합니다. 값 및 설명의 전체 목록은 도움말 문서에서도 확인할 수 있습니다.
dimensionFilterGroups[].filters[].operator string [선택사항] 지정된 값이 행의 측정기준 값과 일치해야 하는 (또는 일치하지 않는 방식)입니다.

허용되는 값은 다음과 같습니다.
  • 'contains': 행 값이 표현식을 포함하거나 같아야 합니다 (대소문자를 구분하지 않음).
  • 'equals': [기본값] 표현식은 행 값과 정확히 일치해야 합니다 (페이지 및 쿼리 측정기준의 경우 대소문자 구분).
  • 'notContains': 행 값에 표현식이 하위 문자열 또는 (대소문자 구분되지 않는) 전체 일치로 포함되어서는 안 됩니다.
  • 'notEquals': 표현식은 행 값과 정확하게 일치해서는 안 됩니다 (페이지 및 쿼리 측정기준의 경우 대소문자 구분).
  • 'includingRegex': 일치해야 하는 RE2 구문 정규 표현식입니다.
  • 'excludingRegex': 일치해서는 안 되는 RE2 구문 정규 표현식입니다.
dimensionFilterGroups[].filters[].expression string 연산자에 따라 일치하거나 제외할 필터의 값입니다.
aggregationType string

[선택사항] 데이터 집계 방법입니다. 속성별로 집계하면 동일한 속성의 모든 데이터가 집계되고, 페이지 단위로 집계하면 모든 데이터가 표준 URI를 기준으로 집계됩니다. 페이지를 기준으로 필터링하거나 그룹화하는 경우 자동을 선택합니다. 그 외의 경우에는 데이터를 계산할 방법에 따라 속성별로 집계하거나 페이지별로 집계할 수 있습니다. 사이트와 페이지에서 데이터가 다르게 계산되는 방식을 알아보려면 도움말 문서를 참고하세요.

참고: 페이지를 기준으로 그룹화하거나 필터링하는 경우 속성 단위로 집계할 수 없습니다.

auto 이외의 값을 지정하면 결과의 집계 유형이 요청된 유형과 일치하거나 잘못된 유형을 요청하면 오류가 발생합니다. 요청된 유형이 잘못된 경우 API는 집계 유형을 변경하지 않습니다.

사용 가능한 값은 다음과 같습니다.
  • 'auto': [기본값] 서비스가 적절한 집계 유형을 결정하도록 합니다.
  • 'byNewsShowcasePanel': 뉴스 쇼케이스 패널별로 집계된 값입니다. NEWS_SHOWCASE searchAppearance 필터와 type=discover 또는 type=googleNews와 함께 사용해야 합니다. 페이지별로 그룹화하거나 페이지별로 필터링하거나 다른 searchAppearance로 필터링하면 byNewsShowcasePanel로 집계할 수 없습니다.
  • 'byPage': URI별로 값을 집계합니다.
  • 'byProperty': 속성별로 값을 집계합니다. type=discover 또는 type=googleNews에서는 지원되지 않음
rowLimit integer [선택사항, 유효 범위는 1~25,000, 기본값은 1,000] 반환할 최대 행 수입니다. 결과 페이지를 탐색하려면 startRow 오프셋을 사용합니다.
startRow integer [선택사항, 기본값은 0] 응답의 첫 번째 행의 0부터 시작하는 색인입니다. 음수가 아닌 숫자여야 합니다. startRow가 쿼리의 결과 수를 초과하면 행이 0개인 성공 응답이 반환됩니다.
dataState string [선택사항] 'all' (대소문자 구분 안 함)인 경우 데이터에 최신 데이터가 포함됩니다. 'final' (대소문자 구분 안 함)이거나 이 매개변수가 생략된 경우 반환된 데이터에 최종 데이터만 포함됩니다.

응답

결과는 요청에 지정된 측정기준에 따라 그룹화됩니다. 측정기준 값 집합이 동일한 모든 값은 단일 행으로 그룹화됩니다. 예를 들어 국가 측정기준을 기준으로 그룹화하면 'usa'의 모든 결과가 함께 그룹화되고 'mdv'의 모든 결과가 함께 그룹화되는 식입니다. 국가 및 기기별로 그룹화한 경우 'usa, 태블릿'에 대한 모든 결과가 그룹화되고 'usa, 모바일'에 대한 모든 결과는 그룹화되는 식으로 진행됩니다. 클릭수, 노출수 등의 계산 방법과 의미에 관한 자세한 내용은 검색 애널리틱스 보고서 문서를 참고하세요.

결과는 날짜별로 그룹화하지 않는 한 클릭수 기준으로 내림차순으로 정렬됩니다. 날짜별로 그룹화하는 경우 결과는 날짜 기준으로 오름차순으로 정렬됩니다 (최초 날짜 먼저, 최근 날짜 나중에). 두 행 사이에 연결이 있는 경우 정렬 순서는 임의적입니다.

반환될 수 있는 값의 최대 개수는 요청에서 rowLimit 속성을 참고하세요.

{
  "rows": [
    {
      "keys": [
        string
      ],
      "clicks": double,
      "impressions": double,
      "ctr": double,
      "position": double
    }
  ],
  "responseAggregationType": string
}
속성 이름 설명 참고
rows[] list 쿼리에 제공된 순서대로 키 값을 기준으로 그룹화된 행 목록입니다.
rows[].keys[] list 요청에 지정된 순서대로 요청의 측정기준에 따라 그룹화된, 해당 행의 측정기준 값 목록입니다.
rows[].clicks double 행의 클릭수입니다.
rows[].impressions double 행의 노출수입니다.
rows[].ctr double 행의 클릭률 (CTR)입니다. 값 범위는 0 이상 1.0 이하입니다.
rows[].position double 검색결과의 평균 게재순위입니다.
responseAggregationType string 결과가 집계된 방식 도움말 문서에서 사이트별 및 페이지별로 데이터가 다르게 계산되는 방식을 알아보세요.

허용되는 값은 다음과 같습니다.
  • "auto"
  • 'byPage': 페이지별로 결과가 집계되었습니다.
  • 'byProperty': 결과가 속성별로 집계되었습니다.

사용해 보기

아래의 API 탐색기를 사용하여 실시간 데이터를 대상으로 이 메소드를 호출하고 응답을 확인해 보세요.