Skip to main content
  • Label: Search (Similar)
  • Description: Similar item search analytics.
  • Default group key: product

Metrics

  • requests (requests)
    • Number of similar search requests.
    • Example: COUNT_DISTINCT(requests)
  • results_count (results)
    • Results returned per search request.
    • Example: AVG(results_count)
  • total_sales (USD)
    • Gross sales from orders traced back to a similar-products search, credited in full to that search. 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 similar search traffic.
    • Example: SUM(quantity_purchased)
  • view_sessions (sessions)
    • Distinct sessions in which a product was viewed from similar-products results. Counts sessions, not views. Shown in the dashboard as Viewing Sessions.
  • cart_sessions (sessions)
    • Sessions where a product from similar search results was added to cart.
  • quantity_added_to_cart (items)
    • Items added to cart from similar search results.
  • filtered_requests (requests)
    • Distinct similar-products requests where the shopper applied at least one filter. Filters injected by a request transform do not count.
    • Example: COUNT_DISTINCT(filtered_requests)
  • filter_usage_rate (rate)
    • Share of similar-products requests with filters applied. Computed as filtered_requests / requests.
    • Example: SHOW filter_usage_rate
  • filtered_zero_results (requests)
    • Filtered similar-products requests that returned no products.
    • Example: COUNT_DISTINCT(filtered_zero_results)
  • filtered_zero_result_rate (rate)
    • Share of filtered similar-products requests with zero results. Computed as filtered_zero_results / filtered_requests.
    • Example: SHOW filtered_zero_result_rate
  • ctr (rate)
    • Click-through rate: share of similar search requests with at least one product click.
    • Example: SHOW ctr
  • atc_rate (rate)
    • Add-to-cart rate: share of similar search requests with at least one add to cart.
    • Example: SHOW atc_rate
  • cvr (rate)
    • Conversion rate: share of clicked similar search requests that produced an order.
    • Example: SHOW cvr
  • purchase_rate (rate)
    • Share of similar search requests that produced an order.
    • Example: SHOW purchase_rate
  • aov (USD)
    • Average order value: blended revenue divided by blended order credit.
    • Example: SHOW aov
  • rpi (USD)
    • Revenue per impression: blended revenue divided by engagement-covered similar search requests.
    • Example: SHOW rpi
  • hover_rate (rate)
    • Product hovers divided by product impressions.
    • Example: SHOW hover_rate
  • touch_rate (rate)
    • Product touches divided by product impressions.
    • Example: SHOW touch_rate
Rates are computed over requests on channels that emit engagement events. Channels that record impressions but never emit click, cart, or purchase events (such as the mobile app) are excluded from the denominator, so each rate is the share observed on instrumented traffic. Every rate’s numerator is a subset of its denominator, so a rate can never exceed 100%. A rate returns NULL (an empty value) when its denominator is zero (for example, cvr on a row with requests but no clicks), rather than 0 or 100%.

Dimensions

  • product: Product ID used as the similar search anchor. The older name product_id still works but is deprecated in favor of product.
  • query_type: Type of search query.
  • num_results: Number of results returned.
  • shopping_channel: The shopping channel (web or app).
  • 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 — new or returning.
  • customer_state: Whether the shopper is authenticated — signed_in or guest.
  • customer_returning: Customer type — new or returning, based on prior order count.
  • b2b_company: Shopify B2B company location identifier for the signed-in company account.
  • billable: Whether this request is counted for billing.
  • attribution_token: Token used to attribute downstream events/purchases.
  • experiment_id: Experiment identifier.
  • experiment_group: Experiment group/variant.
  • device: Device category.
  • os: Operating system.
  • 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.
  • filter_property: The shopper-applied filter property (for example, option.color, metafield.custom.material). Transform-injected filters 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, and neq; NULL for 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_property to 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. Use COUNT_DISTINCT(filtered_requests) (or filtered_zero_results) directly instead.

Examples

Similar search requests by product (last 7 days)
Similar search revenue by country (this month)

Next steps