Blended CAC and MER
Total spend across Meta, Google, Amazon Ads and any other account, divided by new customers and by total revenue — one acquisition cost and one efficiency ratio that no attribution window can inflate.
Multichannel ecommerce
We build the numbers that only exist once your channels are combined: blended CAC and MER across every ad account, contribution margin per SKU after COGS, landed freight, platform fees, returns and ad spend, and true net profit by channel. One model, one agreed definition per metric, built by a senior US-based engineer in 3–5 business days.
Representative dashboard — sample data
The multichannel problem
Every platform in your stack is honest and none of them agree. Shopify counts an order the moment checkout completes; Amazon shows you money at settlement, days later and net of fees; Meta and Google each claim conversions inside their own attribution windows, so the ROAS figures add up to more revenue than your bank received. Add a 3PL that knows units but not cost, and a COGS spreadsheet that knows cost but not freight, and the Monday meeting turns into a debate about whose export is correct.
The fix is not another connector. It is one model where each fact has a single named owner — orders here, spend there, landed cost from the costing table — so blended margin, channel profit and acquisition cost can be calculated once and mean the same thing to everyone reading them.
Metrics that only exist after the channels are joined
Buy a block of prepaid Flex hours and, if you're unhappy within the first 4 hours, we refund you in full — no questions asked. Hours are deducted only for work you've reviewed and approved, there's no project minimum, and your banked hours never expire.
What we build
Each one requires data from at least two systems, which is exactly why no single platform's analytics tab can show it to you.
Total spend across Meta, Google, Amazon Ads and any other account, divided by new customers and by total revenue — one acquisition cost and one efficiency ratio that no attribution window can inflate.
Net revenue less COGS, landed freight and duty, platform and payment fees, fulfillment, returns and channel-attributable ad spend — ranked by SKU, so the products funding the business are obvious.
Marketplace, own store and wholesale side by side after their very different fee structures, with shared overhead allocated on a rule you choose and can see — not a revenue split dressed up as profit.
Cohorts by first-order month, tracked as cumulative contribution margin rather than gross revenue, set against the blended CAC paid in that month — so payback period is measured, not assumed.
One SKU dimension spanning your 3PL, your own warehouse, FBA and in-transit stock, with sell-through rate and weeks of cover per location — the view that decides what to reorder and what to move.
Every headline figure carries its source and its rule, and channel totals tie back to payouts — so when finance and marketing disagree, the model settles it instead of hosting the argument.
Because they are each counting a different event, at a different moment, in a different currency and time zone. A checkout is not a settlement; an attributed conversion is not an order; a refund issued in March against a January sale belongs to January's cohort but March's cash. None of that is an error to be fixed — it is a set of definitions to be chosen deliberately and then applied everywhere.
So the first hour of a multichannel build is not spent on visuals. It is spent deciding, with you, which system owns each fact, and writing those choices into the model as documented measures rather than leaving them in someone's head.
This is the mapping we work through before any dashboard is designed. Your stack may differ; the discipline does not.
| Fact | Why the platforms disagree | Source of truth in the model |
|---|---|---|
| Orders | Store counts checkouts; marketplace counts at settlement; ad platforms count attributed conversions | The platform that transacted the order, deduplicated on its own order ID |
| Net revenue | Gross vs discounts, shipping income, tax and marketplace price vs amount actually settled | Settled amount from the platform payout, with one written rule for discounts, shipping and tax |
| Ad spend | Each ad account uses its own time zone, currency and billing lag | Each platform's own billed spend, restated onto a single calendar and currency |
| Attributed conversions | Overlapping click and view windows mean the same order is claimed more than once | Kept as separate per-platform measures that are never summed; blended metrics use totals instead |
| Returns and refunds | Refund date, return-received date and restock date are three different dates | Recognized against the original order date so cohort margin stays honest |
| Landed unit cost | Costing sheets rarely carry inbound freight, duty or the date a cost changed | A landed-cost table by SKU with effective dates, joined on the order date |
| Inventory on hand | 3PL, own warehouse and FBA each hold a partial picture, with in-transit stock in neither | A union of location snapshots keyed to one product dimension, in-transit included |
Gross margin flatters an ecommerce brand, because the costs that vary with an order — fees, shipping, returns, the ad spend it took to win the sale — sit below the line it stops at. Contribution margin keeps going until the number left over is genuinely yours.
| Line item | Where it comes from | Why it gets lost |
|---|---|---|
| Gross revenue | Store and marketplace order lines | Shipping income and tax get quietly counted as sales |
| Discounts and promotions | Order-level discount codes and marketplace deals | Treated as marketing in one report and a revenue reduction in another |
| Returns and refunds | Refund records, plus restocked vs written-off units | Reported at company level, so high-return SKUs stay hidden |
| Platform and payment fees | Payout statements: referral, fulfillment, storage, processing | Deducted before the money lands, so they never appear as a cost |
| COGS and landed freight | Landed-cost table by SKU with effective dates | Inbound freight and duty stay in a separate accounting bucket |
| Outbound shipping and pick-pack | 3PL invoices and carrier billing | Charged per shipment, not per SKU, so it is never allocated back |
| Channel-attributable ad spend | Ad accounts, allocated by a rule you approve | Held at campaign level and never pushed down to the product |
| Contribution margin | Calculated measure over all of the above | — |
MER is total revenue divided by total advertising spend; blended CAC is total spend divided by new customers acquired. Neither depends on attribution, which is precisely their value: when every ad platform is scored on conversions it claims for itself, the sum of the parts exceeds the whole, and a brand can grow reported ROAS while its bank balance falls.
We report both alongside the per-platform figures rather than instead of them. Platform ROAS is still useful for deciding where the next dollar goes inside a channel; MER and blended CAC tell you whether the channel mix as a whole is buying profitable growth, especially when read against contribution margin rather than revenue.
Structurally it is a star schema: shared dimensions for product, customer, channel, location and date, with separate fact tables for orders, ad spend, inventory snapshots and payouts, joined only through those dimensions. That is what allows spend at campaign grain and orders at line grain to sit in one report without double counting — Microsoft's guidance on star schema design for Power BI (opens in new tab) describes the pattern we follow.
The product dimension does the heavy lifting: a mapping table you own, tying your internal SKU to store variant IDs, marketplace ASINs and seller SKUs, and the codes your warehouse uses. Get that right and every channel becomes comparable; skip it and per-SKU margin quietly falls apart. If you want more depth on the modeling itself, our Power BI data modeling and DAX page covers the measure layer.
You buy prepaid Flex hours that never expire: Starter 20h at $125/hr ($2,500), Growth 40h at $115/hr ($4,600), or Power 80h at $100/hr ($8,000), with hourly work from $100/hr. A first blended-profitability build typically fits inside one block and ships in 3–5 business days once you approve the scope estimate.
Traditional Power BI firms charge $175–250/hr, set project minimums, want $10K+ to start, let unused hours expire, and don't begin for 4–6 weeks. Flex Support is $100–125/hr, no minimums, banked hours that never expire, and a start this week — hours deduct only for work you approve. See how prepaid Flex hours work for the full comparison.
Brands past the single-channel stage: a direct-to-consumer store plus a marketplace presence, usually a 3PL or FBA, and enough paid media that acquisition cost is a board-level number. Typically somewhere between a few million and mid-eight figures in annual sales, with a finance lead or operator doing this reconciliation by hand today.
If you are working with one channel for now, the single-source pages go deeper on each: Shopify Power BI dashboards for store-side margin, WooCommerce Power BI dashboards for the self-hosted WordPress order schema, Power BI for Amazon sellers for per-ASIN profit and FBA inventory, and GA4 Power BI marketing dashboards for traffic and conversion. Brands that also trade through physical stores should start with Power BI for retail. Contact is form-only — send your request and we'll reply with a scope estimate within one business day.
business days, typical
hours, never expire
own everything
Blocks start at $2,500 for 20 hours, and hours deduct only for work you approve. See Flex pricing →
How it works
We walk your channels, cost sources and fulfillment locations, and settle the source of truth for each fact — orders, net revenue, spend, returns, landed cost. You get that map plus a scope and hours estimate before any work begins.
A senior US-based engineer builds the star schema, the SKU mapping and the measures for contribution margin, blended CAC, MER and sell-through, then reconciles channel totals back to payouts until they tie — typically 3–5 business days.
We publish to your workspace, set scheduled refresh so the blended view is current each morning, and hand over the model and credentials. You own everything; we keep it healthy and extend it from your banked hours.
Representative perspective
Our marketplace and store numbers never matched, and every meeting started by relitigating the exports. Having one agreed definition per metric ended that in a week — and showed us a channel we thought was profitable wasn't, once fees and returns were in.Finance lead, direct-to-consumer apparel brand
Representative perspective
We were optimizing to platform ROAS because it was the only number we had. Seeing MER and blended CAC next to contribution margin changed how we set budgets — and what we consider a good month.Growth director, multichannel consumer goods brand
Tell us which platforms you sell and advertise on and where your costs live. We'll scope the build and tell you the hours before any work begins — drawn from prepaid Flex hours that never expire, with no project minimums and no obligation.
FAQ
Usually none of them on their own. Each platform counts a different event at a different moment, so the model names one source of truth per fact — orders and net revenue from the platform that settled the money, spend from each ad account, attributed conversions kept as their own measure — and documents the rule beside the number.
MER is total revenue divided by total advertising spend across every channel. Because each ad platform claims conversions under its own attribution window, platform ROAS figures overlap and cannot be added up. MER needs no attribution at all, so it is the honest check on whether growth in spend produced growth in revenue.
Yes — contribution margin is only as good as the cost behind it. We build a landed-cost table by SKU with effective dates, covering unit cost plus inbound freight and duty, so margin is calculated against the cost that applied on the order date. A maintained spreadsheet is a perfectly workable starting source.
With a mapping table you own: one product dimension that ties your internal SKU to Shopify variant IDs, Amazon ASINs and seller SKUs, and the codes your warehouse or 3PL uses. Every channel fact joins through that dimension, which is what makes per-SKU margin and sell-through comparable across channels.
You buy prepaid Flex hours that never expire — 20h/$2,500, 40h/$4,600, or 80h/$8,000, or hourly from $100. A first blended-profitability build usually fits inside one block and ships in 3–5 business days once you approve the scope, with a full refund if you are unhappy in the first four hours.
Book a free demo
Tell us the task. We scope it, you approve, and a senior consultant delivers — typically in 3–5 business days. Prepaid hours that never expire.
The fastest way to reach us is the form — tell us the task and we'll reply within one business day.