Upload custom costs for profitability
Profitability metrics (contribution margin, gross profit per SKU) require uploaded cost data — COGS at minimum, with additional periodic fees (shipping, fulfillment, etc.) as needed.
What you need
Section titled “What you need”| Field | Required | Notes |
|---|---|---|
| SKU or product identifier | Yes | Must match the ecommerce datasource’s identifier |
| Cost per unit | Yes | The COGS for the SKU |
| Effective date | Yes | When this cost takes effect; previous values continue applying until this date |
| Currency | Optional | Defaults to workspace currency if absent |
For the exact column names and format, see Custom costs (CSV upload).
Step-by-step
Section titled “Step-by-step”- Prepare the CSV. Columns:
sku,cost,effective_date, optionallycurrency. - Open Settings → Integrations → Custom costs.
- Click Upload CSV and select the file.
- Review the validation summary. Ignyte IQ flags rows with unrecognized SKUs or missing required fields.
- Confirm. The upload processes and the costs become available within a few minutes.
After upload
Section titled “After upload”Profitability metrics appear in the DTC dashboard’s metric set: contribution margin per product, gross profit, and profit-aware ROAS variants. They also become available as measures in Reports.
The ℹ️ panel on any profitability metric shows the cost source — the upload file and date the cost was effective from.
Updating costs
Section titled “Updating costs”Re-upload a CSV with new effective dates. Historical periods continue to use the previous cost values; future periods use the new ones. There’s no merging — each upload’s effective_date column controls when the new cost applies.
Troubleshooting
Section titled “Troubleshooting”- Rows flagged as “unknown SKU” — the SKU doesn’t match what’s in the ecommerce datasource. Confirm exact SKU spelling.
- Profitability metric still shows “No cost data” — confirm the upload completed and the effective date is in the past relative to the metric’s date range.
- Profitability values look wrong — check the ℹ️ panel for the active cost source.