- Label: Collections
- Description: Analytics for collection browsing and conversions.
- Default group key:
collection_handle
Metrics
- requests (requests)
- Number of collection browse requests.
- Example: COUNT_DISTINCT(requests)
- total_sales (USD)
- Gross sales from orders traced back to a collection browse, credited in full to that browse. Shown in the dashboard as Attributed Sales. Measures line-item price after line-item discounts, in the store’s own currency: before tax and shipping, and not reduced by refunds or cancellations.
- Example: SUM(total_sales)
- quantity_purchased (items)
- Number of items purchased from collection browsing.
- Example: SUM(quantity_purchased)
- view_sessions (sessions)
- Distinct sessions in which the collection page was viewed. Shown in the dashboard as Collection Viewing Sessions. Measured at collection level, so it is empty when broken down by product.
- cart_sessions (sessions)
- Sessions where items from a collection browse were added to cart.
- quantity_added_to_cart (items)
- Items added to cart from collection browsing.
- filtered_requests (requests)
- Distinct browse requests where the shopper applied at least one filter. Excludes the built-in collection scope, so a browse that only inherits the collection’s product set doesn’t count.
- Example: COUNT_DISTINCT(filtered_requests)
- filter_usage_rate (rate)
- Share of browse requests with filters applied. Computed as
filtered_requests / requests. - Example: SHOW filter_usage_rate
- Share of browse requests with filters applied. Computed as
- filtered_zero_results (requests)
- Filtered browse requests that returned no products. Use this to find filter combinations that dead-end the shopper.
- Example: COUNT_DISTINCT(filtered_zero_results)
- filtered_zero_result_rate (rate)
- Share of filtered browse requests with zero results. Computed as
filtered_zero_results / filtered_requests. - Example: SHOW filtered_zero_result_rate
- Share of filtered browse requests with zero results. Computed as
Dimensions
- collection_handle: The collection handle.
- collection_title: Resolved collection title.
- collection_id: Resolved collection ID.
- sort_order: The sort order used for the collection, identified by its handle (the same value the sort order list returns). Handles are translated to the stored ID before the query runs and back to the handle in the result. Both filtering and grouping speak handles (for example,
WHERE sort_order = 'best-sellers'). Only=and!=are supported.<,<=,>,>=are rejected because the handle only exists once rows come back. A handle with no matching sort order matches nothing rather than silently returning unfiltered results. Lookups are store-scoped. - sort_order_id: Deprecated. The sort order used for the collection, as an internal UUID. Nothing else in the product surfaces that UUID, so a value here cannot be matched back to a sort order. Use
sort_orderinstead. - rule_id: The merchandising rule applied.
- applied_filters: Serialized applied filters on the browse request.
- shopping_channel: The shopping channel (
weborapp). - locale: Storefront locale code active for the request (e.g.,
en,fr,pt-br). - currency: ISO 4217 currency code applied to the request (e.g.,
USD,EUR). - session_returning: Session type —
neworreturning. - customer_state: Whether the shopper is authenticated —
signed_inorguest. - customer_returning: Customer type —
neworreturning, based on prior order count. - b2b_company: Shopify B2B company location identifier for the signed-in company account.
- attribution_token: Token used to attribute downstream events/purchases.
- geo_country: Two-letter country code.
- geo_state: Up to three-letter province code.
- geo_city: City name as captured.
- marketing_source: UTM source.
- marketing_medium: UTM medium.
- marketing_campaign: UTM campaign.
- device: Device category.
- os: Operating system.
- experiment_id: Experiment identifier.
- experiment_group: Experiment group/variant.
- filter_property: The shopper-applied filter property (for example,
option.color,metafield.custom.material). Transform-injected filters and the built-in collection scope are excluded. - filter_operator: The operator used for the selection (
in,notIn,eq,neq,range,geo, etc.). - filter_value: The selected value. Populated for
in,notIn,eq, andneq;NULLfor range and geo operators, which emit one row per request without values. - filter_name: Display-only merchant label for the filter property, resolved from the attribute’s nickname. Group by
filter_propertyto populate this label.
Grouping by a filter dimension explodes each request into one row per selected value.
SUM(requests) and other request-denominated sums will overcount; use COUNT_DISTINCT(filtered_requests) to count distinct requests. Grouping or segmenting by a filter dimension also disables the filter_usage_rate and filtered_zero_result_rate ratios, because the denominator would be wrong once requests are exploded. Use COUNT_DISTINCT(filtered_requests) (or filtered_zero_results) directly instead.