Skip to main content
Product-level analytics table for order line revenue, costs, and profitability.
  • Grain: One row per sm_order_line_key.
  • Date field: order_processed_at_local_datetime.
  • Filters to start with: is_order_sm_valid = TRUE (exclude test/cancelled orders); sm_channel for segmentation.
  • Joins: obt_orders via sm_order_key (many:1); dim_product_variants via sm_product_variant_key (many:1).

When to use this table

Use obt_order_lines for product questions: best sellers, units sold, revenue by SKU, product type, or vendor, and what customers buy together. Each row is one line on one order, so summing order_line_net_revenue across a store gives the same total as order_net_revenue in obt_orders. Use obt_orders when the question is about whole orders. Always filter is_order_sm_valid = TRUE unless you deliberately want cancelled, test, or excluded orders.

Example query

Top products by net revenue over the last 90 days:

More query examples

Columns

When reporting-currency conversion is enabled, standard order-line money fields such as order_line_net_revenue and order_line_total_revenue use the workspace reporting currency. Use the order_line_original_* fields to reconcile against the source. See Reporting Currency.