eCommerce Case Study · Home Décor, Indoor & Patio Furniture

$4.57M in Ad Spend. 5.32X ROAS. Held for 19 Months Straight.

One of the largest home décor dropshipping stores in the US came to us profitable on paper and stuck in reality. They couldn’t spend more without watching returns collapse. Here’s what was actually blocking them, and how we scaled to $200K/month without losing a point of ROAS.

Ad Spend Managed

$4.57M

Across Google Search, Shopping, PMax & YouTube

Revenue Generated

$24.3M

Tracked through Hyros, not Google-reported

Blended ROAS

5.32

 Sustained, not a peak month

Duration:

19 Months

We setup their In-House Team and handed it to them

Market

USA

Nationwide, full catalog

A Profitable Account That Couldn't Grow

They weren’t losing money. That’s what made this hard.

The store had a large catalog, active Google and YouTube campaigns, and a return that looked acceptable on the surface. But every time they pushed budget up, performance fell apart. Spend more, earn proportionally less. So they sat at a ceiling they couldn’t explain, watching a market they knew they should own.

The brief was simple to say and difficult to do: increase spend significantly, and keep every additional dollar profitable.

The Account Wasn't Underperforming. It Was Misreporting.

Before touching a single bid, we audited how the account measured success. That’s where the ceiling was hiding.

The conversion data was double-counted. Duplicate conversion actions were firing on the same purchases. Every campaign looked better than it was, which meant Google’s bidding algorithms were optimizing toward a version of reality that didn’t exist.

Every product category shared one conversion goal. A $40 throw pillow and a $900 patio set were feeding the same signal. The algorithm had no way to know which product lines actually deserved budget, so it spread spend evenly across products with wildly different margins.

Brand and non-brand traffic were mixed together. This is the one that mattered most. Brand searches convert at a rate no acquisition campaign can match. Blended into the same campaigns, they were propping up the average and hiding the fact that non-brand, the part of the account responsible for actual growth, was nowhere near profitable.

The attribution model was starving the algorithm. Google’s AI is only as good as the data you feed it. A last-click model on a considered purchase with a long decision cycle was throwing away most of the signal.

None of this shows up as a “problem” in a Google Ads dashboard. The account looked fine. It just couldn’t scale, because scaling amplifies whatever your measurement is telling the machine, and the measurement was wrong.

Fix the Signals First. Scale Second.

Restructure this as three phases instead of one long bullet list. The phase framing shows sequence and judgment, which is what a prospect is actually buying.

Phase 1 — Rebuild the Measurement Layer

Nothing else happens until the account is telling the truth.

  • Removed duplicate conversion actions so purchases were counted once
  • Built separate conversion actions per product category, making campaign-level optimization possible for the first time
  • Mapped conversion actions to each stage of the buyer journey (page view, add to cart, purchase) so we could see where the funnel leaked, not just where it ended
  • Rebuilt the attribution model to give Google’s AI the full decision path instead of a single touchpoint
  • Set campaign-specific goals so each campaign was optimized against the outcome it was actually responsible for
  • Skipped Enhanced Conversions deliberately, since Hyros was already handling tracking and measurement. Adding a second source would have created the exact conflict we’d just cleaned up.

 

Phase 2 — Rebuild the Campaign Architecture

Once the data was clean, we separated the account into layers that could each be scaled independently.

  • Brand split from non-brand. This immediately exposed the real cost of acquisition and gave us a number worth optimizing.
  • Standard Shopping for the full catalog, so no product was invisible
  • Smart Shopping for proven winners, letting automation push hardest where the margin already existed
  • Performance Max segmented by audience, with product-level segments built in from day one specifically so scaling later would be a lever, not a rebuild
  • In-app purchase campaigns to capture conversions happening outside the website
  • YouTube for top-of-funnel awareness, with those viewers retargeted through Discovery
  • Display remarketing to hold attention across a long consideration window
  • RLSA on search, because someone who already visited and searched again is the cheapest conversion in the account
  • Full extension coverage across every ad to lift CTR and Quality Score
  • Automated promotional scheduling for weekly offers and seasonal peaks, so nothing depended on someone remembering

 

Phase 3 — Scale Without Breaking It

Scaling is where most accounts fall over. This is the part that ran for 19 months.

  • Continuous search term review, cutting waste and redirecting budget toward queries that converted
  • Top and mid-funnel campaigns scaled first, since bottom-funnel demand is capped by how many people already want to buy
  • Ongoing audience testing to keep finding new pockets of demand before existing ones saturated
  • Deep analysis of Performance Max insights to understand what the black box was actually rewarding
  • High-performing search terms pulled out into their own dedicated campaigns, where they could be controlled and scaled directly instead of competing for budget inside a broad campaign

19 Months. No Collapse.

The number worth paying attention to isn’t the 5.32X. It’s the 19.

Plenty of accounts hit a 5X ROAS in a good month. Very few hold it while spend climbs to $200K a month, because scale usually costs you efficiency. This account added budget for a year and a half without giving back the return.

That’s the difference between an account that got lucky and an account that was built properly.

Screenshot of the Performance Data

What This Case Study Doesn't Show

This account didn’t reach 5.32X because everything we tried worked. It got there because we were willing to let most things fail, and fail fast.

We tested 15 cold audiences before finding 2 that could hold profitability at scale. That means 13 didn’t make it. Every one of them cost real budget to learn from, and every one narrowed the field for the two that mattered.

Keyword testing ran the same way. We pushed campaigns across multiple product lines until we found the break-even point for each, then built negatives aggressively around everything sitting below it. Knowing precisely where a keyword stops paying is worth more than finding another one that might.

Is Your Account Stuck at a Ceiling?

If you’re spending consistently but can’t push budget without returns dropping, the problem usually isn’t your bids. It’s what your account is telling Google.

We’ll look at your measurement setup, your campaign structure, and where your spend is actually going, and tell you what’s blocking scale. No pitch deck.

Fuel Digital AI Chatbot
Fuel Digital ’s AI Assistant Hi, I’m Tom. How can I help you?
Tom - Fuel Digital AI