결과 페이징

GoogleAdsService.Search는 요청에 page_size를 지정하여 페이징을 지원합니다. 이렇게 하면 쿼리의 결과 집합이 여러 응답으로 분할되며 각 응답에는 최대 page_size개의 객체가 포함됩니다. page_size을 지정하지 않으면 최대 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개 있고 page_size1,000로 설정된 경우 결과 집합에 첫 번째 응답의 GoogleAdsRow 객체 1,000개가 next_page_token와 함께 포함됩니다.

다음 1,000개 행을 검색하려면 동일한 페이지 크기로 요청을 다시 전송하되 요청의 page_token를 응답의 next_page_token로 업데이트합니다. 후속 요청의 page_size 값은 매번 다를 수 있습니다. 행의 마지막 배치를 포함하는 응답에는 next_page_token가 채워지지 않습니다.

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

Google Ads API는 전체 데이터 세트를 내부적으로 캐시하므로 후속 요청이 초기 요청보다 빠릅니다. 사용 사례에 따라 page_size를 1에서 10,000 사이의 값으로 설정할 수 있습니다. 일반적으로 전반적인 성능을 높이려면 더 적은 왕복에 더 큰 page_size를 사용합니다.

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