A US DTC bedding brand was paying $7.70 per purchase on Meta Ads at a 4.5x ROAS - workable, but well below what the account could do. A Pixel audit, account restructuring, and testing 25 creatives pushed ROAS to 5.6x and cut cost per purchase by 18%.

The Challenge

The client had been running Meta Ads for a while with a stable but modest result: a 4.5x ROAS and a $7.70 cost per purchase. For a bedding and home textiles brand, that's workable economics, but the account was clearly hitting a ceiling rather than its actual limit.

Three problems were compounding each other. Creatives that once converted well had worn out the audience and started producing weaker responses. Pixel and event tracking had never been fully verified, so part of the optimization relied on inaccurate purchase data. And audiences stayed broad and unrefined, spreading budget across people at very different stages of buying intent.

What We Did

Pixel and tracking audit

Before optimizing anything, we verified the entire Meta Pixel event chain end to end: product views, add to cart, purchase. Without clean purchase data, every optimization decision after that point rests on guesswork instead of facts.

Account restructuring

We rebuilt more than 10 campaigns, splitting them by job: prospecting for new buyers, retargeting people who had already shown interest, and catalog-based campaigns, each on its own. Every workstream got its own bidding logic instead of one shared budget for everything.

Audience rebuilding

Using the cleaned data, we built new custom and lookalike audiences. Instead of broad targeting at anyone interested in home textiles, the algorithm got a sharper signal for who to actually look for.

Creative testing at scale

Instead of hunting for one winning ad, we tested 25 variations: static, carousel, and video. That volume of testing separates creative that genuinely converts from creative that just happened to catch cheap clicks.

Continuous optimization

Budget shifted daily toward the best-performing combinations, and weak ones got paused. Constant monitoring instead of a one-time setup left to run on its own for months.

The Result

The five workstreams ran in parallel, not one after another, and that mattered: clean tracking made every following decision more reliable instead of a guess. Cost per purchase dropped 18%, from $7.70 to $6.30. ROAS grew 24%, from 4.5x to 5.6x.

Both numbers improved at the same time, which is rare - lowering cost per purchase and raising ROAS usually pull in opposite directions. That's a sign the problem was never the budget or the offer. It was account structure and the quality of the data the algorithm had to work with.