A San Diego outdoor sports retailer with high spend and slow returns
A San Diego, California-based outdoor sports gear retailer founded in 2017, operating both ecommerce and 4 retail locations across Southern California. The business sold performance apparel and equipment from over 80 brands, with total annual revenue around $42 million and an ecommerce contribution of $14 million annually. Paid acquisition had grown to $480,000 per month, but blended ROAS had slipped from 3.2x to 1.8x over 18 months, threatening the profitability of the ecommerce channel.
Why their ad spend stopped scaling profitably
Three structural problems sat under the ROAS decline. First, the Google Shopping feed was sending traffic to product pages for items that had limited stock or were already discounted by the brand directly, wasting spend on competition the retailer could not win. Second, the dynamic remarketing pool was overweight on browse abandoners who had been served the same ads for 5 to 7 weeks, suppressing performance through ad fatigue. Third, the brand had no inventory-aware bidding logic, so the algorithm was bidding aggressively on products with declining margin and ignoring products with healthier markup.
What we built across Shopping, remarketing, and inventory logic
We rebuilt the Google Shopping feed with 18 product groupings segmented by margin, inventory depth, and seasonal demand. Custom labels marked each product with current stock count and contribution margin, and bidding rules adjusted automatically based on real-time inventory signals. We restructured the remarketing pool into 9 segments with different ad creative pulled from different stages of the buying journey, with refresh rules that paused creative after 14 days of exposure. On the software side, our engineering team built a custom inventory-aware ad spend dashboard that connected the Shopify inventory database, Google Ads API, Meta Marketing API, and the retailer's enterprise resource planning system into one operational view. The dashboard cut off ad spend on out-of-stock products within 15 minutes and reallocated budget to in-stock products with stronger margin.
Six-month results across ROAS, revenue, and inventory turn
By month 6, blended ROAS moved from 1.8x to 4.6x. Google Shopping ROAS specifically went from 2.4x to 6.1x. Wasted ad spend on out-of-stock products dropped from approximately $38,000 per month to under $400 per month. Inventory turn improved across 12 of the 14 product categories because the ad spend now actively cleared aging inventory. Cost per acquisition dropped from $84 to $34. Revenue grew from $1.2M monthly ecommerce to $2.4M monthly, despite holding total ad spend at $480K. The retailer's CFO described the engagement as the first time the ecommerce channel showed clear profitability in 3 years.
How the dashboard changed how the business operated
The custom inventory-aware dashboard became the daily operating tool for the ecommerce team. The merchandising team used it to decide which products to feature in email and on the homepage. The buying team used it to identify products that should be reordered earlier. The finance team used it to model channel-level contribution margin in real time. The dashboard remained the most-used internal tool in the company by month 12.