The Product Analytics table provides insights into product performance, including sales, orders, and customer metrics. Analyzing this table helps understand sales drivers, purchasing trends, and marketing campaign effectiveness on product sales.

📘

Note

event_date is a required field for queries on this table.

Dimensions

Dimensions are immutable properties that can be used for grouping data.

NameTypeDescription
event_datedateThe date the order was placed or the ad was run. Based on the time zone of the shop at the moment of purchase, or the time zone of the ad platform at the time the ad was run.
event_date.daydateThe day on which the order was placed. Derived from event_date.
event_date.weekdateThe Sunday of the week during which the order was placed. Derived from event_date.
event_date.monthdateThe month during which the order was placed. Derived from event_date.
event_date.quarterdateThe first month of the quarter during which the order was placed. Derived from event_date.
event_date.yeardateThe year during which the order was placed. Derived from event_date.
entitystringThe entity type of the product.

Example values: product, variant
idstringThe unique ID of the product or variant.

Example value: 42153843458192
titlestringThe title of the product or variant.

Example values: Basic Hero Tee, XL, Black
product_idstringThe unique product ID.

Example value: 7806442569870
product_titlestringThe title of the product.

Example values: $20 USD Gift Card, Unisex Hoodie
variant_idstringThe unique variant ID.

Example value: 33193425920151
variant_titlestringThe title of the variant.

Example values: Forest Green, M, iPhone 14 Pro
skustringThe stock keeping unit associated with the product or variant.

Example values: SIL-RING-4445, NVDPROTECTION03
vendorstringThe vendor of the product.

Example values: Route, Canon, Corso
product_tagsrepeated stringTags associated with the product for categorization.

Example values: 3-pack, Sale, discount_eligible
inventory_quantitystringThe current inventory quantity of the product or variant.

Example values: 21749, 57, 332

Measures

Measures are numeric fields that can be aggregated and/or combined to calculate new metrics.

NameTypeDescription
revenuenumericTotal revenue from sales.
new_customer_revenuenumericRevenue from sales to new customers.
ordersnumericTotal number of orders placed.
new_customer_ordersnumericNumber of orders placed by new customers.
total_items_soldnumericTotal quantity of items sold across all orders.
fulfillment_costsnumericTotal costs associated with order fulfillment.
new_customer_fulfillment_costsnumericFulfillment costs specifically for orders placed by new customers.
customersnumericTotal number of unique customers.
total_order_valuenumericThe total value of all orders.
new_customer_total_order_valuenumericTotal order value specifically from new customers.
number_of_adsnumericTotal number of ads related to the products.
spendnumericTotal ad spend on the products.
clicksnumericTotal number of clicks on ads related to the products.
impressionsnumericThe total number of times ads related to the products were displayed.

Derived

Derived fields are metrics that are pre-calculated using multiple measures or advanced formulas.

NameTypeDescription
cpaformulaCost to acquire a single paying customer.

Formula: safe_divide(sum(spend), sum(orders)) as cpa
new_customer_cpaformulaCost to acquire a single new paying customer.

Formula: safe_divide(sum(spend), sum(new_customer_orders)) as new_customer_cpa
roasformulaTotal revenue generated relative to ad spend.

Formula: safe_divide(sum(revenue), sum(spend)) as roas
new_customer_roasformulaRevenue generated from new customers relative to ad spend.

Formula: safe_divide(sum(new_customer_revenue), sum(spend)) as new_customer_roas
cpmformulaCost of 1,000 impressions of the ad.

Formula: safe_divide(sum(spend), sum(impressions) / 1000) as cpm
cpcformulaAverage cost for each click on an ad.

Formula: safe_divide(sum(spend), sum(clicks)) as cpc
ctrformulaRatio of visitors who click on a specific link, to the total number of visitors who viewed the ad.

Formula: safe_divide(sum(clicks), sum(impressions)) as ctr
gross_profitformulaTotal profit excluding fulfillment costs. By default shown in the shop's currency.

Formula: sum(revenue) - sum(fulfillment_costs) as gross_profit
new_customer_gross_profitformulaGross profit generated from new customers specifically. Formula: sum(new_customer_revenue) - sum(new_customer_fulfillment_costs) as new_customer_gross_profit
product_aovformulaAverage Order Value (AOV) for products, representing the average amount spent per order. Formula: safe_divide(sum(total_order_value), sum(orders)) as product_aov
new_customer_aovformulaAOV specifically for new customers, indicating the average spend of new customers per order. Formula: safe_divide(sum(new_customer_total_order_value), sum(new_customer_orders)) as new_customer_aov
avg_purchase_priceformulaAverage purchase price across all items sold, indicating the average price per item. Formula: safe_divide(sum(revenue), sum(total_items_sold)) as avg_purchase_price
contribution_marginformulaContribution margin calculated as revenue minus COGS and advertising spend. Formula: sum(revenue) - sum(fulfillment_costs) - sum(spend) as contribution_margin
contribution_margin_per_itemformulaContribution margin per item, showing the profit contribution for each item sold. Formula: safe_divide(sum(revenue) - sum(fulfillment_costs) - sum(spend), sum(total_items_sold)) as contribution_margin_per_item