← Back to the universe
RetailEcommerceMarketingWebsites

Omnichannel Retail System

Online-to-store measurement and a lifecycle engine connecting 34 physical stores to digital demand.

Multi-brand retail group · 2021 — 2023

4.6x
Blended ROAS
22%
Owned revenue
34
Stores connected
01 · Challenge

Digital was judged on last-click ecommerce revenue while most purchases happened in store — so the channel that drove footfall looked unprofitable.

02 · Research

A geo holdout test across matched store clusters measured the true incremental effect of paid social on in-store revenue.

03 · Strategy

Measure incrementality, then fund it. Build a lifecycle layer that owns the customer between purchases.

04 · Tracking

POS-to-CRM identity resolution, offline conversion imports, geo-based incrementality testing.

05 · Optimization

Quarterly incrementality re-tests, catchment-level budget allocation, and creative localization per region.

06 · Lessons Learned

When measurement is wrong, the correct decision looks like the wrong one. Fixing the lens changed the entire budget.

Execution
  1. 01Ran geo holdout experiments to establish incremental lift baselines.
  2. 02Connected POS data to the customer data layer for offline conversion imports.
  3. 03Rebuilt product feeds and local inventory ads per store catchment.
  4. 04Launched lifecycle flows across email, SMS and WhatsApp.
Results
  • Blended ROAS from 2.8x to 4.6x
  • 22% of revenue from owned channels
  • Local inventory ads driving measurable footfall in 34 stores
Geo holdout design
Matched store clusters for incrementality testing.
Local inventory ads
Feed architecture per store catchment.
Technologies
ShopifyKlaviyoMeta AdsGoogle Merchant CenterBigQuery
My role

Performance lead and measurement architect.

Business impact

Digital was reclassified from cost center to the group's primary footfall driver.

Continue exploring