How Willow & Thread Increased ROAS by 40% with Unified Analytics


A Shopify case study on fixing attribution, speeding up decisions, and scaling winners.
TL;DR
Willow & Thread, a Shopify DTC home-and-lifestyle brand, increased ROAS by 40% in 6 weeks by unifying Shopify + Ads + Pixel data into one analytics workflow. The team stopped optimizing off conflicting platform numbers, identified what actually changed in the business, and shifted budget to campaigns that consistently drove Shopify revenue—while fixing a checkout drop-off that was quietly draining conversion.
Company Snapshot
- Brand: Willow & Thread
- Category: DTC home textiles (bedding, throws, towels)
- Store platform: Shopify
- Primary channels: Meta Ads, Google Ads, TikTok Ads
- Team: 1 founder + 2-person growth team (agency support on creative)
- Monthly ad spend: ~$45,000
- Baseline performance: ROAS hovering around 2.5x with frequent volatility
- Goal: Improve ROAS without cutting growth
The Challenge
Willow & Thread wasn’t short on data—they were drowning in it.
- Meta, Google, and TikTok each reported a different ROAS for the same week.
- Shopify showed orders and revenue, but it wasn’t obviouswhich channel was driving the change.
- Pixel data was noisy: some days “Purchase” events spiked without a matching lift in Shopify revenue.
Reporting took hours and still didn’t answer the one question that mattered:
“What changed, and what should we do about it?”
The outcome was predictable:
- Budgets were adjusted based on whichever platform looked best that day
- The team chased “winners” that didn’t translate into Shopify revenue
- Real issues (like checkout friction) were missed because they weren’t visible in a single view
The Approach
Instead of trying to force the platforms to agree, Willow & Thread adopted a simpler decision model:
1) Use Shopify as the source of truth for outcomes
- Orders, net sales, refunds, AOV, new vs returning customers
2) Use Ads + Pixel to explain “why”
- Spend and performance by channel/campaign
- Funnel events: ViewContent → AddToCart → InitiateCheckout → Purchase
3) Review the business through three questions
- What happened recently?
- What changed compared to the previous period?
- What should we pay attention to right now?
This shift sounds small, but it changed how decisions were made: the team stopped debating numbers and started acting on drivers.
What They Changed (3 Moves That Drove the ROAS Lift)
Move 1 — Cut “false winners” caused by attribution drift
The team noticed Meta was showing strong ROAS on broad prospecting, but Shopify revenue wasn’t rising proportionally.
They compared, week over week:
- Platform-attributed purchases vsShopify orders
- New customer share by channel (where growth was actually coming from)
- Funnel conversion rates (where intent was leaking)
What they found: One high-spend Meta campaign looked like a winner because view-through attribution was generous and purchase matching was inconsistent. Shopify revenue didn’t support it.
Action taken:
- Reduced spend on the “inflated” campaign by 30%
- Shifted that budget toward two campaigns that showed stable Shopify outcomes (even if their platform ROAS looked “less impressive”)
Result: Less spend wasted on attribution noise, and performance stabilized within the first 10 days.
Move 2 — Reallocate budget using marginal efficiency, not averages
Before, budgets were moved based on headline ROAS. After unifying reporting, they tracked signs of diminishing returns:
- CPM inflation and frequency creep (Meta)
- Rising CPC with flat conversion rate (Google)
- CTR decay and falling add-to-cart rate (TikTok)
They used a simple rule:
- Scale budgets only where Shopify revenue rises proportionally
- Pull back where spend rises faster than Shopify outcomes
Action taken:
- Increased Google Shopping budget by 20% (strong intent + stable conversion)
- Reduced TikTok spend by 15% until creative refreshed
- Kept Meta spend stable but rebalanced toward better-performing audiences
Result: ROAS improved without needing a drastic creative overhaul in week one.
Move 3 — Fix a checkout drop-off that ads couldn’t solve
The unified funnel view revealed something critical:
- Traffic and product interest were healthy
- Add-to-cart rate was stable
- Checkout completion rate dropped sharply on mobile
They dug one level deeper:
- Payment methods were not prominently displayed
- The shipping threshold messaging was unclear
- A discount code tooltip conflicted with auto-applied promos for some users
Action taken:
- Made “Shop Pay / Apple Pay” more visible at checkout
- Clarified free-shipping threshold messaging on product pages and cart
- Simplified discount interactions (reduced friction, fewer edge-case failures)
Result: Checkout completion rose, which raised the value of every paid click.
Results (After 6 Weeks)
Compared to the previous 6-week baseline:
- ROAS increased 40% (2.5x → 3.5x)
- Shopify revenue increased 18% (with similar spend)
- Checkout completion rate increased 12% on mobile
- Wasted spend decreased by ~15% (less budget going to “false winners”)
- Weekly reporting time dropped from ~3 hours to ~30 minutes
What Made It Work
1) One truth for business outcomes
Shopify revenue and orders were treated as the ground truth—no more “the platform says we’re up.”
2) Change detection over static dashboards
Instead of staring at totals, the team focused onwhat changed andwhere it changed:
- channel
- campaign
- product
- funnel step
3) Insights tied to specific actions
Every insight mapped to a decision:
- scale
- pause
- reallocate
- fix conversion friction
Key Metrics They Watched Weekly
- Net Sales, Orders, AOV
- New customer share (and new customer CAC)
- Spend by channel + revenue by channel (Shopify-based)
- Blended ROAS (Shopify revenue / total ad spend)
- Funnel conversion rates: ViewContent → ATC → Checkout → Purchase
- Refund rate by top SKUs (revenue quality)
Takeaway: Why unified analytics beats “more dashboards”
Willow & Thread didn’t win by finding a magic attribution model. They won by creating a workflow that was consistent enough to support decisions:
- one business truth,
- clear change signals,
- and actionable diagnosis across ads + funnel + Shopify outcomes.
That’s what turned ROAS from something they argued about into something they could reliably improve.
