Sales
Line-item sales — gross/net/total sales, discounts, returns, taxes and quantities by product, channel and customer.
190 fields — 136 dimensions, 54 metrics. Date clauses (SINCE, UNTIL, DURING) use createdAt.
The live, authoritative list is always GET /v1/datasets — this page is regenerated from the same catalog, but the endpoint reflects exactly what is deployed.
Query it
FROM sales
SHOW orders
GROUP BY product_title
SINCE -30d
See Querying with SoloQL for the language.
This dataset is queryable through SoloQL; it has no record-retrieval endpoint.
Fields
| Field | Type | Role | Description |
|---|---|---|---|
product_title | string | dimension | Display name of the product that your customers see — the CURRENT catalog title. For the title as it was on the order, use product_title_at_time_of_sale. |
variant_title | string | dimension | Display name of the product variant — the CURRENT catalog variant title. For the title as it was on the order, use product_variant_title_at_time_of_sale. |
sku | string | dimension | SKU of the product variant — the CURRENT catalog SKU. For the SKU as it was on the order, use product_variant_sku_at_time_of_sale. |
vendor | string | dimension | Vendor of the product — the CURRENT catalog vendor. For the vendor as it was on the order, use product_vendor_at_time_of_sale. |
product_type | string | dimension | Type (category) that you've assigned to the product. |
product_title_at_time_of_sale | string | dimension | Display name of the product at the time of its sale. |
product_variant_title_at_time_of_sale | string | dimension | Display name of the product variant at the time of its sale. |
product_variant_sku_at_time_of_sale | string | dimension | SKU of the product variant at the time of its sale. |
product_vendor_at_time_of_sale | string | dimension | Vendor of the product at the time of its sale. |
product_type_at_time_of_sale | string | dimension | Type (category) assigned to the product at the time of its sale. |
sales_channel | string | dimension | Channel the sale was made on. |
order_risk_level | string | dimension | Shopify's fraud risk level for the order (None/Low/Medium/High). |
order_name | string | dimension | Name of the order the sale belongs to, e.g. #1001. |
order_payment_status | string | dimension | Payment status of an order, such as Pending or Paid. |
customer_name | string | dimension | Name of the customer, surname first, so lists sort by family name. To match Shopify's reports exactly use Customer name (customer_display_name) instead. |
customer_display_name | string | dimension | Customer's name as Shopify shows it. Falls back to the customer's email, then phone, when they have no name on file. Blank on orders placed without a customer. |
new_or_returning_customer | string | dimension | Label specifying whether an order is from a new or returning customer. |
billing_country | string | dimension | Billing country of the order. |
shipping_country | string | dimension | Shipping country of the order. |
currency | string | dimension | Currency of the STORE, not of the order. To group by what the customer actually paid in, use Checkout currency. |
order_checkout_currency | string | dimension | Currency the customer checked out in. Blank on older orders until the store is re-indexed, so filter to non-blank when reporting by currency. |
reason | string | dimension | Why the sale line exists — ORDER for the original sale, ORDER_EDIT for order-edit additions, RETURN or REFUND for reversals. |
return_reason | string | dimension | Reason the item was returned. Set on reversal rows only — order rows have no reason. Requires the read_returns scope; blank on stores that have not granted it. When one item is returned twice for different reasons, the earliest reason is used. |
order_or_sales_reversal | string | dimension | Whether the row is an order or a sales reversal — a return, cancellation or order edit. |
line_type | string | dimension | Line type, e.g. Product, Shipping, Sale adjustment, Gift card. |
created_at | date | dimension | When the sale occurred. |
orders | number | metric | Distinct orders in the group — order/product line items only, matching the classic reports. Sums across stores. |
customers | number | metric | Distinct customers in the group — order/product line items only, matching the classic reports. Sums across stores. |
returning_customers | number | metric | Distinct customers in the group who had ordered before. Sums across stores. |
returning_customer_rate | percent | metric | Percentage of returning customers relative to all customers who placed orders. |
high_risk_orders | number | metric | Distinct orders marked high risk by Shopify's fraud analysis. |
high_fraud_risk_rate | percent | metric | Percentage of orders marked high risk by Shopify's fraud analysis. |
new_customers | number | metric | Number of new customers who placed an order. Sums across stores. |
orders_first_time | number | metric | Number of orders from first-time customers. Sums across stores. |
orders_returning | number | metric | Number of orders from customers who've bought from you before. Sums across stores. |
total_sales_first_time | money | metric | Amount new customers spent in your store (subtotal, discounts, taxes, fees, shipping, sales reversals). |
total_sales_returning | money | metric | Amount returning customers spent in your store (subtotal, discounts, taxes, fees, shipping, sales reversals). |
customers_with_limited_history | number | metric | Customers counted as returning because their earlier orders predate the history we hold. Zero when your stores are fully synced. |
amount_spent_per_customer | money | metric | Average cumulative amount customers have spent at your store. |
number_of_orders_per_customer | number | metric | Average cumulative number of orders customers have placed at your store. |
sales_count | number | metric | Number of sale line items in the group (document count — value_count on createdAt). Sums across stores. |
gross_sales | money | metric | Line item price times quantity, before discounts, returns and taxes. |
net_sales | money | metric | Gross sales minus discounts and returns. |
total_sales | money | metric | Net sales plus taxes and shipping. |
average_order_value | money | metric | Average value of orders placed, excluding any post-order adjustments. |
discounts | money | metric | Total discounts applied to the line item. |
sales_reversals | money | metric | Value of items removed from orders — returns, cancellations and order edits — before discounts and taxes. |
taxes | money | metric | Total tax on the line item. |
shipping_charges | money | metric | Amount customers spent on shipping. |
shipping_charge_discounts | money | metric | Discounts applied to shipping charges. |
shipping_charge_taxes | money | metric | Tax charged on shipping. |
total_shipping_charges | money | metric | Shipping charges less shipping discounts, plus shipping tax. |
duties | money | metric | Duties and import taxes charged on the line item. |
additional_fees | money | metric | Additional fees charged on the line item. |
ordered_quantity | number | metric | Units ordered. |
returned_quantity | number | metric | Units returned. |
net_quantity | number | metric | Ordered units minus returned units. |
quantity_ordered | number | metric | Items ordered, excluding reversed quantity. |
quantity_ordered_per_order | number | metric | Average items ordered, excluding reversed quantity. |
reversed_quantity | number | metric | Items removed from orders — returns, cancellations and order edits — shown negative. |
reversed_quantity_rate | percent | metric | Reversed items relative to items ordered. |
total_sales_reversals | money | metric | Total value reversed — returns, refunds and cancellations including taxes and shipping, shown negative. |
gross_sales_reversals | money | metric | Value of reversed items before their discounts — returns, refunds and cancellations, shown negative. Blank until the store is re-indexed. |
discount_reversals | money | metric | Discounts returned when items were reversed — positive, because reversing a discounted line gives the discount back. Blank until the store is re-indexed. |
net_sales_reversals | money | metric | Value of reversed items after their discounts — returns, refunds and cancellations, shown negative. |
shipping_reversals | money | metric | Shipping charges returned on reversals, shown negative. |
tax_reversals | money | metric | Taxes returned on reversals, shown negative. |
billing_address_id | string | dimension | Shopify identifier for the billing address. |
billing_address_1 | string | dimension | First line of the billing address. |
billing_address_2 | string | dimension | Second line of the billing address. |
billing_city | string | dimension | City of the billing address. |
billing_company | string | dimension | Company of the billing address. |
billing_first_name | string | dimension | First name on the billing address. |
billing_last_name | string | dimension | Last name on the billing address. |
billing_name | string | dimension | Full name on the billing address. |
billing_phone | string | dimension | Phone number on the billing address. |
billing_region | string | dimension | State or province of the billing address (e.g., California, Ontario). |
billing_region_code | string | dimension | State or province code of the billing address. |
billing_postal_code | string | dimension | Postal code of the billing address. |
billing_country_code | string | dimension | Country code of the billing address. |
shipping_address_id | string | dimension | Shopify identifier for the shipping address. |
shipping_address_1 | string | dimension | First line of the shipping address. |
shipping_address_2 | string | dimension | Second line of the shipping address. |
shipping_city | string | dimension | City of the shipping address. |
shipping_company | string | dimension | Company of the shipping address. |
shipping_first_name | string | dimension | First name on the shipping address. |
shipping_last_name | string | dimension | Last name on the shipping address. |
shipping_name | string | dimension | Full name on the shipping address. |
shipping_phone | string | dimension | Phone number on the shipping address. |
shipping_region | string | dimension | State or province of the shipping address (e.g., California, Ontario). |
shipping_region_code | string | dimension | State or province code of the shipping address. |
shipping_postal_code | string | dimension | Postal code of the shipping address. |
shipping_country_code | string | dimension | Country code of the shipping address. |
pos_location_id | string | dimension | Shopify identifier for your physical retail location. |
pos_location_name | string | dimension | Name of your physical retail location. |
customer_email | string | dimension | Email address of the customer. |
customer_first_name | string | dimension | First name of the customer. |
customer_last_name | string | dimension | Last name of the customer. |
customer_phone | string | dimension | Phone number of the customer. |
customer_note | string | dimension | Note on the customer. |
customer_tags | string | dimension | Set of tags associated with the customer. |
customer_account_status | string | dimension | Status of the customer's account. |
customer_currency | string | dimension | Despite the name this is the STORE's currency, recorded on the customer row. For what the customer actually paid in, use Checkout currency. |
customer_accepts_marketing | boolean | dimension | Whether the customer accepts marketing. |
tax_exempt | boolean | dimension | Whether the customer is tax exempt. |
verified_email | boolean | dimension | Whether the customer's email is verified. |
customer_email_subscription_status | string | dimension | Email marketing subscription status of the customer. |
email_opt_in_level | string | dimension | Email marketing opt-in level of the customer. |
email_consent_updated_at | date | dimension | When the customer's email marketing consent last changed. |
customer_sms_subscription_status | string | dimension | The customer's SMS marketing subscription status. |
sms_opt_in_level | string | dimension | SMS marketing opt-in level of the customer. |
sms_consent_updated_at | date | dimension | When the customer's SMS marketing consent last changed. |
sms_consent_collected_from | string | dimension | Where the customer's SMS marketing consent was collected. |
customer_first_order_date | date | dimension | Date of the customer's first order. |
customer_first_order_id | string | dimension | Shopify identifier for the customer's first order. |
customer_first_order_name | string | dimension | Name of the customer's first order. |
customer_last_order_date | date | dimension | Date of the customer's last order. |
customer_last_order_id | string | dimension | Shopify identifier for the customer's last order. |
customer_last_order_name | string | dimension | Name of the customer's last order. |
customer_number_of_orders | number | dimension | Number of orders the customer has placed across all time. |
customer_amount_spent | money | dimension | Amount the customer has spent across all time. |
order_utm_source | string | dimension | UTM source of the campaign associated with the order. |
order_utm_medium | string | dimension | UTM medium of the campaign associated with the order. |
order_utm_campaign | string | dimension | UTM name of the campaign associated with the order. |
order_utm_content | string | dimension | UTM content of the campaign associated with the order. |
order_utm_term | string | dimension | UTM term of the campaign associated with the order. |
marketing_channel | string | dimension | Marketing channel or platform that drove the order. |
order_marketing_event_type | string | dimension | Type of marketing activity that led to the order. |
order_referrer_domain | string | dimension | Domain of the site that led to the order. |
order_referrer_name | string | dimension | Name of the site that led to the order. |
order_referrer_source_class | string | dimension | Traffic class of the referrer — search, social, email, ai, referral, direct. Grouped our way rather than Shopify's, whose own report classifies the same referrer inconsistently. Use order_referrer_source for the raw value. |
order_referrer_name_normalized | string | dimension | Name of the site that led to the order, folded to Shopify's grouping — subdomains merged, scheme/path/TLD stripped, lowercased. Use order_referrer_name for the raw value. |
order_referrer_path | string | dimension | Path of the site that led to the order. |
order_referrer_source | string | dimension | Referrer type that led to the order (organic, email, etc.). |
order_referrer_url | string | dimension | External page that referred a customer and led to the order. |
first_visit_landing_page | string | dimension | Landing page of the customer's first visit before the order. |
last_visit_landing_page | string | dimension | Landing page of the visit that resulted in the order. |
user_agent | string | dimension | Browser user agent of the converting session. |
days_to_conversion | number | dimension | Days from the customer's first visit to the order. |
total_sessions | number | dimension | Number of sessions before the order was placed. |
is_b2b_order | boolean | dimension | Label for whether the order is a B2B order. |
company_id | string | dimension | Shopify identifier for the company. |
company_name | string | dimension | Name of the company that placed the order. |
company_location_id | string | dimension | Shopify identifier for the company location. |
company_location_name | string | dimension | The company location or branch that placed the order. |
order_id | string | dimension | Shopify identifier for the order. |
is_canceled_order | boolean | dimension | Label indicating whether the order is canceled. |
cancelled_at | date | dimension | When the order was cancelled. |
order_cancellation_reason | string | dimension | Reason why the order was cancelled. |
delivery_method | string | dimension | Delivery method of the order — the shipping line's title, as the merchant named it. |
discount_name | string | dimension | Promo code entered by the customer, or the name of an automatic or manual discount. Set on product lines only. Blank means either no discount or an order not re-fetched since 2026-08-08, when we began collecting it — read blank as unknown, not as zero. A backfill recovers the name (it re-fetches from Shopify); a plain re-index does not. A line with several discounts reports the first applied. |
discount_class | string | dimension | What the discount applied to: the whole order, specific products, or nothing in particular for a manual discount. Set on product lines only, with the same coverage caveat as discount name — read blank as unknown, not as zero. |
discount_method | string | dimension | How the discount was applied. Set on product lines only. Blank means either no discount or an order synced before we began collecting this — the two cannot be told apart, so read blank as unknown, not as zero. A line with several discounts reports the first applied. |
discount_type | string | dimension | Whether the discount took a percentage off or a fixed amount off. Set on product lines only. A line with several discounts reports the first applied. |
order_email | string | dimension | Email address on the order. |
order_fulfillment_status | string | dimension | Order's fulfillment status, such as Fulfilled. |
order_number | string | dimension | Number of the order. |
number_of_items | number | dimension | Number of items on the order. |
order_status | string | dimension | Status of the order (Open, Archived, Cancelled). |
gateway | string | dimension | Payment gateway of the order. |
order_note | string | dimension | Note on the order. |
order_tag | string | dimension | Tag associated with the order. |
tracking_number | string | dimension | Shipment tracking number on the order. |
sale_item_type | string | dimension | Our derived line classification — product, shipping, gift card, duty, additional fee. |
sale_id | string | dimension | Shopify identifier for the sale line. |
line_item_id | string | dimension | Shopify identifier for the line item. |
publication_id | string | dimension | Shopify identifier for the sales channel publication. |
publication_name | string | dimension | Name of the sales channel publication. |
barcode | string | dimension | Barcode of the variant sold. |
product_tag | string | dimension | Tag associated with the product. |
product_id | string | dimension | Shopify identifier for the product, which may have multiple variants. |
product_variant_id | string | dimension | Shopify identifier for the product variant. |
product_variant_price | money | dimension | Price of the product variant. |
line_item_price | money | metric | Sum of line item unit prices. |
line_item_discounts | money | metric | All discounts applied to this line, including its share of any whole-order discount. For the order-level portion on its own, use Order-level discounts. |
applied_discounts | money | metric | Discount money taken off the sale, shown negative the way Shopify shows it. Includes each line's share of any whole-order discount. |
discounted_orders | number | metric | Distinct orders carrying a discount. Blank-name rows are excluded, so this reads zero for windows not yet backfilled — a backfill re-fetches the names from Shopify and fills them in. |
order_level_discounts | money | metric | The part of a line's discount that came from a discount on the whole order, rather than one aimed at specific products. Blank until the store is re-indexed. |
line_item_discount_price | money | metric | Line item price after discounts. |
line_item_tax | money | metric | Tax on the line item. |
line_item_tax_rate | percent | dimension | Tax rate applied to the line item. |
line_item_refunds | money | metric | Refunded amount on the line item. |
gift_card_gross_sales | money | metric | Gift card sales revenue, before discounts and sales reversals are factored in. |
gift_card_net_sales | money | metric | Gift card sales revenue, discounts and sales reversals factored in. |
gift_card_discounts | money | metric | Value of discounts on gift card sales. |
gift_card_outstanding_sales | money | metric | Outstanding (unredeemed) gift card sales value. |
is_sale_adjustment | boolean | dimension | Label specifying whether the sale was an adjustment. |
line_item_unit_grams | number | dimension | Weight in grams of one unit of the line item. |
line_item_total_grams | number | metric | Total weight in grams of the line item. |
store | string | dimension | The shop the record belongs to. Filter with WHERE store IN ('Shop name') or GROUP BY store. |