Contribution margin per channel
Revenue minus COGS, shipping and ad spend for every channel and campaign.
WordPress store orders and products. Orders, products and customers joined with your ad spend, so you see real contribution margin per channel.
Live demo workspace with fictional data · no signup, no credentials needed

WooCommerce on its own answers half the question. Joined with the rest of your stack in Kimo, it answers the other half.
Revenue minus COGS, shipping and ad spend for every channel and campaign.
See how first-order channel and product drive second and third orders.
Revenue, units and refunds by product and variant, with stock-out alerts.
Kimo maps WooCommerce into clean, typed tables with primary keys and incremental cursors, so syncs stay fast and joins just work.
| Field | Type | Notes |
|---|---|---|
| id | id | Primary key |
| customer_id | id | References customer |
| total_price | decimal | Measure |
| currency | enum | Low-cardinality dimension |
| created_at | timestamp | Incremental cursor |
A starter model Kimo suggests the moment WooCommerce is connected. Every join is editable.
Orders and line items joined with ad spend on UTM campaign and date.

Fictional data · hover the chart for daily values
No engineers, no pipelines to maintain. Kimo asks for the minimum access it needs and tells you exactly what it will read.
Use a dedicated key scoped to read access, so it can be rotated independently.
Keys are encrypted with a per-workspace key and never shown again.
Pick which objects to sync, starting with orders.
Kimo tests the key, backfills history and keeps it fresh (hourly).
Read-only, encrypted, revocable. Credentials are encrypted with a per-workspace key, never logged, and can be rotated without breaking your models.
By default Kimo syncs WooCommerce hourly. You can change the schedule per table, or trigger a sync manually from the connector page.
Try it on the live demo workspace first, then connect your own account when you are ready.