Daily data import
Historical data import
Supported data types
Costs
Indeliveries
Inventory
Logistics
Orders
Product Attributes
Returns
File requirements
File naming convention
File naming convention
costs, indeliveries, inventory, logistics, orders, productAttributes, returns2026-04-15, name your file:.csv, .xls, .xlsx, .parquetFolder structure
Folder structure
{dataType} token used in the filename.| Data type | Folder name |
|---|---|
| Costs | costs |
| Indeliveries | indeliveries |
| Inventory | inventory |
| Logistics | logistics |
| Orders | orders |
| Product Attributes | productAttributes |
| Returns | returns |
Technical specifications
Technical specifications
| Specification | Value |
|---|---|
| Delimiters | Comma , or semicolon ; |
| Decimal sign | Dot . (e.g., 1250.75) |
| Multiple values | Pipe-separated and quoted: "value1|value2|value3" |
| Column order | Columns can be in any order — we match by header name, not position |
multi in the schema.Good to know
COGS priority
COGS priority
MMM and incrementality testing requirements
MMM and incrementality testing requirements
Marketing Mix Modeling (MMM)
MMM requires a minimum of one year of historical marketing costs data to capture seasonality patterns and produce reliable channel-level recommendations. For profitability-based optimization targets (NGP2 or NGP3), COGS, returns, and fulfillment cost data must also be present.| Requirement | Data type | Field(s) | Notes |
|---|---|---|---|
| Historical costs (min. 1 year) | Costs | All required fields | Daily costs per channel, market, and campaign |
| COGS (NGP2 / NGP3) | Orders or Inventory | cogs | Cost of goods sold per unit |
| Returns (NGP2 / NGP3) | Returns | All required fields | Needed to calculate net revenue after returns |
| Fulfillment costs (NGP2 / NGP3) | Logistics | All required fields | Shipping and fulfillment costs per order |
Incrementality testing
Dema’s incrementality testing is based on geo-experiments that assign postal code zones to treatment and control groups. For this to work, your orders data must includezipCode for the markets you want to test. Without postal codes, Dema cannot construct valid treatment and control regions.The same profitability data required for MMM (historical costs, COGS, returns, and fulfillment costs) is also recommended for incrementality testing, as it enables profit-based measurement (NGP2 / epROAS) in addition to gross sales.| Requirement | Data type | Field(s) | Notes |
|---|---|---|---|
| Geo-experiments | Orders | zipCode | Required — postal code of the shipping address (no spaces) |
| Profitability measurement | Costs, Orders/Inventory, Returns, Logistics | See MMM table above | Recommended — enables epROAS measurement |
Storefront assignment
Storefront assignment
externalStorefrontId column in your data for granular per-row assignment.Merchant mappings
Setup instructions
Choose your preferred method for uploading files to our platform:sFTP
Azure Blob Storage
- sFTP
- Azure Blob Storage
Data schemas
Costs
Marketing costs data for campaign tracking and ROI analysis.costs/Fields
Fields
Example file
Example file
Indeliveries
Track incoming product deliveries to your warehouses.indeliveries/Product level fields
Product level fields
Variant level fields
Variant level fields
Example file
Example file
Inventory
Stock levels across your warehouses. Product metadata (name, brand, category, etc.) is sent separately via Product Attributes. See COGS priority for how cost values are resolved.inventory/- Version 2 (Current)
- Version 1 (Legacy)
Fields
Fields
Example file
Example file
Logistics
Shipping and fulfillment costs associated with orders.logistics/Fields
Fields
Example file
Example file
Orders
Customer transaction data including order details and line items. See COGS priority for how cost values are resolved.orders/How order data should be structured
How order data should be structured
orderId, productId, and variantNo.| Requirement | Description |
|---|---|
| Unique rows | Each row must have a unique orderId-productId-variantNo combination |
| Quantity handling | If multiple items of the same variant were bought, aggregate them using quantityDecimal |
| Tax inclusion | All prices should include tax |
| Header repetition | Order header fields (like orderId, currency, total) must be repeated for every line item belonging to the same order |
| Updates | When updating an order, include the updatedAt field along with the changed fields |
| Line-level overrides | Line-level fields override their order-level equivalents when set: statusLine overrides status, and shippingProviderLine overrides shippingProvider |
Order header fields
Order header fields
Order line fields
Order line fields
Return fields (within orders)
Return fields (within orders)
Custom attributes
Custom attributes
Example file
Example file
Product Attributes
Product metadata including names, categories, and descriptive attributes for your catalog.productAttributes/Required fields
Required fields
Optional fields
Optional fields
Custom attributes
Custom attributes
Example file
Example file
Returns
Returns can be sent in three ways (listed in preferred order):returns/1. Part of orders
2. Referenced return
3. Unreferenced return
- Referenced returns
- Unreferenced returns
Fields
Fields
Explanation: Snapshot logic
Explanation: Snapshot logic
Example file (mixed referenced and unreferenced)
Example file (mixed referenced and unreferenced)

