profitability
The profitability schema captures the pieces that make up profit on an order, measured before any returns are settled. Use it to break down the revenue, costs, shipping, duties, tax, and adjustments behind each order's economics.
Anchor to Use casesUse cases
- Profit components: Compare
average_revenue_before_returns,average_store_costs_before_returns, andaverage_profit_at_delivery_before_returnsby month to see how cost pressure moves your margin. - Shipping costs: Show
average_customer_shipping_chargesbesideaverage_store_shipping_coststo compare customer-paid and store-paid shipping amounts. - Order link: Use
order_idto align profitability averages with order-level sales or fulfillment views.
Anchor to MetricsMetrics
Counts and calculations that let you track key business indicators. Metrics show up as the columns when queried.
Metrics you can use when querying FROM profitability.
- Anchor to average_cost_of_goods_soldaverage_
cost_ of_ goods_ soldaverage_ cost_ of_ goods_ sold MONEYMONEY The average product cost tied to each order, in your store's currency.
- Anchor to average_customer_duties_and_import_taxesaverage_
customer_ duties_ and_ import_ taxesaverage_ customer_ duties_ and_ import_ taxes MONEYMONEY Average duties and import taxes customers pay per order
- Anchor to average_customer_price_adjustmentsaverage_
customer_ price_ adjustmentsaverage_ customer_ price_ adjustments MONEYMONEY Average price adjustments that affect what customers pay
- Anchor to average_customer_shipping_chargesaverage_
customer_ shipping_ chargesaverage_ customer_ shipping_ charges MONEYMONEY Average shipping costs customers pay per order
- Anchor to average_duty_and_import_tax_adjustment_costsaverage_
duty_ and_ import_ tax_ adjustment_ costsaverage_ duty_ and_ import_ tax_ adjustment_ costs MONEYMONEY Average amount you pay per order on duty and import tax adjustments
- Anchor to average_profit_at_delivery_before_returnsaverage_
profit_ at_ delivery_ before_ returnsaverage_ profit_ at_ delivery_ before_ returns MONEYMONEY For orders with product sales, this per-order profit estimate is measured at delivery and excludes marketing costs, packaging costs, and returns, in your store's currency.
- Anchor to average_revenue_before_returnsaverage_
revenue_ before_ returnsaverage_ revenue_ before_ returns MONEYMONEY The average revenue per order before returns, including product sales after discounts, customer shipping charges, and duties, and excluding sales tax, in your store's currency.
- Anchor to average_sale_after_discountsaverage_
sale_ after_ discountsaverage_ sale_ after_ discounts MONEYMONEY Amount customers have paid on products before returns, averaged across orders
Average sale after discounts = gross sales - returns- Anchor to average_sales_taxesaverage_
sales_ taxesaverage_ sales_ taxes MONEYMONEY Average taxes you collect per order
- Anchor to average_shipping_label_adjustment_costsaverage_
shipping_ label_ adjustment_ costsaverage_ shipping_ label_ adjustment_ costs MONEYMONEY Average amount you pay per order on shipping label adjustments
- Anchor to average_store_costs_before_returnsaverage_
store_ costs_ before_ returnsaverage_ store_ costs_ before_ returns MONEYMONEY Shows your store's per-order fulfillment cost for orders with product sales, before return activity is reflected, in your store's currency.
- Anchor to average_store_duties_and_import_taxesaverage_
store_ duties_ and_ import_ taxesaverage_ store_ duties_ and_ import_ taxes MONEYMONEY Average duties and import taxes you pay per order
- Anchor to average_store_shipping_costsaverage_
store_ shipping_ costsaverage_ store_ shipping_ costs MONEYMONEY The average shipping cost your store pays per order, including shipping label costs and shipping label adjustments, in your store's currency.
MONEY
A monetary amount representing currency values such as prices, revenue, costs, and discounts.
Anchor to DimensionsDimensions
Attributes of your data that let you look more granularly at aspects of the data. Group and filter by dimensions to shape the rows your query returns.
Dimensions you can use when querying FROM profitability.
- Anchor to daydaydayDAY_TIMESTAMPDAY_TIMESTAMP
The day the order's sale happened.
- Anchor to day_of_weekday_
of_ weekday_ of_ week DAY_OF_WEEKDAY_OF_WEEK The day of week the order's sale happened, with values Monday through Sunday.
- Anchor to hourhourhourHOUR_TIMESTAMPHOUR_TIMESTAMP
The hour the order's sale happened.
- Anchor to hour_of_dayhour_
of_ dayhour_ of_ day HOUR_OF_DAYHOUR_OF_DAY The hour of day the order's sale happened, with values 0 through 23.
- Anchor to landed_cost_adjustment_typelanded_
cost_ adjustment_ typelanded_ cost_ adjustment_ type STRINGSTRING Type of landed cost adjustment, either duty or tax
- Anchor to minuteminuteminuteMINUTE_TIMESTAMPMINUTE_TIMESTAMP
The minute the order's sale happened.
- Anchor to monthmonthmonthMONTH_TIMESTAMPMONTH_TIMESTAMP
The month the order's sale happened.
- Anchor to month_of_yearmonth_
of_ yearmonth_ of_ year MONTH_OF_YEARMONTH_OF_YEAR The month of year the order's sale happened, with values 1 through 12.
- Anchor to order_idorder_
idorder_ id IDENTITYIDENTITY - Anchor to quarterquarterquarterQUARTER_TIMESTAMPQUARTER_TIMESTAMP
The quarter the order's sale happened.
- Anchor to secondsecondsecondSECOND_TIMESTAMPSECOND_TIMESTAMP
The second the order's sale happened.
- Anchor to shop_idshop_
idshop_ id IDENTITYIDENTITY - Anchor to weekweekweekWEEK_TIMESTAMPWEEK_TIMESTAMP
The week the order's sale happened.
- Anchor to week_of_yearweek_
of_ yearweek_ of_ year WEEK_OF_YEARWEEK_OF_YEAR The week of year the order's sale happened, with values 1 through 53.
- Anchor to yearyearyearYEAR_TIMESTAMPYEAR_TIMESTAMP
The year the order's sale happened.
- Anchor to is_b2b_orderis_
b2b_ orderis_ b2b_ order BOOLEANBOOLEAN Whether the order is a B2B order, with values
trueandfalse.- Anchor to is_canceled_orderis_
canceled_ orderis_ canceled_ order BOOLEANBOOLEAN Whether the order is canceled, with values
trueandfalse.- Anchor to order_checkout_currencyorder_
checkout_ currencyorder_ checkout_ currency STRINGSTRING The currency the buyer saw at checkout when placing the order. Values are currency codes such as USD, CAD, EUR, and GBP.
- Anchor to order_fulfillment_statusorder_
fulfillment_ statusorder_ fulfillment_ status STRINGSTRING The order's fulfillment state, with values Fulfilled, Partial, Restocked, and Unfulfilled.
- Anchor to order_includes_dutiesorder_
includes_ dutiesorder_ includes_ duties BOOLEANBOOLEAN Whether the order includes duties, with values
trueandfalse.- Anchor to order_nameorder_
nameorder_ name STRINGSTRING The name or number of the order as the customer sees it.
- Anchor to order_payment_statusorder_
payment_ statusorder_ payment_ status STRINGSTRING The order's payment state, such as Authorized, Paid, Partially refunded, or Pending.
- Anchor to order_sales_channelorder_
sales_ channelorder_ sales_ channel STRINGSTRING The sales channel where the order was placed, shown as a channel name such as Online Store or POS.
- Anchor to order_sales_channel_idorder_
sales_ channel_ idorder_ sales_ channel_ id IDENTITYIDENTITY - Anchor to shop_nameshop_
nameshop_ name STRINGSTRING Name of your store
- Anchor to is_shop_referral_orderis_
shop_ referral_ orderis_ shop_ referral_ order BOOLEANBOOLEAN Whether the order was referred from the Shop app or shop.app, with values
trueandfalse.- Anchor to order_landing_page_pathorder_
landing_ page_ pathorder_ landing_ page_ path STRINGSTRING Path of the first page of the user session that resulted in the order
- Anchor to order_landing_page_urlorder_
landing_ page_ urlorder_ landing_ page_ url STRINGSTRING First page of the user session that resulted in the order
- Anchor to order_marketing_event_idorder_
marketing_ event_ idorder_ marketing_ event_ id IDENTITYIDENTITY Shopify identifier for the marketing event associated with the order
- Anchor to order_referrer_domainorder_
referrer_ domainorder_ referrer_ domain STRINGSTRING Domain of the site that led to the order
- Anchor to order_referrer_nameorder_
referrer_ nameorder_ referrer_ name STRINGSTRING The readable name of the site that led to the order.
- Anchor to order_referrer_pathorder_
referrer_ pathorder_ referrer_ path STRINGSTRING Path of the site that led to the order
- Anchor to order_referrer_siteorder_
referrer_ siteorder_ referrer_ site STRINGSTRING Site that led to the order
- Anchor to order_referrer_sourceorder_
referrer_ sourceorder_ referrer_ source STRINGSTRING The referrer type that led to the order, such as organic or email.
- Anchor to order_referrer_urlorder_
referrer_ urlorder_ referrer_ url STRINGSTRING External page that referred a customer and led to the order
- Anchor to order_utm_campaignorder_
utm_ campaignorder_ utm_ campaign STRINGSTRING UTM name of the campaign associated with the order
- Anchor to order_utm_contentorder_
utm_ contentorder_ utm_ content STRINGSTRING The UTM content value associated with the order, often used to distinguish ads, links, or content variations.
- Anchor to order_utm_mediumorder_
utm_ mediumorder_ utm_ medium STRINGSTRING The UTM medium associated with the order, such as email, social, or paid search.
- Anchor to order_utm_sourceorder_
utm_ sourceorder_ utm_ source STRINGSTRING The UTM source associated with the order, such as Google, Facebook, or a newsletter.
- Anchor to order_utm_termorder_
utm_ termorder_ utm_ term STRINGSTRING The UTM term associated with the order, often used for paid search keywords or other tracked terms.
- Anchor to number_of_products_bought_togethernumber_
of_ products_ bought_ togethernumber_ of_ products_ bought_ together INTEGERINTEGER Total unique products in the same order
- Anchor to number_of_variants_bought_togethernumber_
of_ variants_ bought_ togethernumber_ of_ variants_ bought_ together INTEGERINTEGER The number of unique product variants in the same order, with each SKU counted a single time.
- Anchor to products_bought_togetherproducts_
bought_ togetherproducts_ bought_ together ARRAY<STRING>ARRAY<STRING> The product names that appear in the same order.
- Anchor to products_bought_together_idsproducts_
bought_ together_ idsproducts_ bought_ together_ ids ARRAY<INTEGER>ARRAY<INTEGER> The Shopify product identifiers for products in the same order.
- Anchor to variants_bought_togethervariants_
bought_ togethervariants_ bought_ together ARRAY<STRING>ARRAY<STRING> The product variant labels that appear in the same order, such as size, color, or style combinations.
- Anchor to company_idcompany_
idcompany_ id IDENTITYIDENTITY - Anchor to company_namecompany_
namecompany_ name STRINGSTRING Name of the company that placed the order
- Anchor to company_location_idcompany_
location_ idcompany_ location_ id IDENTITYIDENTITY - Anchor to company_location_namecompany_
location_ namecompany_ location_ name STRINGSTRING The company location or branch that placed the order
- Anchor to referring_channelreferring_
channelreferring_ channel STRINGSTRING Marketing channel that referred the customer to place the order
- Anchor to referring_mediumreferring_
mediumreferring_ medium STRINGSTRING The marketing medium that referred the customer to place the order, such as email, social, or search.
- Anchor to referring_platformreferring_
platformreferring_ platform STRINGSTRING The marketing platform that referred the customer to place the order, such as Google, Facebook, or Instagram.
- Anchor to traffic_typetraffic_
typetraffic_ type STRINGSTRING The type of traffic that led to the order, such as organic, paid, or direct.
- Anchor to order_marketing_event_targetorder_
marketing_ event_ targetorder_ marketing_ event_ target STRINGSTRING The platform or channel where the marketing activity was deployed, such as Email, Facebook, Google, or Instagram.
- Anchor to order_marketing_event_typeorder_
marketing_ event_ typeorder_ marketing_ event_ type STRINGSTRING The type of marketing activity that led to the order, such as Ad, Affiliate, Newsletter, or Retargeting. PLA means Product Listing Ads, and SEO means Search Engine Optimization.
- Anchor to marketmarketmarketSTRINGSTRING
Market you've defined in Shopify, like a geographical market or customer group
- Anchor to marketsmarketsmarketsARRAY<STRING>ARRAY<STRING>
Markets or customer segments associated with the order
- Anchor to order_cancellation_reasonorder_
cancellation_ reasonorder_ cancellation_ reason STRINGSTRING The reason specified for the order cancellation, such as Customer, Other, Fraud, or Inventory.
- Anchor to order_risk_levelorder_
risk_ levelorder_ risk_ level STRINGSTRING The fraud risk level Shopify assigned to the order, with values Low, Medium, High, None, and Pending.
- Anchor to order_is_shopify_protect_coveredorder_
is_ shopify_ protect_ coveredorder_ is_ shopify_ protect_ covered BOOLEANBOOLEAN Whether the order has met Shopify Protect fulfillment requirements, including proper shipping and tracking, with values
trueandfalse.- Anchor to order_is_shopify_protect_eligibleorder_
is_ shopify_ protect_ eligibleorder_ is_ shopify_ protect_ eligible BOOLEANBOOLEAN Whether the order qualifies for Shopify Protect, with values
trueandfalse.- Anchor to order_is_shopify_protect_protectedorder_
is_ shopify_ protect_ protectedorder_ is_ shopify_ protect_ protected BOOLEANBOOLEAN Whether the order has full Shopify Protect coverage against fraud, with values
trueandfalse.- Anchor to order_tagorder_
tagorder_ tag STRINGSTRING Tag associated with the order
- ARRAY<STRING>ARRAY<STRING>
Set of tags associated with the order
- Anchor to agentic_referring_channelagentic_
referring_ channelagentic_ referring_ channel STRINGSTRING The AI agent or assistant that referred the session to your online store, with values ChatGPT, Google AI Mode and Gemini, Microsoft Copilot, and Shop.
- Anchor to channel_handlechannel_
handlechannel_ handle STRINGSTRING Name of the marketing channel or platform that drove the marketing engagement
- Anchor to marketing_activity_idmarketing_
activity_ idmarketing_ activity_ id IDENTITYIDENTITY - Anchor to marketing_activity_statusmarketing_
activity_ statusmarketing_ activity_ status STRINGSTRING Current status of the marketing activity (such as Active or Paused)
- Anchor to marketing_activity_titlemarketing_
activity_ titlemarketing_ activity_ title STRINGSTRING Name of the marketing activity
- Anchor to marketing_activity_url_parameter_keymarketing_
activity_ url_ parameter_ keymarketing_ activity_ url_ parameter_ key STRINGSTRING URL parameter key for the marketing activity
- Anchor to marketing_activity_url_parameter_valuemarketing_
activity_ url_ parameter_ valuemarketing_ activity_ url_ parameter_ value STRINGSTRING URL parameter value for the marketing activity
- Anchor to marketing_automation_idmarketing_
automation_ idmarketing_ automation_ id IDENTITYIDENTITY Unique ID that Shopify uses to identify the marketing automation
- Anchor to marketing_delivery_channelmarketing_
delivery_ channelmarketing_ delivery_ channel STRINGSTRING Channel through which the marketing activity is delivered
- Anchor to marketing_event_idmarketing_
event_ idmarketing_ event_ id IDENTITYIDENTITY Unique identifier for the associated marketing event
- Anchor to marketing_platformmarketing_
platformmarketing_ platform STRINGSTRING The marketing platform that created the marketing activity, shown as a platform name.
- Anchor to page_hostpage_
hostpage_ host STRINGSTRING The host name of the session landing page.
- Anchor to page_pathpage_
pathpage_ path STRINGSTRING The path of the session landing page.
- Anchor to page_urlpage_
urlpage_ url STRINGSTRING The URL of the first page viewed in the session.
- Anchor to referrer_urlreferrer_
urlreferrer_ url STRINGSTRING External page that led to an online store session
- Anchor to utm_campaignutm_
campaignutm_ campaign STRINGSTRING UTM name of the campaign associated with the session
- Anchor to utm_contentutm_
contentutm_ content STRINGSTRING The UTM content value associated with the session, often used to distinguish ads, links, or content variations.
- Anchor to utm_mediumutm_
mediumutm_ medium STRINGSTRING The UTM medium associated with the session, such as email, social, or paid search.
- Anchor to utm_sourceutm_
sourceutm_ source STRINGSTRING The UTM source associated with the session, such as Google, Facebook, or a newsletter.
- Anchor to utm_termutm_
termutm_ term STRINGSTRING The UTM term associated with the session, often used for paid search keywords or other tracked terms.
DAY_TIMESTAMP
A date value truncated to day precision.
DAY_OF_WEEK
A day within a week, used for weekday-based grouping and filtering.
HOUR_TIMESTAMP
A timestamp truncated to hour precision.
HOUR_OF_DAY
An hour within a day, typically represented as an integer from 0 to 23.
STRING
A sequence of characters representing text data.
MINUTE_TIMESTAMP
A timestamp truncated to minute precision.
MONTH_TIMESTAMP
A date value representing the start of a month.
MONTH_OF_YEAR
A month number within a year.
IDENTITY
A unique identifier for a Shopify resource such as a customer, product, or order.
QUARTER_TIMESTAMP
A date value representing the start of a fiscal quarter.
SECOND_TIMESTAMP
A timestamp truncated to second precision.
WEEK_TIMESTAMP
A date value representing the start of a week.
WEEK_OF_YEAR
A week number within a year.
YEAR_TIMESTAMP
A date value representing the start of a year.
BOOLEAN
A true or false value representing binary states.
INTEGER
A whole number without decimal places, used for counts, quantities, and other discrete numeric values.
ARRAY
A list of values. The element type appears inside angle brackets, such as ARRAY<STRING>.