# Profit by SKU & Date

- BigQuery table name: `amazon_profit_by_sku_and_date`
- Available in: Seller Central
- Data scheme index: https://api.datadoe.com/api/v1/spec/data-scheme.md

Daily profit and cost breakdown per SKU and child ASIN from shipped orders, settlement fees, COGS and ad spend. Prefer this table for SKU and child-ASIN profit drill-down instead of calculating manually from other tables. Sponsored Products and Sponsored Display use reported advertised-product spend, sales and orders. Display units include all click-attributed purchases, not just the promoted product. Sponsored Brands contributes estimated spend but no same-SKU conversions. Amazon DSP (estimated spend) contributes promoted-ASIN sales, orders and units. Sponsored Brands spend uses eligible ad-creative ASINs, with same-day ad cost rescaled to campaign cost. Remaining spend uses campaign purchased-product shares. Without purchased-product data, it uses Seller Central sales, orders and sessions, or an even split among known campaign ASINs. Sales and orders allocate campaign totals by purchased-product shares, with the same fallback signals. ASIN spend and sales are split across available SKUs by same-day order-sales shares; orders use order-count shares. A zero total uses an even split for that measure. With no SKU rows, sku is null. Campaigns without any ASIN signal remain account-only. Amazon DSP line item spend is allocated by each ASIN's share of total product sales (including brand halo) on that day. Without positive sales, it uses purchases, then an even split among reported ASINs. Spend and promoted sales use same-day SKU order-sales shares; promoted orders and units use order-count shares. A zero total uses an even split for that measure. With no SKU rows, sku is null. Line items with no ASIN conversion rows remain account-only. Sponsored Television is account-only because its campaign report has no product allocation. Missing or delayed estimates can understate SKU ad spend and overstate SKU profit. Use amazon_profit_by_date for account-level P&L; SUM of SKU profit is not the account profit number.

- Source type: `SELLER_CENTRAL`
- Source ID: `57a0cb319c10a395853afc0671579bf7ef0ff45d8a40c88ed9d2a5f61b4169a4`
- Requires a date period: yes
- Contains PII: no
- Premium table: yes
- User-managed: no
- Default dataset: yes
- Rows count towards billing: yes
- Hub: https://www.datadoe.com/hub/data-scheme?source=SELLER_CENTRAL&table=57a0cb319c10a395853afc0671579bf7ef0ff45d8a40c88ed9d2a5f61b4169a4

## Fetch periods

- `CONTINUOUS`

## Data availability

- `INTRADAY` — Intraday updates are available when source data changes during the day. Refresh: 10am, 1pm, 4pm.

## Search aliases

- pnl
- p&l
- net profit
- sku profit
- contribution margin
- margin
- sessions
- buy box
- buybox

## Columns (99)

