How Perfect White Tee recovered $92K in monthly abandonment revenue and cut CAC 33% with Upstack Signal

Overview
Perfect White Tee is an 8-figure women's fashion brand that does exactly what the name suggests – they make the perfect white tee.
What started as a simple mission to create the ideal T-shirt has grown into a full collection of women's essentials. Clean lines, quality materials, and timeless design have earned them a loyal following.
.png)
The brand had scaled from 6-figures in 2022 to 8-figures by 2023 – a huge leap. Everything was going well until they hit a wall around February. Meta performance became volatile. CAC climbed from $60 to $90. People on Twitter started complaining about data issues and attribution. Nothing was making sense in Facebook.
At the same time, Klaviyo flows were underperforming despite excellent execution. The core problem was identity.
When visitors opt in or purchase, their email gets collected. When they return, automations should trigger automatically. But this only works if the returning visitor is accurately matched to their Klaviyo profile. If the person in the browser isn't identified correctly – even if they're a returning customer coming back 30-45 days later – none of the automations fire.
Perfect White Tee had compounding issues:
First, third-party email enrichment. They were using a third-party platform to purchase email addresses. While this increased volume, it caused high spam rates and deliverability issues – plus the purchased emails had identity gaps that prevented flows from firing.
Second, Meta attribution was breaking down. They relied on in-platform reports to optimize campaigns, but the data wasn't reliable.
Their biggest challenges were:
- Returning customers unrecognized across browsers and devices
- Klaviyo flows not firing for known customers
- Meta attribution becoming increasingly unreliable
- Deliverability issues from third-party email enrichment
- Uncertainty about which campaigns were actually driving sales
Best month ever in 30 days
Johnny from Perfect White Tee found Upstack when the company was still very small. Despite having demoed other tools like Blotout and Elevar, he gave us a chance.
Upstack handles all onboarding with white-glove service. We do a full audit to ensure tracking is set up correctly – it's a differentiating feature because infrastructure issues are hard to assess if they're not working behind the scenes.
After onboarding Perfect White Tee, we set up their Klaviyo flows. They already had enriched abandonment flows running from another provider, so we ran a head-to-head test.
The results were clear within 30 days: The other provider's flows went to zero after we fixed the setup – most of their value was cannibalizing existing flows. Meanwhile, Upstack's abandonment flows showed a 50% increase in volume.
For Meta, the timing was critical. Within two weeks of installing Upstack, Johnny had the best month Perfect White Tee had ever recorded. CAC dropped from $90 to $60 in a week. They didn't change anything else – no creative changes, no campaign changes. Just better data.
While the entire DTC Twitter sphere was in panic mode about Meta being broken, Johnny looked at his dashboard and everything looked great.
Upstack's deployment focused on:
- Real-time identity matching of returning visitors – tracking customers persistently across sessions
- Cross-device/session enrichment – connecting mobile, desktop, and checkout sessions
- Flow configuration with exclusion logic – ensuring Upstack flows only triggered for users who missed standard Klaviyo automation
- Meta CAPI enrichment – feeding verified first-party identifiers into Meta with every event
- Deliverability cleanup – coordinating with their email agency to fix spam issues
$92K/month recovered + 33% CAC reduction + 90x ROI
Within 30 days of deployment, Upstack-enriched flows added $92,000/month on top of existing Klaviyo performance. Standard Klaviyo flows continued performing at $115,000/month.
Importantly, Upstack didn't touch creative or send duplicate emails. We enriched the existing system by triggering flows only for users who were previously missed.
On the Meta side, CAC dropped from $90 to $60 in one week – a 33% reduction. Perfect White Tee had their best month ever within 30 days of installing Upstack.
And critically: while the entire DTC Twitter sphere was in panic mode – everyone complaining about Meta being broken, attribution falling off a cliff, CPAs skyrocketing, cost caps stop spending – Johnny looked at his dashboard and everything looked great.

What changed for the brand
- +$92,000/month in abandonment flow revenue – emails that would've never been sent without Upstack
- 33% CAC reduction – from $90 to $60 in one week
- 90x ROI – exceptional return on the product
- 1.8x flow volume increase – dramatically more emails sent without cannibalizing existing flows
- Best month ever within 30 days of deployment
- EMQ improvements to 7.5+ for lower-funnel Meta events
- Stable performance during industry volatility – while others struggled, Perfect White Tee scaled
Johnny has been with us for over a year now. Upstack continues to perform month in and month out, and the effects compound over time as we learn more about the business and customers.
One platform. Both channels. Transformative results.
Perfect White Tee had excellent marketing, strong creative, and a loyal customer base. But identity gaps were costing them revenue on both email and paid channels simultaneously.
Upstack fixed the foundation – and everything improved at once:
- Email: $92K/month recovered, 1.8x flow volume
- Paid: 33% CAC reduction, stable during volatility
- Overall: 90x ROI, best month ever
The story proves that identity isn't just an email problem or just a paid media problem – it's the infrastructure problem that affects everything.
When you fix identity, you don't just improve one channel. You transform the entire marketing engine.
Perfect White Tee scaled from 6-figures to 8-figures in a year. With Upstack, they're continuing that trajectory – but now with complete visibility and control.
.png)

.webp)


.webp)
%20(1).webp)