Skip to main content
This page is a reference spec for the SourceMedium Configuration Sheet: what columns exist on each tab, which fields are required, and how dates/ranges are interpreted during ingestion.
Your Configuration Sheet is shared during onboarding (email + Slack) and is typically synced into SourceMedium within 24 hours.

General rules

Date formats

Different tabs parse dates differently:
  • Targets / Sales / Cost (Marketing Costs): dates are parsed from common string formats, including:
    • YYYY-MM-DD
    • MM-DD-YYYY
    • MM/DD/YYYY
    • MM/DD/YY
  • Financial Cost tabs: date_start / date_end are parsed as MM/DD/YYYY specifically.

Date ranges

  • Where a tab supports a date range, date_end is treated as inclusive (the range includes both date_start and date_end).
  • For tabs that amortize/spread amounts, the spread is done evenly across the number of days in the inclusive range.

Targets tab

Use the Targets tab for KPI targets displayed in scorecards and executive reporting.
Targets are treated as daily values across the selected date range. If you want a monthly total target, enter the per-day target value.
If multiple Target rows overlap on the same day for the same channel:
  • Summable metrics (e.g., revenue, orders, spend, sessions) are summed
  • Ratio-like metrics (e.g., AOV, CPA, ROAS) use the max value for that day
ColumnTypeRequiredNotes
channelSTRINGYesTargets are keyed by channel.
date_startSTRINGYesParsed into a date.
date_endSTRINGNoIf provided, targets apply to each day in the inclusive range.
gross_revenueFLOAT64NoTarget value (per day if using a range).
net_revenueFLOAT64NoTarget value (per day if using a range).
total_revenueFLOAT64NoTarget value (per day if using a range).
ordersFLOAT64NoTarget value (per day if using a range).
spendFLOAT64NoTarget value (per day if using a range).
sessionsFLOAT64NoTarget value (per day if using a range).
aovFLOAT64NoRatio/derived KPI targets are applied as a constant value across the range.
cpaFLOAT64NoRatio/derived KPI targets are applied as a constant value across the range.
cpoFLOAT64NoRatio/derived KPI targets are applied as a constant value across the range.
conversion_rateFLOAT64NoRatio/derived KPI targets are applied as a constant value across the range.
roasFLOAT64NoRatio/derived KPI targets are applied as a constant value across the range.
primary_product_unitsNUMERICNoOptional (brand-dependent).

Channel Mapping tab

Use Channel Mapping to route orders (and some marketing records) into consistent channels, subchannels, and vendors using rule-based matching.
ColumnTypeRequiredNotes
rowINT64YesRule priority. Higher values are evaluated first. 0 disables a row.
attributeSTRINGYesWhich input field to match against.
operatorSTRINGYesOne of: equals, contains, in (must match exactly).
valueSTRINGYesMatch value (comparison is case-insensitive). For in, use a comma-separated list (whitespace is ignored).
channelSTRINGNoOptional output channel when matched.
sub_channelSTRINGNoOptional output subchannel when matched.
vendorSTRINGNoOptional output vendor when matched.
cost_per_orderFLOAT64NoOptional CPO value associated with the matched rule.
Rules are evaluated from highest to lowest derived weight. In addition to row, some non-default channels are intentionally boosted to win over lower-priority “online” rules.

Supported attribute values

These attributes are supported by the channel mapping ingestion logic:
  • source (UTM source)
  • medium (UTM medium)
  • source_medium (combined UTM source/medium)
  • campaign (UTM campaign)
  • discount_codes (order discount codes)
  • order_tags (order tags)
  • skus (product SKUs)
  • shopify_sales_channel (Shopify sales channel / marketplace signal)

Sales tab

