Skip to main content
  • Label: Blocks
  • Description: Analytics for recommendation block requests and conversions.
  • Default group key: block_id
Use the blocks dataset to measure how your recommendation blocks perform, including how often they are requested, how many clicks and views they generate, and the sales they drive.

Metrics

  • requests (requests)
    • Number of block recommendation requests.
    • Example: COUNT_DISTINCT(requests)
  • total_sales (USD)
    • Gross sales from orders traced back to a recommendation block, credited in full to that block. 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 block recommendation traffic.
    • Example: SUM(quantity_purchased)
  • click_sessions (sessions)
    • Sessions where a product from block recommendations was clicked.
    • Example: COUNT_DISTINCT(click_sessions)
  • view_sessions (sessions)
    • Distinct sessions in which a product was viewed from block recommendations. Counts sessions, not views. Shown in the dashboard as Viewing Sessions.
    • Example: COUNT_DISTINCT(view_sessions)
  • cart_sessions (sessions)
    • Sessions where a product from block recommendations was added to cart.
    • Example: COUNT_DISTINCT(cart_sessions)
  • quantity_added_to_cart (items)
    • Items added to cart from block recommendations.
    • Example: SUM(quantity_added_to_cart)
  • avg_click_depth (position)
    • Average deepest result position clicked in each tracked block response.
    • Example: SHOW avg_click_depth
  • max_click_depth (position)
    • Deepest result position clicked in a tracked block response during the period.
    • Example: SHOW max_click_depth
  • click_depth_requests (requests)
    • Block responses with a tracked click position. This is the sample count for click-depth metrics, not a count of sessions or all requests.
    • Example: SHOW click_depth_requests
  • avg_view_depth (position)
    • Average deepest result position viewed in each tracked block response.
    • Example: SHOW avg_view_depth
  • max_view_depth (position)
    • Deepest result position viewed in a tracked block response during the period.
    • Example: SHOW max_view_depth
  • view_depth_requests (requests)
    • Block responses with a tracked view position. This is the sample count for view-depth metrics, not a count of sessions or all requests.
    • Example: SHOW view_depth_requests
  • ctr (rate)
    • Click-through rate: share of block requests with at least one product click.
    • Example: SHOW ctr
  • atc_rate (rate)
    • Add-to-cart rate: share of block requests with at least one add to cart.
    • Example: SHOW atc_rate
  • cvr (rate)
    • Conversion rate: share of clicked block requests that produced an order.
    • Example: SHOW cvr
  • purchase_rate (rate)
    • Share of block 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 block 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
Result depth uses the deepest tracked product or content click or impression for each response. Positions include pagination offsets. Only responses with a valid tracked position contribute; missing tracking is NULL, not zero. App-channel responses are excluded. These metrics measure result position, not page scrolling or depth across a shopper’s whole visit.
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

  • block_id: The block identifier.
  • block_title: Title of the block at request time.
  • anchor_type: Anchor type of the block (product, collection, cart, none).
  • strategy_type: Strategy type used (interaction, similar_products, manual).
  • strategy_key: Strategy key (e.g., recipe name for interaction strategy).
  • 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.
  • attribution_token: Token used to attribute downstream events/purchases back to this block request.
  • device_type: Device category.
  • 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.

Examples

Block requests by block (last 7 days)
Revenue attributed to blocks by strategy (this month)
Click-through and sales for a specific anchor type
Block performance by country (past 30 days)

Next steps