결과 페이징

한 번에 전체 결과 집합을 다운로드하는 대신 GoogleAdsService.Search로 검색된 결과를 페이지로 나눌 수 있습니다. Google Ads API를 사용한 보고에 대한 개요는 보고 가이드를 참고하세요.

결과는 최대 10,000개의 행으로 구성된 페이지로 반환됩니다. 요청의 page_size이 설정되지 않은 경우 기본값은 10,000입니다. page_size이 10,000보다 큰 값으로 설정된 경우에도 10,000이 사용됩니다.

예를 들어 다음 쿼리를 살펴보겠습니다.

SELECT
  ad_group.id,
  ad_group_criterion.type,
  ad_group_criterion.criterion_id,
  ad_group_criterion.keyword.text,
  ad_group_criterion.keyword.match_type
FROM ad_group_criterion
WHERE ad_group_criterion.type = KEYWORD

계정에 키워드가 50,000개 포함되어 있으면 결과 집합에는 첫 번째 응답에 10,000개의 GoogleAdsRow 객체와 next_page_token이 포함됩니다.

다음 10,000개 행을 가져오려면 요청을 다시 보내되 요청의 page_token을 응답의 next_page_token로 업데이트합니다. 마지막 행 일괄 처리가 포함된 응답에는 next_page_token이 채워지지 않습니다.

Google 클라이언트 라이브러리는 페이지로 나누기를 자동으로 처리합니다. 응답의 행을 반복하기만 하면 됩니다. 현재 페이지의 모든 행이 반환되면 클라이언트 라이브러리는 전체 데이터 세트가 검색될 때까지 자동으로 새 페이지의 행을 가져옵니다. gRPC 대신 REST를 사용하는 경우 각 새 페이지에 대해 명시적으로 요청해야 합니다.

Google Ads API는 내부적으로 전체 데이터 세트를 캐시하므로 후속 요청이 초기 요청보다 빠릅니다.

캐시된 데이터를 활용하려면 후속 요청에서 쿼리가 정확히 동일해야 합니다. 특히 탐색기 액세스 수준기본 액세스 수준의 경우 요청이 할당량에 반영되지 않습니다. 쿼리가 다르고 동일한 페이지 토큰과 함께 전송되면 오류가 반환됩니다.