Use the Sales tab to enter non-integrated sales and have them included in reporting.
ColumnTypeRequiredNotes
channelSTRINGYesSales channel bucket for the entry.
sub_channelSTRINGNoOptional label for internal organization.
date_startSTRINGYesParsed into a date.
date_endSTRINGNoIf provided, amounts are spread evenly across the inclusive range.
gross_revenueFLOAT64NoTotal for the period (spread evenly if date_end provided).
net_revenueFLOAT64NoTotal for the period (spread evenly if date_end provided).
ordersFLOAT64NoTotal for the period (spread evenly if date_end provided).
primary_product_unitsNUMERICNoOptional (brand-dependent).
discountsFLOAT64NoTotal for the period (spread evenly if date_end provided).
refundsFLOAT64NoTotal for the period (spread evenly if date_end provided).
Orders are stored as whole numbers; when a Sales row spans multiple days, order counts are distributed across the range to stay integer-valued.

Cost tab (Marketing Costs)

Use the Cost tab (sometimes labeled Marketing Costs) for marketing spend that isn’t captured by an integration.
ColumnTypeRequiredNotes
categorySTRINGYesUsed to categorize spend (commonly Marketing).
channelSTRINGYesChannel where you want reporting to reflect spend.
sub_channelSTRINGNoOptional subchannel.
vendorSTRINGNoOptional platform/vendor.
costFLOAT64YesTotal cost for the period.
date_startSTRINGYesParsed into a date.
date_endSTRINGNoIf provided, cost is spread evenly across the inclusive range.

Financial Cost tabs

Financial Cost tabs define rates used for profit and cost reporting. These tabs require date_start and date_end and parse dates as MM/DD/YYYY.
For Financial Cost tabs, rows without a date_end are ignored.

Financial Cost - Product COGS

ColumnTypeRequiredNotes
categorySTRINGYesTypically Financial.
channelSTRINGYesChannel the cost applies to.
expense_channelSTRINGYesTypically Product COGS.
skuSTRINGYesSKU/variant identifier the cost applies to.
fixed_costFLOAT64YesPer-unit product cost for the SKU.
date_startSTRINGYesMM/DD/YYYY
date_endSTRINGYesMM/DD/YYYY

Financial Cost - Shipping

ColumnTypeRequiredNotes
categorySTRINGYesTypically Financial.
channelSTRINGYesChannel the cost applies to.
expense_channelSTRINGYesTypically Shipping Cost.
regionSTRINGYesRegion bucket used for allocation.
costFLOAT64YesPer-order shipping cost for the period.
date_startSTRINGYesMM/DD/YYYY
date_endSTRINGYesMM/DD/YYYY

Financial Cost - Fulfillment

ColumnTypeRequiredNotes
categorySTRINGYesTypically Financial.
channelSTRINGYesChannel the cost applies to.
expense_channelSTRINGYesTypically Fulfillment Cost.
regionSTRINGYesRegion bucket used for allocation.
costFLOAT64YesPer-order fulfillment cost for the period.
date_startSTRINGYesMM/DD/YYYY
date_endSTRINGYesMM/DD/YYYY

Financial Cost - Merchant Processing Fees

ColumnTypeRequiredNotes
categorySTRINGYesTypically Financial.
channelSTRINGYesChannel the cost applies to.
expense_channelSTRINGYesTypically Merchant Processing Fees.
regionSTRINGYesRegion bucket used for allocation.
vendorSTRINGYesPayment processor/platform label.
fixed_costFLOAT64YesFixed per-order fee.
variable_costFLOAT64YesVariable rate (used as a rate downstream).
date_startSTRINGYesMM/DD/YYYY
date_endSTRINGYesMM/DD/YYYY

Financial Cost - Operating Expenses

ColumnTypeRequiredNotes
categorySTRINGYesTypically Financial.
channelSTRINGYesChannel the cost applies to.
expense_channelSTRINGYesTypically Operating Expenses.
regionSTRINGYesRegion bucket used for allocation.
costFLOAT64YesTotal operating expenses amount for the period.
date_startSTRINGYesMM/DD/YYYY
date_endSTRINGYesMM/DD/YYYY