Every platform claimed the same sale
The brand delivers fresh flowers and plants across the Netherlands, Belgium and Germany. It is a business of peaks: Valentine’s Day and Mother’s Day account for 40% of annual revenue in roughly six weeks, and every euro of ad spend in those weeks has to work. The team ran Google Ads, Meta, TikTok and email in parallel, each judged by its own dashboard.
Added together, the platforms reported 1.9 times the conversions Shopify actually recorded. Each one used a different attribution window, Meta counted view-through conversions by default, and none of them knew about the 6% of orders refunded for damaged or late deliveries. Worse, the bidding algorithms were optimizing for revenue while margin varied from 18% on a standard bouquet to 61% on a subscription plant box.
The blended return on ad spend had slid to 2.1×. Finance suspected that a large part of the budget was paying for customers who would have ordered anyway, but no one could prove it, so the budget kept growing every peak season.
“Every platform told us it was the hero. Kimo showed us the receipts, and a third of our budget was paying for orders we already had.”
Seasonal e-commerce brand · Benelux
How the e-commerce brand set up Kimo
The team connected Shopify, Google Ads, Meta, TikTok, GA4 and Mailchimp in under an hour. The Kimo model joins orders with line-item cost of goods, refunds and shipping cost per delivery zone, so every order carries a real contribution margin. Daily spend from each ad platform is mapped to the same campaign taxonomy, and attribution is standardized to a seven-day click, one-day view window across every channel.
Two measures changed the conversation. Contribution-margin ROAS (CM-ROAS) divides margin, not revenue, by spend. The overclaim ratio compares conversions reported by platforms against orders that actually shipped and were not refunded. Both are defined once in the semantic layer, so the performance team, finance and the founders all read the same number.
To test the retargeting suspicion, the team ran a two-week geographic holdout, switching off Meta retargeting in 10% of Belgian postcodes. Kimo compared the holdout cohort against matched postcodes and showed the incremental lift in near real time. An alert now fires whenever a campaign’s CM-ROAS stays below 1.0 for three consecutive days.
- Day 101/03Spend meets orders
Six channels and Shopify synced; campaigns mapped to one taxonomy.
- Day 602/03Margin-aware model
COGS, refunds and shipping per zone added; CM-ROAS defined once.
- Day 1403/03Holdout read-out
Belgian geo-holdout proves retargeting incrementality; first budget shift.