- `marketplace_id` (`TEXT`, required) — Amazon provided ID that represents a specific country where the Seller or Vendor operates.
- `marketplace_country_code` (`TEXT`, required) — ISO country code for the Amazon marketplace.
- `marketplace_country_name` (`TEXT`, required) — Human-readable country name for the marketplace (derived from marketplace_id).
- `seller_or_vendor_id` (`TEXT`, required) — DataDoe account identifier used by MCP/API calls (sellers_and_vendors_list, exports). Not unique in amazon_sellers_and_vendors_context when one account has multiple connection contexts — join that table on connection_context_id instead.
- `seller_or_vendor_name` (`TEXT`, required) — DataDoe connection context display name for the seller or vendor.
- `marketplace_seller_id` (`TEXT`, nullable) — Amazon Seller Central seller ID from the connection (connection_seller_id). Null when the connection has no seller ID.
- `date` (`DATE`, required) — Date of the profit calculation in the local timezone of the marketplace. Each combination of marketplace, connection, child ASIN, SKU and date has a single row.
- `parent_asin` (`TEXT`, required)
- `child_asin` (`TEXT`, required)
- `sku` (`TEXT`, required)
- `profit` (`NUMBER`, required) — Net profit after subtracting sales_tax once. refund_cost is signed: cash outflows are negative and fee reversals are positive. Refunded tax is excluded. — definition: `amazon_profit_by_sku_and_date.total_sales - amazon_profit_by_sku_and_date.sales_tax - amazon_profit_by_sku_and_date.total_fees - amazon_profit_by_sku_and_date.cogs_total - amazon_profit_by_sku_and_date.ad_spend + amazon_profit_by_sku_and_date.refund_cost`
- `total_cost` (`NUMBER`, required) — Sales tax included in prices, fees, COGS and ad spend, minus signed refund_cost. — definition: `amazon_profit_by_sku_and_date.sales_tax + amazon_profit_by_sku_and_date.total_fees + amazon_profit_by_sku_and_date.cogs_total + amazon_profit_by_sku_and_date.ad_spend - amazon_profit_by_sku_and_date.refund_cost`
- `acos` (`NUMBER`, required) — Advertising Cost of Sales as a percentage. — definition: `amazon_profit_by_sku_and_date.ad_sales === 0 ? null : amazon_profit_by_sku_and_date.ad_spend / amazon_profit_by_sku_and_date.ad_sales * 100`
- `tacos` (`NUMBER`, required) — Total Advertising Cost of Sales as a percentage. — definition: `amazon_profit_by_sku_and_date.total_sales === 0 ? null : amazon_profit_by_sku_and_date.ad_spend / amazon_profit_by_sku_and_date.total_sales * 100`
- `roi` (`NUMBER`, required) — Return on Investment as a percentage. — definition: `amazon_profit_by_sku_and_date.total_cost === 0 ? null : amazon_profit_by_sku_and_date.profit / amazon_profit_by_sku_and_date.total_cost * 100`
- `total_sales` (`NUMBER`, required) — Sales from shipped order items. Includes tax where Amazon reports prices with tax; see sales_tax. — definition: `sum(amazon_order_items_with_cogs.item_status === 'Shipped' ? (amazon_order_items_with_cogs.item_price_value ?? 0) + (amazon_order_items_with_cogs.item_shipping_price_value ?? 0) - (amazon_order_items_with_cogs.item_ship_promotion_discount_value ?? 0) : 0)`
- `sales_tax` (`NUMBER`, required) — Positive tax amount on shipped item and buyer-paid shipping prices for marketplaces whose selling prices include tax (all supported marketplaces except the US and Canada). Subtracted once from profit. Excludes gift-wrap tax; the P&L API uses item and gift-wrap tax while its shipping cost offsets buyer-paid shipping tax, so its sales_tax can differ. — definition: `sum(amazon_order_items_with_cogs.item_status === 'Shipped' && ["A1AM78C64UM0Y8","A2Q3Y263D00KWC","A28R8C7NBKEWEA","A1RKKUPIHCS9HS","A1F83G8C2ARO7P","A13V1IB3VIYZZH","AMEN7PMS3EDWL","A1805IZSGTT6HS","A1PA6795UKMFR9","APJ6JRA9NG5V4","A2NODRKZP88ZB9","AE08WJ6YKNBMC","A1C3SOZRARQ6R3","ARBP9OOSHTCHU","A33AVAJ2PDY3EV","A17E79C6D8DWNP","A2VIGQ35RCS4UG","A21TJRUUN4KGV","A19VAU5U5O7RUS","A39IBJ37TRP1C6","A1VC38T7YXB528"].includes(amazon_order_items_with_cogs.marketplace_id) ? (amazon_order_items_with_cogs.item_tax_value ?? 0) + (amazon_order_items_with_cogs.item_shipping_tax_value ?? 0) : 0)`
- `sales_tax_missing_items` (`NUMBER`, required) — Number of shipped order items with a non-zero item price and no item tax, or a net shipping charge and no shipping tax, for marketplaces whose selling prices include tax (all supported marketplaces except the US and Canada). A positive count means sales_tax may be incomplete. — definition: `sum(amazon_order_items_with_cogs.item_status === 'Shipped' && ["A1AM78C64UM0Y8","A2Q3Y263D00KWC","A28R8C7NBKEWEA","A1RKKUPIHCS9HS","A1F83G8C2ARO7P","A13V1IB3VIYZZH","AMEN7PMS3EDWL","A1805IZSGTT6HS","A1PA6795UKMFR9","APJ6JRA9NG5V4","A2NODRKZP88ZB9","AE08WJ6YKNBMC","A1C3SOZRARQ6R3","ARBP9OOSHTCHU","A33AVAJ2PDY3EV","A17E79C6D8DWNP","A2VIGQ35RCS4UG","A21TJRUUN4KGV","A19VAU5U5O7RUS","A39IBJ37TRP1C6","A1VC38T7YXB528"].includes(amazon_order_items_with_cogs.marketplace_id) && ((amazon_order_items_with_cogs.item_price_value !== 0 && amazon_order_items_with_cogs.item_tax_value == null) || (amazon_order_items_with_cogs.item_shipping_price_value > (amazon_order_items_with_cogs.item_ship_promotion_discount_value ?? 0) && amazon_order_items_with_cogs.item_shipping_tax_value == null)) ? 1 : 0)`
- `total_sales_b2b` (`NUMBER`, required) — Total sales from shipped B2B order items (order_is_business=true). Included in total_sales, not additive. — definition: `sum(amazon_order_items_with_cogs.item_status === 'Shipped' && amazon_order_items_with_cogs.order_is_business ? (amazon_order_items_with_cogs.item_price_value ?? 0) + (amazon_order_items_with_cogs.item_shipping_price_value ?? 0) - (amazon_order_items_with_cogs.item_ship_promotion_discount_value ?? 0) : 0)`
- `total_sales_b2c` (`NUMBER`, required) — Total sales from shipped B2C order items (order_is_business=false). Included in total_sales, not additive. — definition: `sum(amazon_order_items_with_cogs.item_status === 'Shipped' && !(amazon_order_items_with_cogs.order_is_business ?? false) ? (amazon_order_items_with_cogs.item_price_value ?? 0) + (amazon_order_items_with_cogs.item_shipping_price_value ?? 0) - (amazon_order_items_with_cogs.item_ship_promotion_discount_value ?? 0) : 0)`
- `unshipped_sales` (`NUMBER`, required) — Sales from order items with one of unshipped statuses. Not included in total_sales. — definition: `sum(String(amazon_order_items_with_cogs.item_status).toLowerCase().includes('unshipped') ? (amazon_order_items_with_cogs.item_price_value ?? 0) + (amazon_order_items_with_cogs.item_shipping_price_value ?? 0) - (amazon_order_items_with_cogs.item_ship_promotion_discount_value ?? 0) : 0)`
- `total_units_b2b` (`NUMBER`, required) — Ordered units from order line items where order_is_business is true, excluding canceled items. Includes unshipped. Not the same as total_units_sold_b2b, which counts shipped units only. — definition: `sum((amazon_order_items_with_cogs.item_status == null || !String(amazon_order_items_with_cogs.item_status).toLowerCase().includes('cancel')) && amazon_order_items_with_cogs.order_is_business ? amazon_order_items_with_cogs.quantity : 0)`
- `total_units_b2c` (`NUMBER`, required) — Ordered units from order line items where order_is_business is false, excluding canceled items. Includes unshipped. — definition: `sum((amazon_order_items_with_cogs.item_status == null || !String(amazon_order_items_with_cogs.item_status).toLowerCase().includes('cancel')) && !(amazon_order_items_with_cogs.order_is_business ?? false) ? amazon_order_items_with_cogs.quantity : 0)`
- `total_units_sold` (`NUMBER`, required) — Total quantity sold from shipped order items. — definition: `sum(amazon_order_items_with_cogs.item_status === 'Shipped' ? amazon_order_items_with_cogs.quantity : 0)`
- `total_units_sold_b2b` (`NUMBER`, required) — Shipped units from order line items where order_is_business is true. Included in total_units_sold, not additive. — definition: `sum(amazon_order_items_with_cogs.item_status === 'Shipped' && amazon_order_items_with_cogs.order_is_business ? amazon_order_items_with_cogs.quantity : 0)`
- `total_units_sold_b2c` (`NUMBER`, required) — Shipped units from order line items where order_is_business is false. Included in total_units_sold, not additive. — definition: `sum(amazon_order_items_with_cogs.item_status === 'Shipped' && !(amazon_order_items_with_cogs.order_is_business ?? false) ? amazon_order_items_with_cogs.quantity : 0)`
- `total_orders` (`NUMBER`, required) — Distinct shipped orders this item appeared in. — definition: `countDistinct(amazon_order_items_with_cogs.item_status === 'Shipped' ? amazon_order_items_with_cogs.amazon_order_id : null)`
- `refund_count` (`NUMBER`, required) — Count of settlement_type REFUND financial events on posted date. Not SUM(quantity). A day can exist here with no sales if refunds posted that day. — definition: `count(amazon_settlements_with_cogs.settlement_type === 'REFUND')`
- `refund_cost` (`NUMBER`, required) — Refund principal and fee reversals on the settlement posting date. Excludes refunded item, shipping and promotion tax. Return COGS is added on the return date. Not part of total_fees. — definition: `(sum(amazon_settlements_with_cogs.settlement_type === 'REFUND' ? (amazon_settlements_with_cogs.refunded_amount ?? 0) + (amazon_settlements_with_cogs.refunded_referral_fee ?? 0) + (amazon_settlements_with_cogs.refund_commission ?? 0) + (amazon_settlements_with_cogs.refund_shipping ?? 0) + (amazon_settlements_with_cogs.refund_shipping_promotion ?? 0) + (amazon_settlements_with_cogs.refund_digital_services_fee ?? 0) : 0)) + (sum(amazon_returns.amazon_return_detailed_disposition != null && String(amazon_returns.amazon_return_detailed_disposition).toUpperCase() === 'SELLABLE' ? (amazon_returns.cogs_total_value ?? 0) : 0)) + (sum(amazon_returns.amazon_return_detailed_disposition != null && String(amazon_returns.amazon_return_detailed_disposition).toUpperCase() !== 'SELLABLE' ? 0 - (amazon_returns.cogs_total_value ?? 0) : 0))`
- `return_units` (`NUMBER`, required) — Returned units from amazon_returns on return receipt/request date, not payout date. — definition: `sum((amazon_returns.quantity ?? 0))`
- `return_cogs` (`NUMBER`, required) — Item cost of returned units from amazon_returns on return receipt/request date. Not part of profit. — definition: `sum((amazon_returns.cogs_total_value ?? 0))`
- `cogs_item` (`NUMBER`, required) — Total item COGS from shipped order items. — definition: `sum(amazon_order_items_with_cogs.item_status === 'Shipped' ? amazon_order_items_with_cogs.cogs_item_value : 0)`
- `cogs_shipping` (`NUMBER`, required) — Total shipping COGS from shipped order items. — definition: `sum(amazon_order_items_with_cogs.item_status === 'Shipped' ? amazon_order_items_with_cogs.cogs_shipping_value : 0)`
- `lost_damaged_by_amazon` (`NUMBER`, required) — Lost or damaged inventory reimbursements and charges on settlement posted date. Stored as a positive cost (settlement cash-flow sign flipped). Included in cogs_total, not in total_fees. — definition: `sum(amazon_settlements_with_cogs.settlement_type !== 'REFUND' ? 0 - ((amazon_settlements_with_cogs.warehouse_lost ?? 0) + (amazon_settlements_with_cogs.warehouse_lost_manual ?? 0)) : 0)`
- `missing_returns` (`NUMBER`, required) — Missing-from-inbound inventory on settlement posted date. Stored as a positive cost (settlement cash-flow sign flipped). Included in cogs_total, not in total_fees. — definition: `sum(amazon_settlements_with_cogs.settlement_type !== 'REFUND' ? 0 - ((amazon_settlements_with_cogs.missing_from_inbound ?? 0) + (amazon_settlements_with_cogs.missing_from_inbound_clawback ?? 0)) : 0)`
- `cogs_total` (`NUMBER`, required) — Shipped-order COGS plus lost_damaged_by_amazon and missing_returns on posted date. — definition: `(sum(amazon_order_items_with_cogs.item_status === 'Shipped' ? amazon_order_items_with_cogs.cogs_total_value : 0)) + (sum(amazon_settlements_with_cogs.settlement_type !== 'REFUND' ? 0 - ((amazon_settlements_with_cogs.warehouse_lost ?? 0) + (amazon_settlements_with_cogs.warehouse_lost_manual ?? 0)) : 0)) + (sum(amazon_settlements_with_cogs.settlement_type !== 'REFUND' ? 0 - ((amazon_settlements_with_cogs.missing_from_inbound ?? 0) + (amazon_settlements_with_cogs.missing_from_inbound_clawback ?? 0)) : 0))`
- `cogs_present` (`LOGIC`, nullable) — True when every shipped order item and return in this profit row has an applicable uploaded COGS record. False if any is missing; null when neither contributes.
- `total_fees` (`NUMBER`, required) — Positive cost (settlement cash-flow sign flipped). Order fees use the order date when available; inbound, storage and similar fees use the posting date. Advertising is in ad_spend, inventory adjustments in cogs_total and refunds in refund_cost. Seller-retained sales tax on items, shipping and gift-wrap is excluded before the sign flip, accounting for withheld tax and marketplace-facilitator VAT. promotion_tax_discount remains included in fees. Do not add this to amazon_settlements_with_cogs.total_non_principal_amount, which also includes non-fee payments. — definition: `(sum(amazon_settlements_with_cogs.settlement_type !== 'REFUND' ? 0 - ((amazon_settlements_with_cogs.total_fees ?? 0) - (amazon_settlements_with_cogs.cost_of_advertising ?? 0) - ((amazon_settlements_with_cogs.fba_inbound_convenience_fee ?? 0) + (amazon_settlements_with_cogs.fba_inbound_transportation_fee ?? 0) + (amazon_settlements_with_cogs.fba_inbound_transportation_program_fee ?? 0) + (amazon_settlements_with_cogs.fba_inbound_placement_service_fee ?? 0) + (amazon_settlements_with_cogs.fba_storage_fee ?? 0) + (amazon_settlements_with_cogs.long_term_storage_fee ?? 0) + (amazon_settlements_with_cogs.fba_disposal_fee ?? 0) + (amazon_settlements_with_cogs.removal_complete ?? 0) + (amazon_settlements_with_cogs.subscription_fee ?? 0) + (amazon_settlements_with_cogs.compensated_clawback ?? 0) + (amazon_settlements_with_cogs.warehouse_damage ?? 0) + (amazon_settlements_with_cogs.reversal_reimbursement ?? 0) + (amazon_settlements_with_cogs.free_replacement_refund_items ?? 0) + (amazon_settlements_with_cogs.liquidations_revenue ?? 0) + (amazon_settlements_with_cogs.liquidations_other ?? 0) + (amazon_settlements_with_cogs.liquidations_brokerage_fee ?? 0) + (amazon_settlements_with_cogs.fba_inventory_reimbursement_re_evaluation ?? 0) + (amazon_settlements_with_cogs.warehouse_lost ?? 0) + (amazon_settlements_with_cogs.warehouse_lost_manual ?? 0) + (amazon_settlements_with_cogs.missing_from_inbound ?? 0) + (amazon_settlements_with_cogs.missing_from_inbound_clawback ?? 0)) - ((amazon_settlements_with_cogs.item_tax ?? 0) + (amazon_settlements_with_cogs.item_shipping_tax ?? 0) + (amazon_settlements_with_cogs.item_gift_wrap_tax ?? 0) + (amazon_settlements_with_cogs.item_withheld_tax ?? 0) + (amazon_settlements_with_cogs.marketplace_facilitator_vat ?? 0) + (amazon_settlements_with_cogs.refund_tax ?? 0) + (amazon_settlements_with_cogs.refund_shipping_tax ?? 0) + (amazon_settlements_with_cogs.refund_item_withheld_tax ?? 0) + (amazon_settlements_with_cogs.refund_marketplace_facilitator_vat ?? 0))) : 0)) + (sum(amazon_settlements_with_cogs.settlement_type !== 'REFUND' ? 0 - ((amazon_settlements_with_cogs.fba_inbound_convenience_fee ?? 0) + (amazon_settlements_with_cogs.fba_inbound_transportation_fee ?? 0) + (amazon_settlements_with_cogs.fba_inbound_transportation_program_fee ?? 0) + (amazon_settlements_with_cogs.fba_inbound_placement_service_fee ?? 0) + (amazon_settlements_with_cogs.fba_storage_fee ?? 0) + (amazon_settlements_with_cogs.long_term_storage_fee ?? 0) + (amazon_settlements_with_cogs.fba_disposal_fee ?? 0) + (amazon_settlements_with_cogs.removal_complete ?? 0) + (amazon_settlements_with_cogs.subscription_fee ?? 0) + (amazon_settlements_with_cogs.compensated_clawback ?? 0) + (amazon_settlements_with_cogs.warehouse_damage ?? 0) + (amazon_settlements_with_cogs.reversal_reimbursement ?? 0) + (amazon_settlements_with_cogs.free_replacement_refund_items ?? 0) + (amazon_settlements_with_cogs.liquidations_revenue ?? 0) + (amazon_settlements_with_cogs.liquidations_other ?? 0) + (amazon_settlements_with_cogs.liquidations_brokerage_fee ?? 0) + (amazon_settlements_with_cogs.fba_inventory_reimbursement_re_evaluation ?? 0)) : 0))`
- `total_selling_fees` (`NUMBER`, required) — Referral fee on non-REFUND settlements. Refunded referral fee and refund commission are in refund_cost, not here. Stored as a positive cost. Subtract from sales. — definition: `sum(amazon_settlements_with_cogs.settlement_type !== 'REFUND' ? 0 - (amazon_settlements_with_cogs.total_selling_fees ?? 0) : 0)`
- `fba_fees` (`NUMBER`, required) — Per-unit and other order-tied FBA fees use COALESCE(order_date, posted date); inbound, storage, LTSF and disposal use posted date. Stored as a positive cost. Subtract from sales. — definition: `sum(amazon_settlements_with_cogs.settlement_type !== 'REFUND' ? 0 - ((amazon_settlements_with_cogs.fba_per_unit_fulfillment_fee ?? 0) + (amazon_settlements_with_cogs.fba_transportation_fee ?? 0) + (amazon_settlements_with_cogs.fba_customer_return_per_unit_fee ?? 0) + (amazon_settlements_with_cogs.fba_other ?? 0)) : 0) + sum(amazon_settlements_with_cogs.settlement_type !== 'REFUND' ? 0 - ((amazon_settlements_with_cogs.fba_storage_fee ?? 0) + (amazon_settlements_with_cogs.fba_disposal_fee ?? 0) + (amazon_settlements_with_cogs.fba_inbound_convenience_fee ?? 0) + (amazon_settlements_with_cogs.fba_inbound_placement_service_fee ?? 0) + (amazon_settlements_with_cogs.fba_inbound_transportation_fee ?? 0) + (amazon_settlements_with_cogs.fba_inbound_transportation_program_fee ?? 0) + (amazon_settlements_with_cogs.fba_inventory_reimbursement_re_evaluation ?? 0) + (amazon_settlements_with_cogs.long_term_storage_fee ?? 0)) : 0)`
- `awd_fees` (`NUMBER`, required) — AWD fees from Amazon settlements. Stored as a positive cost. Subtract from sales. — definition: `sum(amazon_settlements_with_cogs.settlement_type !== 'REFUND' ? 0 - ((amazon_settlements_with_cogs.awd_processing_fee ?? 0) + (amazon_settlements_with_cogs.awd_transportation_fee ?? 0) + (amazon_settlements_with_cogs.awd_storage_fee ?? 0) + (amazon_settlements_with_cogs.awd_processing_fee_discount ?? 0) + (amazon_settlements_with_cogs.awd_storage_fee_discount ?? 0) + (amazon_settlements_with_cogs.awd_transportation_fee_discount ?? 0)) : 0)`
- `ad_spend` (`NUMBER`, required) — Ad spend attributed to this SKU. Sponsored Products and Sponsored Display use advertised-product reports. Sponsored Brands and Amazon DSP spend is estimated. Sponsored Brands spend uses eligible ad-creative ASINs, with same-day ad cost rescaled to campaign cost. Remaining spend uses campaign purchased-product shares. Without purchased-product data, it uses Seller Central sales, orders and sessions, or an even split among known campaign ASINs. Sales and orders allocate campaign totals by purchased-product shares, with the same fallback signals. ASIN spend and sales are split across available SKUs by same-day order-sales shares; orders use order-count shares. A zero total uses an even split for that measure. With no SKU rows, sku is null. Campaigns without any ASIN signal remain account-only. Amazon DSP line item spend is allocated by each ASIN's share of total product sales (including brand halo) on that day. Without positive sales, it uses purchases, then an even split among reported ASINs. Spend and promoted sales use same-day SKU order-sales shares; promoted orders and units use order-count shares. A zero total uses an even split for that measure. With no SKU rows, sku is null. Line items with no ASIN conversion rows remain account-only. Amazon DSP spend is DSP totalCost: supply cost plus Amazon fees, excluding third-party fees paid by the agency. Sponsored Television has no SKU allocation and appears only in amazon_profit_by_date.ad_spend. Unallocated DSP spend also appears only in amazon_profit_by_date.ad_spend. — definition: `sum(amazon_ads_performance_by_child_asin_and_date.ad_spend) + sum(refined_ads_estimated_dsp_performance_by_asin.estimatedCost)`
- `ad_sales` (`NUMBER`, required) — Attributed ad sales of this SKU only (14d for SPONSORED_BRANDS and SPONSORED_DISPLAY, 7d for SPONSORED_PRODUCTS). Excludes brand halo; Sponsored Brands has no same-SKU sales. Includes Amazon DSP (14d attribution) for the promoted ASIN only, excluding brand halo. — definition: `sum(amazon_ads_performance_by_child_asin_and_date.ad_sales_same_sku) + sum(refined_ads_estimated_dsp_performance_by_asin.salesPromoted)`
- `ad_orders` (`NUMBER`, required) — Click-attributed orders of the advertised or promoted product for Sponsored Products and Sponsored Display (14d for SPONSORED_BRANDS and SPONSORED_DISPLAY, 7d for SPONSORED_PRODUCTS). Sponsored Brands and Sponsored Television contribute no SKU orders. Includes Amazon DSP (14d attribution) for the promoted ASIN only, excluding brand halo. — definition: `sum(amazon_ads_performance_by_child_asin_and_date.ad_orders_same_sku) + sum(refined_ads_estimated_dsp_performance_by_asin.ordersPromoted)`
- `ad_units_sold` (`NUMBER`, required) — Sponsored Products same-SKU click-attributed units (7d) plus Sponsored Display total click-attributed units (14d, may include other products). Sponsored Brands and Sponsored Television contribute no SKU units. Includes Amazon DSP (14d attribution) for the promoted ASIN only, excluding brand halo. — definition: `sum(amazon_ads_performance_by_child_asin_and_date.ad_units_sold_same_sku) + sum(refined_ads_estimated_dsp_performance_by_asin.unitsSoldPromoted)`
- `ad_clicks` (`NUMBER`, required) — Attributed ad clicks. Excludes Sponsored Brands, Sponsored Television and Amazon DSP (not available per ASIN). — definition: `sum(amazon_ads_performance_by_child_asin_and_date.ad_clicks)`
- `ad_impressions` (`NUMBER`, required) — Attributed ad impressions. Excludes Sponsored Brands, Sponsored Television and Amazon DSP (not available per ASIN). — definition: `sum(amazon_ads_performance_by_child_asin_and_date.ad_impressions)`
- `avg_buybox_percentage` (`NUMBER`, required) — Buy box percentage for the child ASIN on this date. Buy box percentage is the share of page views where the buy box (add to cart) appeared for your offers. From Amazon Sales and Traffic (Data Kiosk). Data may be delayed by up to 3 days and may remain incomplete or be revised for up to 30 days after the row date due to Amazon reporting limitations. — definition: `amazon_sales_and_traffic_with_cogs.buybox_percentage`
- `avg_buybox_percentage_b2b` (`NUMBER`, required) — B2B buy box percentage for the child ASIN on this date, from Amazon Sales and Traffic buyBoxPercentageB2B. From Amazon Sales and Traffic (Data Kiosk). Data may be delayed by up to 3 days and may remain incomplete or be revised for up to 30 days after the row date due to Amazon reporting limitations. — definition: `amazon_sales_and_traffic_with_cogs.buybox_percentage_b2b`
- `avg_buybox_percentage_b2c` (`NUMBER`, required) — B2C buy box percentage for the child ASIN on this date. Amazon does not publish B2C buy box; reconstructed from overall and B2B buy box weighted by page views. From Amazon Sales and Traffic (Data Kiosk). Data may be delayed by up to 3 days and may remain incomplete or be revised for up to 30 days after the row date due to Amazon reporting limitations. — definition: `((amazon_sales_and_traffic_with_cogs.buybox_percentage ?? 0) * (amazon_sales_and_traffic_with_cogs.page_views ?? 0) - (amazon_sales_and_traffic_with_cogs.buybox_percentage_b2b ?? 0) * (amazon_sales_and_traffic_with_cogs.page_views_b2b ?? 0)) / ((amazon_sales_and_traffic_with_cogs.page_views ?? 0) - (amazon_sales_and_traffic_with_cogs.page_views_b2b ?? 0))`
- `total_sessions` (`NUMBER`, required) — Sessions for the child ASIN on this date. A session is a visit to your Amazon product detail pages via browser or mobile app. From Amazon Sales and Traffic (Data Kiosk). Data may be delayed by up to 3 days and may remain incomplete or be revised for up to 30 days after the row date due to Amazon reporting limitations. — definition: `sum(amazon_sales_and_traffic_with_cogs.session)`
- `sessions_b2b` (`NUMBER`, required) — B2B sessions for the child ASIN on this date, from Amazon Sales and Traffic sessionsB2B. Included in total_sessions, not additive. From Amazon Sales and Traffic (Data Kiosk). Data may be delayed by up to 3 days and may remain incomplete or be revised for up to 30 days after the row date due to Amazon reporting limitations. — definition: `sum(amazon_sales_and_traffic_with_cogs.sessions_b2b)`
- `sessions_b2c` (`NUMBER`, required) — B2C sessions for the child ASIN on this date, calculated as total_sessions minus sessions_b2b. Amazon does not publish a B2C sessions field. From Amazon Sales and Traffic (Data Kiosk). Data may be delayed by up to 3 days and may remain incomplete or be revised for up to 30 days after the row date due to Amazon reporting limitations. — definition: `sum(Math.max((amazon_sales_and_traffic_with_cogs.session ?? 0) - (amazon_sales_and_traffic_with_cogs.sessions_b2b ?? 0), 0))`
- `total_page_views` (`NUMBER`, required) — Page views for the child ASIN on this date. Page views count visits to your Amazon product detail pages via browser or mobile app. From Amazon Sales and Traffic (Data Kiosk). Data may be delayed by up to 3 days and may remain incomplete or be revised for up to 30 days after the row date due to Amazon reporting limitations. — definition: `sum(amazon_sales_and_traffic_with_cogs.page_views)`
- `page_views_b2b` (`NUMBER`, required) — B2B page views for the child ASIN on this date, from Amazon Sales and Traffic pageViewsB2B. Included in total_page_views, not additive. From Amazon Sales and Traffic (Data Kiosk). Data may be delayed by up to 3 days and may remain incomplete or be revised for up to 30 days after the row date due to Amazon reporting limitations. — definition: `sum(amazon_sales_and_traffic_with_cogs.page_views_b2b)`
- `page_views_b2c` (`NUMBER`, required) — B2C page views for the child ASIN on this date, calculated as total_page_views minus page_views_b2b. Amazon does not publish a B2C page views field. From Amazon Sales and Traffic (Data Kiosk). Data may be delayed by up to 3 days and may remain incomplete or be revised for up to 30 days after the row date due to Amazon reporting limitations. — definition: `sum(Math.max((amazon_sales_and_traffic_with_cogs.page_views ?? 0) - (amazon_sales_and_traffic_with_cogs.page_views_b2b ?? 0), 0))`
- `browser_sessions` (`NUMBER`, required) — Sessions from web browsers for the child ASIN on this date, from Amazon Sales and Traffic browserSessions. From Amazon Sales and Traffic (Data Kiosk). Data may be delayed by up to 3 days and may remain incomplete or be revised for up to 30 days after the row date due to Amazon reporting limitations.
- `browser_sessions_b2b` (`NUMBER`, required) — B2B sessions from web browsers for the child ASIN on this date, from Amazon Sales and Traffic browserSessionsB2B. Included in browser_sessions, not additive. From Amazon Sales and Traffic (Data Kiosk). Data may be delayed by up to 3 days and may remain incomplete or be revised for up to 30 days after the row date due to Amazon reporting limitations.
- `browser_sessions_b2c` (`NUMBER`, required) — B2C sessions from web browsers for the child ASIN on this date, calculated as browser_sessions minus browser_sessions_b2b, floored at 0 per child ASIN. Amazon does not publish a B2C field. From Amazon Sales and Traffic (Data Kiosk). Data may be delayed by up to 3 days and may remain incomplete or be revised for up to 30 days after the row date due to Amazon reporting limitations. — definition: `sum(Math.max((raw_sp_api_report_sales_and_traffic.browserSessions ?? 0) - (raw_sp_api_report_sales_and_traffic.browserSessionsB2B ?? 0), 0))`
- `mobile_sessions` (`NUMBER`, required) — Sessions from the Amazon mobile app for the child ASIN on this date, from Amazon Sales and Traffic mobileAppSessions. From Amazon Sales and Traffic (Data Kiosk). Data may be delayed by up to 3 days and may remain incomplete or be revised for up to 30 days after the row date due to Amazon reporting limitations.
- `mobile_sessions_b2b` (`NUMBER`, required) — B2B sessions from the amazon mobile app for the child ASIN on this date, from Amazon Sales and Traffic mobileAppSessionsB2B. Included in mobile_sessions, not additive. From Amazon Sales and Traffic (Data Kiosk). Data may be delayed by up to 3 days and may remain incomplete or be revised for up to 30 days after the row date due to Amazon reporting limitations.
- `mobile_sessions_b2c` (`NUMBER`, required) — B2C sessions from the amazon mobile app for the child ASIN on this date, calculated as mobile_sessions minus mobile_sessions_b2b, floored at 0 per child ASIN. Amazon does not publish a B2C field. From Amazon Sales and Traffic (Data Kiosk). Data may be delayed by up to 3 days and may remain incomplete or be revised for up to 30 days after the row date due to Amazon reporting limitations. — definition: `sum(Math.max((raw_sp_api_report_sales_and_traffic.mobileAppSessions ?? 0) - (raw_sp_api_report_sales_and_traffic.mobileAppSessionsB2B ?? 0), 0))`
- `browser_page_views` (`NUMBER`, required) — Page views from web browsers for the child ASIN on this date, from Amazon Sales and Traffic browserPageViews. From Amazon Sales and Traffic (Data Kiosk). Data may be delayed by up to 3 days and may remain incomplete or be revised for up to 30 days after the row date due to Amazon reporting limitations.
- `browser_page_views_b2b` (`NUMBER`, required) — B2B page views from web browsers for the child ASIN on this date, from Amazon Sales and Traffic browserPageViewsB2B. Included in browser_page_views, not additive. From Amazon Sales and Traffic (Data Kiosk). Data may be delayed by up to 3 days and may remain incomplete or be revised for up to 30 days after the row date due to Amazon reporting limitations.
- `browser_page_views_b2c` (`NUMBER`, required) — B2C page views from web browsers for the child ASIN on this date, calculated as browser_page_views minus browser_page_views_b2b, floored at 0 per child ASIN. Amazon does not publish a B2C field. From Amazon Sales and Traffic (Data Kiosk). Data may be delayed by up to 3 days and may remain incomplete or be revised for up to 30 days after the row date due to Amazon reporting limitations. — definition: `sum(Math.max((raw_sp_api_report_sales_and_traffic.browserPageViews ?? 0) - (raw_sp_api_report_sales_and_traffic.browserPageViewsB2B ?? 0), 0))`
- `mobile_page_views` (`NUMBER`, required) — Page views from the Amazon mobile app for the child ASIN on this date, from Amazon Sales and Traffic mobileAppPageViews. From Amazon Sales and Traffic (Data Kiosk). Data may be delayed by up to 3 days and may remain incomplete or be revised for up to 30 days after the row date due to Amazon reporting limitations.
- `mobile_page_views_b2b` (`NUMBER`, required) — B2B page views from the amazon mobile app for the child ASIN on this date, from Amazon Sales and Traffic mobileAppPageViewsB2B. Included in mobile_page_views, not additive. From Amazon Sales and Traffic (Data Kiosk). Data may be delayed by up to 3 days and may remain incomplete or be revised for up to 30 days after the row date due to Amazon reporting limitations.
- `mobile_page_views_b2c` (`NUMBER`, required) — B2C page views from the amazon mobile app for the child ASIN on this date, calculated as mobile_page_views minus mobile_page_views_b2b, floored at 0 per child ASIN. Amazon does not publish a B2C field. From Amazon Sales and Traffic (Data Kiosk). Data may be delayed by up to 3 days and may remain incomplete or be revised for up to 30 days after the row date due to Amazon reporting limitations. — definition: `sum(Math.max((raw_sp_api_report_sales_and_traffic.mobileAppPageViews ?? 0) - (raw_sp_api_report_sales_and_traffic.mobileAppPageViewsB2B ?? 0), 0))`
- `session_percentage` (`NUMBER`, required) — Child ASIN share of the account's daily sessions as a percentage (0-100) for the child ASIN on this date, from Amazon Sales and Traffic sessionPercentage. From Amazon Sales and Traffic (Data Kiosk). Data may be delayed by up to 3 days and may remain incomplete or be revised for up to 30 days after the row date due to Amazon reporting limitations.
- `session_percentage_b2b` (`NUMBER`, required) — Child ASIN share of the account's daily B2B sessions as a percentage (0-100) for the child ASIN on this date, from Amazon Sales and Traffic sessionPercentageB2B. From Amazon Sales and Traffic (Data Kiosk). Data may be delayed by up to 3 days and may remain incomplete or be revised for up to 30 days after the row date due to Amazon reporting limitations.
- `page_views_percentage` (`NUMBER`, required) — Child ASIN share of the account's daily page views as a percentage (0-100) for the child ASIN on this date, from Amazon Sales and Traffic pageViewsPercentage. From Amazon Sales and Traffic (Data Kiosk). Data may be delayed by up to 3 days and may remain incomplete or be revised for up to 30 days after the row date due to Amazon reporting limitations.
- `page_views_percentage_b2b` (`NUMBER`, required) — Child ASIN share of the account's daily B2B page views as a percentage (0-100) for the child ASIN on this date, from Amazon Sales and Traffic pageViewsPercentageB2B. From Amazon Sales and Traffic (Data Kiosk). Data may be delayed by up to 3 days and may remain incomplete or be revised for up to 30 days after the row date due to Amazon reporting limitations.
- `browser_session_percentage` (`NUMBER`, required) — Child ASIN share of the account's daily browser sessions as a percentage (0-100) for the child ASIN on this date, from Amazon Sales and Traffic browserSessionPercentage. From Amazon Sales and Traffic (Data Kiosk). Data may be delayed by up to 3 days and may remain incomplete or be revised for up to 30 days after the row date due to Amazon reporting limitations.
- `browser_session_percentage_b2b` (`NUMBER`, required) — Child ASIN share of the account's daily B2B browser sessions as a percentage (0-100) for the child ASIN on this date, from Amazon Sales and Traffic browserSessionPercentageB2B. From Amazon Sales and Traffic (Data Kiosk). Data may be delayed by up to 3 days and may remain incomplete or be revised for up to 30 days after the row date due to Amazon reporting limitations.
- `mobile_session_percentage` (`NUMBER`, required) — Child ASIN share of the account's daily mobile app sessions as a percentage (0-100) for the child ASIN on this date, from Amazon Sales and Traffic mobileAppSessionPercentage. From Amazon Sales and Traffic (Data Kiosk). Data may be delayed by up to 3 days and may remain incomplete or be revised for up to 30 days after the row date due to Amazon reporting limitations.
- `mobile_session_percentage_b2b` (`NUMBER`, required) — Child ASIN share of the account's daily B2B mobile app sessions as a percentage (0-100) for the child ASIN on this date, from Amazon Sales and Traffic mobileAppSessionPercentageB2B. From Amazon Sales and Traffic (Data Kiosk). Data may be delayed by up to 3 days and may remain incomplete or be revised for up to 30 days after the row date due to Amazon reporting limitations.
- `browser_page_views_percentage` (`NUMBER`, required) — Child ASIN share of the account's daily browser page views as a percentage (0-100) for the child ASIN on this date, from Amazon Sales and Traffic browserPageViewsPercentage. From Amazon Sales and Traffic (Data Kiosk). Data may be delayed by up to 3 days and may remain incomplete or be revised for up to 30 days after the row date due to Amazon reporting limitations.
- `browser_page_views_percentage_b2b` (`NUMBER`, required) — Child ASIN share of the account's daily B2B browser page views as a percentage (0-100) for the child ASIN on this date, from Amazon Sales and Traffic browserPageViewsPercentageB2B. From Amazon Sales and Traffic (Data Kiosk). Data may be delayed by up to 3 days and may remain incomplete or be revised for up to 30 days after the row date due to Amazon reporting limitations.
- `mobile_page_views_percentage` (`NUMBER`, required) — Child ASIN share of the account's daily mobile app page views as a percentage (0-100) for the child ASIN on this date, from Amazon Sales and Traffic mobileAppPageViewsPercentage. From Amazon Sales and Traffic (Data Kiosk). Data may be delayed by up to 3 days and may remain incomplete or be revised for up to 30 days after the row date due to Amazon reporting limitations.
- `mobile_page_views_percentage_b2b` (`NUMBER`, required) — Child ASIN share of the account's daily B2B mobile app page views as a percentage (0-100) for the child ASIN on this date, from Amazon Sales and Traffic mobileAppPageViewsPercentageB2B. From Amazon Sales and Traffic (Data Kiosk). Data may be delayed by up to 3 days and may remain incomplete or be revised for up to 30 days after the row date due to Amazon reporting limitations.
- `unit_session_percentage` (`NUMBER`, required) — Units ordered as a percentage of sessions for the child ASIN on this date, from Amazon Sales and Traffic unitSessionPercentage. From Amazon Sales and Traffic (Data Kiosk). Data may be delayed by up to 3 days and may remain incomplete or be revised for up to 30 days after the row date due to Amazon reporting limitations.
- `unit_session_percentage_b2b` (`NUMBER`, required) — B2B units ordered as a percentage of B2B sessions for the child ASIN on this date, from Amazon Sales and Traffic unitSessionPercentageB2B. From Amazon Sales and Traffic (Data Kiosk). Data may be delayed by up to 3 days and may remain incomplete or be revised for up to 30 days after the row date due to Amazon reporting limitations.
- `units_refunded` (`NUMBER`, required) — Units refunded for the child ASIN on this date, from Amazon Sales and Traffic unitsRefunded. Can differ from return_units, which counts customer returns. From Amazon Sales and Traffic (Data Kiosk). Data may be delayed by up to 3 days and may remain incomplete or be revised for up to 30 days after the row date due to Amazon reporting limitations.
- `units_refunded_b2b` (`NUMBER`, required) — B2B units refunded for the child ASIN on this date, from Amazon Sales and Traffic unitsRefundedB2B. Included in units_refunded, not additive. From Amazon Sales and Traffic (Data Kiosk). Data may be delayed by up to 3 days and may remain incomplete or be revised for up to 30 days after the row date due to Amazon reporting limitations.
- `refund_rate` (`NUMBER`, required) — Units refunded as a percentage of units ordered for the child ASIN on this date, from Amazon Sales and Traffic refundRate. From Amazon Sales and Traffic (Data Kiosk). Data may be delayed by up to 3 days and may remain incomplete or be revised for up to 30 days after the row date due to Amazon reporting limitations.
- `refund_rate_b2b` (`NUMBER`, required) — B2B units refunded as a percentage of B2B units ordered for the child ASIN on this date, from Amazon Sales and Traffic refundRateB2B. From Amazon Sales and Traffic (Data Kiosk). Data may be delayed by up to 3 days and may remain incomplete or be revised for up to 30 days after the row date due to Amazon reporting limitations.
- `shipped_product_sales` (`NUMBER`, required) — Shipped product sales for the child ASIN on this date in the row currency, from Amazon Sales and Traffic shippedProductSales. Amazon reports shipped values per child ASIN as 0 for older days (seen on days a year or more back); use the amazon_profit_by_date shipped columns for daily totals. From Amazon Sales and Traffic (Data Kiosk). Data may be delayed by up to 3 days and may remain incomplete or be revised for up to 30 days after the row date due to Amazon reporting limitations.
- `shipped_product_sales_b2b` (`NUMBER`, required) — B2B shipped product sales for the child ASIN on this date, from Amazon Sales and Traffic shippedProductSalesB2B. Included in shipped_product_sales, not additive. Amazon reports shipped values per child ASIN as 0 for older days (seen on days a year or more back); use the amazon_profit_by_date shipped columns for daily totals. From Amazon Sales and Traffic (Data Kiosk). Data may be delayed by up to 3 days and may remain incomplete or be revised for up to 30 days after the row date due to Amazon reporting limitations.
- `units_shipped` (`NUMBER`, required) — Units shipped for the child ASIN on this date, from Amazon Sales and Traffic unitsShipped. Amazon reports shipped values per child ASIN as 0 for older days (seen on days a year or more back); use the amazon_profit_by_date shipped columns for daily totals. From Amazon Sales and Traffic (Data Kiosk). Data may be delayed by up to 3 days and may remain incomplete or be revised for up to 30 days after the row date due to Amazon reporting limitations.
- `units_shipped_b2b` (`NUMBER`, required) — B2B units shipped for the child ASIN on this date, from Amazon Sales and Traffic unitsShippedB2B. Included in units_shipped, not additive. Amazon reports shipped values per child ASIN as 0 for older days (seen on days a year or more back); use the amazon_profit_by_date shipped columns for daily totals. From Amazon Sales and Traffic (Data Kiosk). Data may be delayed by up to 3 days and may remain incomplete or be revised for up to 30 days after the row date due to Amazon reporting limitations.
- `orders_shipped` (`NUMBER`, required) — Orders shipped for the child ASIN on this date, from Amazon Sales and Traffic ordersShipped. Amazon reports shipped values per child ASIN as 0 for older days (seen on days a year or more back); use the amazon_profit_by_date shipped columns for daily totals. From Amazon Sales and Traffic (Data Kiosk). Data may be delayed by up to 3 days and may remain incomplete or be revised for up to 30 days after the row date due to Amazon reporting limitations.
- `orders_shipped_b2b` (`NUMBER`, required) — B2B orders shipped for the child ASIN on this date, from Amazon Sales and Traffic ordersShippedB2B. Included in orders_shipped, not additive. Amazon reports shipped values per child ASIN as 0 for older days (seen on days a year or more back); use the amazon_profit_by_date shipped columns for daily totals. From Amazon Sales and Traffic (Data Kiosk). Data may be delayed by up to 3 days and may remain incomplete or be revised for up to 30 days after the row date due to Amazon reporting limitations.
- `product_name` (`TEXT`, required)
- `product_brand` (`TEXT`, required)
- `product_category_root` (`TEXT`, required)
- `product_category_node` (`TEXT`, required)
- `product_image_url` (`TEXT`, required)
- `product_url` (`TEXT`, required)
- `currency` (`TEXT`, required)

---

Query live via DataDoe MCP `exports_source_get` (connected accounts only), or request rows with `exports_create`.
