Paginate query results

In order to handle result sets containing a large number of rows, Merchant Center Query Language supports pagination. Two parameters are available to control pagination in the reports.search request body : page_size and page_token , in addition to one output field in the response body : next_page_token .

The page_size parameter specifies the maximum number of rows to retrieve in a single request. If unspecified, it is automatically set to the maximum page size of 1000 rows.

The page_token parameter specifies the token of the page to return. If unspecified, the first page is returned. To retrieve a subsequent page, the value received as the next_page_token from the previous reports.search call should be provided as a page_token . When a page_token is provided, all other parameters in the call should match the previous call that returned the page_token to avoid unexpected behavior.

Example:

  SELECT 
  
 segments 
 . 
 offer_id 
 , 
  
 metrics 
 . 
 impressions 
 , 
  
 metrics 
 . 
 clicks 
 , 
  
 metrics 
 . 
 ctr 
 FROM 
  
 MerchantPerformanceView 
 WHERE 
  
 segments 
 . 
 date 
  
 BETWEEN 
  
 '2021-12-01' 
  
 AND 
  
 '2021-12-31' 
 

For this query, assume the account contains 100,000 offer_ids and the page_size is set to 200. The result set will then contain 200 ReportRow objects in the first response, along with a next_page_token .

To retrieve the next 200 rows, send the request again with the same page size, but update the request's page_token to the previous response's next_page_token .

Here is a response body example (the first five results plus the next_page_token ):

  { 
  
 "results" 
 : 
  
 [ 
  
 { 
  
 "segments" 
 : 
  
 { 
  
 "offerId" 
 : 
  
 "12345" 
  
 }, 
  
 "metrics" 
 : 
  
 { 
  
 "clicks" 
 : 
  
 "0" 
 , 
  
 "impressions" 
 : 
  
 "59" 
 , 
  
 "ctr" 
 : 
  
 0 
  
 } 
  
 }, 
  
 { 
  
 "segments" 
 : 
  
 { 
  
 "offerId" 
 : 
  
 "12346" 
  
 }, 
  
 "metrics" 
 : 
  
 { 
  
 "clicks" 
 : 
  
 "9625" 
 , 
  
 "impressions" 
 : 
  
 "276695" 
 , 
  
 "ctr" 
 : 
  
 0.034785594246372356 
  
 } 
  
 }, 
  
 { 
  
 "segments" 
 : 
  
 { 
  
 "offerId" 
 : 
  
 "12347" 
  
 }, 
  
 "metrics" 
 : 
  
 { 
  
 "clicks" 
 : 
  
 "148" 
 , 
  
 "impressions" 
 : 
  
 "22045" 
 , 
  
 "ctr" 
 : 
  
 0.0067135404853708325 
  
 } 
  
 }, 
  
 { 
  
 "segments" 
 : 
  
 { 
  
 "offerId" 
 : 
  
 "12348" 
  
 }, 
  
 "metrics" 
 : 
  
 { 
  
 "clicks" 
 : 
  
 "11" 
 , 
  
 "impressions" 
 : 
  
 "1100" 
 , 
  
 "ctr" 
 : 
  
 0.01 
  
 } 
  
 }, 
  
 { 
  
 "segments" 
 : 
  
 { 
  
 "offerId" 
 : 
  
 "12349" 
  
 }, 
  
 "metrics" 
 : 
  
 { 
  
 "clicks" 
 : 
  
 "569" 
 , 
  
 "impressions" 
 : 
  
 "62977" 
 , 
  
 "ctr" 
 : 
  
 0.0090350445400701838 
  
 } 
  
 }, 
  
 ... 
  
 ], 
  
 "nextPageToken" 
 : 
  
 "CMgB" 
 } 
 
Create a Mobile Website
View Site in Mobile | Classic
Share by: