Integrations
Every source,
one schema.
Ad platforms, CRM, warehouse, and commerce data land in the same touchpoint and weekly-spend schema. A channel registry keeps names consistent across weeks and sources.
Ad platforms
CRM and commerce
Warehouses
Weekly CSV
Weekly rows, one revenue column, one column per channel. Unknown channel names require an explicit create-or-map decision, so a new spelling never becomes a new channel by accident.
How it works
01
Connect or upload
Authenticate a platform, point at a warehouse table, or upload weekly CSV. Status reflects the contract check, not the upload.
02
Register channels
Owners and admins manage channel names and active or archived status. CSV mappings resolve known names and ask about unknown ones.
03
Meet the contract
Each page states what it requires and whether a threshold blocks or only warns. Modeling starts when the data qualifies.
What you get
Channel registry
One canonical name per channel across every source and week. Renames relabel; they never refit.
Dataset history
Every upload and its contract result is kept, so you can see what fed which fit.
Contract before model
Not enough weeks, not enough variation, or a missing revenue column is reported before a fit is attempted.
Organization-scoped
Row-level policies keep each organization's sources, registry, and datasets separate.
What it will not do
Boundaries we state up front, so the numbers are trusted.
- It does not silently convert units or normalize entered assumptions.
- It does not accept a stale channel spelling on concurrent writes; it refuses with a retry instruction.
- It does not fabricate rows to fill a gap in the weekly sequence.
Also in the product