Performance table tools
- get_discovery_query_performance: Get the search queries table, with per-query metrics and previous-period values.
- get_discovery_category_performance_table: Get the categories table, with per-category metrics.
- get_discovery_product_performance_table: Get the products table, with product titles, images, and metrics.
- get_discovery_brand_performance: Get the brands table, ranked by revenue.
- get_discovery_page_performance: Get the pages table, with entrances, exits, and bounce rates.
get_discovery_query_performance
Returns the search queries table from the Performance dashboard, one row per query. Each row carries visits, browse sessions, bounce rate, product page views, add-to-cart, conversions, revenue, RPV, AOV, and CVR, and each of those values has a prev_* counterpart from the comparison period. That pairing is what turns the table into a diagnosis: a query whose sessions held steady while prev_revenue fell tells a different story than one that simply lost traffic.
Sort, filter, and page through the table the way you would in the dashboard. Set sort and sort_direction to rank rows yourself, or set filter_preset to apply one of the dashboard's preset filters. This tool replaces three retired tools: use filter_preset of top_searched (or sort by browse_sessions descending) in place of get_discovery_top_queries, and filter_preset of no_revenue in place of get_discovery_no_revenue_queries. An explicit sort always wins over the preset's own default sort.
Request parameters
| Name | Type | Required? | Description |
|---|---|---|---|
account_name | str | null | No | The account name. Auto-selected when you have exactly one account. Use list_discovery_accounts to see available accounts. |
site_group_id | str | int | null | No | A site group ID (numeric) or site name. Defaults to -1 (account level). Use list_discovery_sites to discover sites. |
days | int | No | The rolling window in days, ending on the last available date. Defaults to 30. Ignored when you pass an explicit window. |
domain_key | str | null | No | The domain key for a specific site, for example 'your_domain_com'. Pass it with view_id. Omit both for account level. |
view_id | str | null | No | The view ID for a specific site, for example '472'. Pass it with domain_key. |
start_date | str | null | No | The start of a custom current period, as YYYYMMDD or YYYY-MM-DD. Pass it with end_date to override days. |
end_date | str | null | No | The end of a custom current period. Pass it with start_date. |
compare_start_date | str | null | No | The start of a custom comparison period. Pass it with compare_end_date to override the automatic comparison window. |
compare_end_date | str | null | No | The end of a custom comparison period. Pass it with compare_start_date. |
sort | str | null | No | The column to sort by, for example revenue, visits, or browse_sessions. Defaults to the report's own sort. |
sort_direction | str | No | The sort direction, asc or desc. Defaults to desc. |
search | str | null | No | A case-insensitive substring that filters the query column. |
filter_preset | str | null | No | A preset filter: no_revenue, no_search_results, or top_searched. |
page | int | No | The page number, 1-based. Defaults to 1. |
page_size | int | No | Rows per page. Defaults to 20. |
Response parameters
The tool returns a CompassResponse object with the following parameters:
| Parameter | Type | Description |
|---|---|---|
success | bool | Whether the request succeeded. |
data | dict | null | The requested page of table rows. |
error | str | null | Error message if the request failed. |
The data object has the following fields:
| Field | Type | Description |
|---|---|---|
rows | list[dict] | One record per query, holding every metric plus its prev_* previous-period value. |
total_rows | int | null | The total number of rows matching the filters, across all pages. |
page | int | The page number returned. |
page_size | int | The number of rows per page. |
meta | dict | Report metadata, including the report ID and the date ranges the backend used. |
get_discovery_category_performance_table
Returns the categories table, one row per category, with the same metric set and the same prev_* previous-period values as the queries table. Use it to find which category pages carry revenue and which ones take traffic without converting it.
Two preset filters cover the common questions. Pass filter_preset of top_categories for the categories with the most browse sessions, which replaces the retired get_discovery_top_categories tool. Pass lowest_converting for the worst conversion rates among categories with at least 100 sessions, which replaces the retired get_discovery_lowest_cvr_categories tool and applies the session floor that keeps low-traffic noise out of the ranking. For the account-wide totals behind this table, use get_discovery_category_performance.
Request parameters
| Name | Type | Required? | Description |
|---|---|---|---|
account_name | str | null | No | The account name. Auto-selected when you have exactly one account. Use list_discovery_accounts to see available accounts. |
site_group_id | str | int | null | No | A site group ID (numeric) or site name. Defaults to -1 (account level). Use list_discovery_sites to discover sites. |
days | int | No | The rolling window in days, ending on the last available date. Defaults to 30. Ignored when you pass an explicit window. |
domain_key | str | null | No | The domain key for a specific site, for example 'your_domain_com'. Pass it with view_id. Omit both for account level. |
view_id | str | null | No | The view ID for a specific site, for example '472'. Pass it with domain_key. |
start_date | str | null | No | The start of a custom current period, as YYYYMMDD or YYYY-MM-DD. Pass it with end_date to override days. |
end_date | str | null | No | The end of a custom current period. Pass it with start_date. |
compare_start_date | str | null | No | The start of a custom comparison period. Pass it with compare_end_date to override the automatic comparison window. |
compare_end_date | str | null | No | The end of a custom comparison period. Pass it with compare_start_date. |
sort | str | null | No | The column to sort by, for example revenue, browse_sessions, or conversion_rate. Defaults to the report's own sort. |
sort_direction | str | No | The sort direction, asc or desc. Defaults to desc. |
search | str | null | No | A case-insensitive substring that filters the category column. |
filter_preset | str | null | No | A preset filter: top_categories or lowest_converting. |
page | int | No | The page number, 1-based. Defaults to 1. |
page_size | int | No | Rows per page. Defaults to 20. |
Response parameters
The tool returns a CompassResponse object with the following parameters:
| Parameter | Type | Description |
|---|---|---|
success | bool | Whether the request succeeded. |
data | dict | null | The requested page of table rows. |
error | str | null | Error message if the request failed. |
The data object has the following fields:
| Field | Type | Description |
|---|---|---|
rows | list[dict] | One record per category, holding every metric plus its prev_* previous-period value. |
total_rows | int | null | The total number of rows matching the filters, across all pages. |
page | int | The page number returned. |
page_size | int | The number of rows per page. |
meta | dict | Report metadata, including the report ID and the date ranges the backend used. |
get_discovery_product_performance_table
Returns the products table, one row per product. Alongside visits, product page views, add-to-cart, conversions, revenue, RPV, AOV, ATC rate, and CVR, each row carries the product title, image URL, product URL, and brand, so the results are ready to show to a merchandiser without a second lookup. Every metric has its prev_* previous-period value.
Rows sort by revenue descending by default, which makes an unfiltered call the top-performing products view. That replaces the retired get_discovery_top_performing_products tool, and filter_preset of top_products narrows it further to products with revenue above zero. Take a product ID from a row into create_ranking_rule to boost it, or into get_discovery_product_performance for that product's own metrics.
Request parameters
| Name | Type | Required? | Description |
|---|---|---|---|
account_name | str | null | No | The account name. Auto-selected when you have exactly one account. Use list_discovery_accounts to see available accounts. |
site_group_id | str | int | null | No | A site group ID (numeric) or site name. Defaults to -1 (account level). Use list_discovery_sites to discover sites. |
days | int | No | The rolling window in days, ending on the last available date. Defaults to 30. Ignored when you pass an explicit window. |
domain_key | str | null | No | The domain key for a specific site, for example 'your_domain_com'. Pass it with view_id. Omit both for account level. |
view_id | str | null | No | The view ID for a specific site, for example '472'. Pass it with domain_key. |
start_date | str | null | No | The start of a custom current period, as YYYYMMDD or YYYY-MM-DD. Pass it with end_date to override days. |
end_date | str | null | No | The end of a custom current period. Pass it with start_date. |
compare_start_date | str | null | No | The start of a custom comparison period. Pass it with compare_end_date to override the automatic comparison window. |
compare_end_date | str | null | No | The end of a custom comparison period. Pass it with compare_start_date. |
sort | str | null | No | The column to sort by, for example revenue or visits. Defaults to revenue descending. |
sort_direction | str | No | The sort direction, asc or desc. Defaults to desc. |
search | str | null | No | A case-insensitive substring that filters the product title. |
filter_preset | str | null | No | A preset filter: top_products, which keeps products with revenue above zero and sorts by revenue descending. |
page | int | No | The page number, 1-based. Defaults to 1. |
page_size | int | No | Rows per page. Defaults to 20. |
Response parameters
The tool returns a CompassResponse object with the following parameters:
| Parameter | Type | Description |
|---|---|---|
success | bool | Whether the request succeeded. |
data | dict | null | The requested page of table rows. |
error | str | null | Error message if the request failed. |
The data object has the following fields:
| Field | Type | Description |
|---|---|---|
rows | list[dict] | One record per product, holding product_title, image_url, product_url, and brand, plus every metric and its prev_* value. |
total_rows | int | null | The total number of rows matching the filters, across all pages. |
page | int | The page number returned. |
page_size | int | The number of rows per page. |
meta | dict | Report metadata, including the report ID and the date ranges the backend used. |
get_discovery_brand_performance
Returns the brands table, one row per brand, with visits, product page views, add-to-cart, conversions, revenue, RPV, AOV, ATC rate, and CVR, each paired with its prev_* previous-period value. Rows sort by revenue descending by default.
Brand-level numbers are the ones vendor conversations run on, and they also point at attribute boosts worth trying. If a brand's revenue is climbing while its visits are flat, boosting it with attribute_boost_bury on a ranking rule is a reasonable next step. This table takes no filter_preset parameter, so shape the view with sort, sort_direction, and search.
Request parameters
| Name | Type | Required? | Description |
|---|---|---|---|
account_name | str | null | No | The account name. Auto-selected when you have exactly one account. Use list_discovery_accounts to see available accounts. |
site_group_id | str | int | null | No | A site group ID (numeric) or site name. Defaults to -1 (account level). Use list_discovery_sites to discover sites. |
days | int | No | The rolling window in days, ending on the last available date. Defaults to 30. Ignored when you pass an explicit window. |
domain_key | str | null | No | The domain key for a specific site, for example 'your_domain_com'. Pass it with view_id. Omit both for account level. |
view_id | str | null | No | The view ID for a specific site, for example '472'. Pass it with domain_key. |
start_date | str | null | No | The start of a custom current period, as YYYYMMDD or YYYY-MM-DD. Pass it with end_date to override days. |
end_date | str | null | No | The end of a custom current period. Pass it with start_date. |
compare_start_date | str | null | No | The start of a custom comparison period. Pass it with compare_end_date to override the automatic comparison window. |
compare_end_date | str | null | No | The end of a custom comparison period. Pass it with compare_start_date. |
sort | str | null | No | The column to sort by, for example revenue or visits. Defaults to revenue descending. |
sort_direction | str | No | The sort direction, asc or desc. Defaults to desc. |
search | str | null | No | A case-insensitive substring that filters the brand column. |
page | int | No | The page number, 1-based. Defaults to 1. |
page_size | int | No | Rows per page. Defaults to 20. |
Response parameters
The tool returns a CompassResponse object with the following parameters:
| Parameter | Type | Description |
|---|---|---|
success | bool | Whether the request succeeded. |
data | dict | null | The requested page of table rows. |
error | str | null | Error message if the request failed. |
The data object has the following fields:
| Field | Type | Description |
|---|---|---|
rows | list[dict] | One record per brand, holding every metric plus its prev_* previous-period value. |
total_rows | int | null | The total number of rows matching the filters, across all pages. |
page | int | The page number returned. |
page_size | int | The number of rows per page. |
meta | dict | Report metadata, including the report ID and the date ranges the backend used. |
get_discovery_page_performance
Returns the pages table, one row per page URL, with visits, entrances, exits, bounces, bounce rate, and exit rate, each paired with its prev_* previous-period value. Rows sort by visits descending by default. Use search to narrow the table to a URL pattern, such as a single category branch or a landing page campaign.
This is the only table tool that accepts device_type. Set it to desktop, mobile, or tablet to reproduce the dashboard's device tabs, which filters both the rows and total_rows. A page with a healthy desktop exit rate and a poor mobile one is usually a layout problem rather than a merchandising one.
Request parameters
| Name | Type | Required? | Description |
|---|---|---|---|
account_name | str | null | No | The account name. Auto-selected when you have exactly one account. Use list_discovery_accounts to see available accounts. |
site_group_id | str | int | null | No | A site group ID (numeric) or site name. Defaults to -1 (account level). Use list_discovery_sites to discover sites. |
days | int | No | The rolling window in days, ending on the last available date. Defaults to 30. Ignored when you pass an explicit window. |
domain_key | str | null | No | The domain key for a specific site, for example 'your_domain_com'. Pass it with view_id. Omit both for account level. |
view_id | str | null | No | The view ID for a specific site, for example '472'. Pass it with domain_key. |
start_date | str | null | No | The start of a custom current period, as YYYYMMDD or YYYY-MM-DD. Pass it with end_date to override days. |
end_date | str | null | No | The end of a custom current period. Pass it with start_date. |
compare_start_date | str | null | No | The start of a custom comparison period. Pass it with compare_end_date to override the automatic comparison window. |
compare_end_date | str | null | No | The end of a custom comparison period. Pass it with compare_start_date. |
sort | str | null | No | The column to sort by, for example visits or exit_rate. Defaults to visits descending. |
sort_direction | str | No | The sort direction, asc or desc. Defaults to desc. |
search | str | null | No | A case-insensitive substring that filters the page URL. |
device_type | str | null | No | Restrict the table to one device: desktop, mobile, or tablet. Applies to the rows and to total_rows. |
page | int | No | The page number, 1-based. Defaults to 1. |
page_size | int | No | Rows per page. Defaults to 20. |
Response parameters
The tool returns a CompassResponse object with the following parameters:
| Parameter | Type | Description |
|---|---|---|
success | bool | Whether the request succeeded. |
data | dict | null | The requested page of table rows. |
error | str | null | Error message if the request failed. |
The data object has the following fields:
| Field | Type | Description |
|---|---|---|
rows | list[dict] | One record per page URL, holding every metric plus its prev_* previous-period value. |
total_rows | int | null | The total number of rows matching the filters, across all pages. |
page | int | The page number returned. |
page_size | int | The number of rows per page. |
meta | dict | Report metadata, including the report ID and the date ranges the backend used. |
Updated about 1 hour ago

