An ecommerce Google Ads case study does not always end with “we doubled the budget and revenue followed.” Sometimes the more instructive story is about a brand that was already spending enough, already running Performance Max and Shopping campaigns, and still watching revenue flatten quarter over quarter. This is that story. An ecommerce brand selling specialty home goods across several hundred SKUs rebuilt its Google Ads structure without increasing budget and unlocked meaningful revenue growth by fixing three problems that had been compounding under the surface for months: Performance Max cannibalizing branded search, product feed errors suppressing Shopping eligibility, and tROAS targets set so defensively they were choking volume. The result was a material increase in revenue and, more importantly, a shift in where that revenue came from. Here is how it played out.

The Situation: A Scaling Ecommerce Brand With A Plateauing ROAS

The Business: What They Sell And What Scale Looks Like

The brand sells specialty home goods direct-to-consumer through their own Shopify store. They carry several hundred active SKUs across a range of price points, with average order values sitting in the $80 to $150 range. At the time this story begins, the brand was spending roughly $60K per month on Google Ads, split across Performance Max campaigns, standard Shopping, branded Search, and a handful of non-branded Search campaigns targeting category-level queries.

This is the kind of account that looks healthy at a surface level. Spend is consistent, ROAS is above breakeven, and the campaigns have been running long enough that Smart Bidding has ample conversion data to work with. The team had an in-house marketer managing the account with support from a freelance Google Ads specialist who checked in a few times per month.

The Problem: Growth Stalled Despite Increasing Budget

The brand had tried the obvious lever. They pushed monthly spend from $45K to $60K over two quarters. Revenue grew for the first few weeks after each budget increase, then flattened. ROAS dipped with each increase and never recovered to where it had been at the lower spend level. The in-house marketer’s diagnosis was that the market was getting more competitive and CPCs were rising. The freelancer suggested testing new ad copy and refreshing creative assets. Neither explanation was wrong, exactly, but neither addressed what was actually happening inside the account.

What The Account Looked Like Before The Rebuild

The account had three Performance Max campaigns organized loosely by product category, one branded Search campaign, two non-branded Search campaigns, and a standard Shopping campaign that had been paused months earlier when Performance Max “took over.” There was no brand exclusion list applied to Performance Max. The product feed in Merchant Center had not been audited in over six months. All campaigns were running on tROAS targets that had been set at account launch and never meaningfully adjusted.

This is not an unusual setup. It is the default state of most ecommerce Google Ads accounts that were migrated to Performance Max when Google pushed the transition. And that default state contains structural problems that do not show up in top-line metrics until growth stalls.

The Diagnosis: Three Structural Problems Nobody Had Fixed

Problem 1: Performance Max Was Cannibalizing Branded Search Revenue

The most damaging issue was one that flatters the metrics. Performance Max was serving ads on branded search queries and claiming credit for conversions that the branded Search campaign would have captured at a fraction of the cost. Because Performance Max reports blended ROAS across all its placements (Search, Shopping, Display, YouTube, Discovery), branded search conversions inflated the campaign’s apparent performance, masking poor returns on actual prospecting placements.

When the team segmented Performance Max search term data using the insights tab and cross-referenced it with branded Search campaign impression share, the picture was clear. Branded impression share on the dedicated Search campaign had dropped substantially over time as Performance Max absorbed that traffic. The “high-performing” Performance Max campaigns were, in large part, a branded search campaign wearing a trench coat.

This matters because every dollar Performance Max spends acquiring a branded click is a dollar not spent acquiring a new customer. For a deeper look at how to measure whether brand bidding is actually adding incremental value, this breakdown of brand term incrementality testing covers the methodology.

Problem 2: The Shopping Feed Had Product Title And Category Errors Across 40% Of SKUs

The second problem was invisible inside Google Ads but devastating inside the auction. Roughly 40% of the brand’s SKUs had product titles that did not match actual search behavior (using internal product names instead of the terms customers search), incorrect or overly broad Google product categories, and missing or misformatted attributes like GTIN, color, and material.

Feed quality directly determines auction eligibility in Shopping. Google matches Shopping ads to queries based on the product feed, not keywords. When titles are wrong and categories are too broad, those products either do not enter the right auctions or enter them at a disadvantage. The brand was paying full price for the SKUs that were eligible while leaving significant catalog depth sitting on the bench.

Problem 3: Smart Bidding Targets Were Set To Protect ROAS Instead Of Grow Volume

The tROAS targets across the account were set high, around 5x to 6x, and had been there since launch. The logic was simple: the brand needed a certain margin to be profitable, and the tROAS target was set to protect that margin. The problem is that tROAS works as a constraint, not just a goal. Set it too high and Smart Bidding will restrict the auctions it enters, bidding only on the highest-intent (usually branded or remarketing) queries where it can confidently hit the target. The algorithm does exactly what you tell it to do. Tell it to protect ROAS above all else and it will sacrifice volume to comply.

This is a pattern that shows up consistently in ecommerce accounts and is one of the warning signs that your Google Ads strategy needs structural change rather than more optimization within the current framework.

The Fix: A Phased Rebuild That Did Not Reset Smart Bidding Learning

The rebuild was designed to fix all three problems without blowing up Smart Bidding’s accumulated learning data. Resetting campaigns from scratch would have meant weeks of re-learning and volatile performance. The phased approach preserved signal while changing structure underneath.

Phase 1: Feed Cleanup And Category Correction In Merchant Center

The first phase was entirely inside Merchant Center. Every active SKU’s title was rewritten to lead with the search terms customers actually use, sourced from Search Terms reports and third-party keyword data. Google product categories were corrected from broad parent categories to the most specific subcategory available. Missing attributes (GTIN, color, size, material, pattern) were populated across the catalog.

This phase took roughly two weeks of concentrated work. No campaign settings were changed during this period. The goal was to let Google re-index the feed and start matching products to the correct auctions before touching anything on the campaign side.

Phase 2: Separating Branded And Non-Branded Traffic With Campaign Structure Changes

Brand exclusion lists were applied to all Performance Max campaigns so that branded search queries could only be served by the dedicated branded Search campaign. This is a feature Google rolled out specifically because of the cannibalization problem described above, and yet a large number of ecommerce accounts still have not implemented it.

With branded traffic separated, the Performance Max campaigns’ true prospecting performance became visible for the first time. As expected, blended ROAS dropped when you removed the branded search subsidy. This is a necessary and healthy correction. You cannot fix what you cannot see.

Phase 3: Adjusting tROAS Targets To Allow Volume Growth While Protecting Margin

With clean data now flowing from the feed fix and honest performance data from the brand separation, tROAS targets were stepped down gradually. Not to unprofitable levels, but from the 5x to 6x range down to 3.5x to 4x over a three-week period, with adjustments made in increments small enough that Smart Bidding could adapt without wild swings.

The logic: a 4x ROAS on a meaningfully larger volume of incremental, non-branded conversions is worth more to the business than a 6x ROAS on a capped volume that is partly branded traffic anyway. The math only works, though, if you have already fixed the feed (so you are entering the right auctions) and separated brand (so you are measuring real prospecting returns).

Phase 4: Asset Group Segmentation In Performance Max By Product Margin Tier

The final phase restructured Performance Max asset groups by product margin tier rather than product category. High-margin products were grouped into asset groups with slightly more aggressive tROAS targets, while lower-margin products ran at tighter targets that reflected their actual contribution margin. This let the algorithm optimize spend allocation based on which products could profitably absorb more aggressive bidding, rather than treating every SKU the same.

This kind of margin-aware campaign structure is where a proprietary engine trained on large-scale ecommerce ad spend data, like the one groas runs underneath its managed accounts, creates separation from what a single media buyer can physically model and maintain across hundreds of SKUs. An engine processes margin data, feed quality signals, and auction-level performance simultaneously and adjusts in real time. A human does this in a spreadsheet once a week, at best.

The Results: What Changed And Over What Timeframe

Revenue Growth Without A Proportional Increase In Spend

Within four to six weeks of completing all four phases, the account was generating meaningfully more revenue at the same monthly spend level. The specific magnitude depends on seasonality and other factors, but the directional result was clear: the budget that had previously plateaued was now scaling again because it was entering more auctions, entering the right auctions, and bidding with accurate performance data instead of inflated signals.

ROAS Stabilization After The Initial Dip During Restructure

Blended account ROAS dipped during weeks two through four of the rebuild, exactly as expected when you remove branded search inflation from Performance Max and lower tROAS targets. It stabilized at a level that was lower than the pre-rebuild vanity number but represented genuinely profitable, incremental performance. The old ROAS looked better on a dashboard. The new ROAS put more money in the bank.

The Metric That Mattered Most: Incremental Orders From New Customers

The most important shift was in customer acquisition. With branded traffic properly isolated and Performance Max actually prospecting, the share of revenue coming from new customers increased. This is the metric that compounds over time. Branded search conversions are largely re-acquiring existing customers or capturing demand that already existed. Non-branded, prospecting-driven orders represent actual growth.

What groas Builds From Day One That Prevents This Entirely

Every structural problem in this case study, the feed neglect, the Performance Max cannibalization, the static tROAS targets, the lack of margin-aware segmentation, is a problem of ongoing execution capacity. A freelancer checking in a few times a month cannot audit a feed across hundreds of SKUs. An in-house marketer juggling other responsibilities does not have time to run brand incrementality analysis. These are not knowledge gaps. They are bandwidth gaps.

This is exactly the problem groas solves. For ecommerce brands that want Google Ads fully handled, groas assigns a dedicated strategist who owns every decision in the account end-to-end, from feed structure to campaign architecture to landing page optimization. Underneath, a proprietary engine trained on over $500 billion in profitable ad spend runs execution around the clock: monitoring auction signals, adjusting bids, catching feed errors before they suppress eligibility, and reallocating spend by margin tier in real time. The strategist sets the direction. The engine makes sure nothing falls through the cracks at 2 AM on a Tuesday.

There is no onboarding fee. No long-term contract. groas earns the next month every month by performing. If you have questions about what to look for when evaluating a fully managed Google Ads service, that guide covers the specifics.

The Lesson: What Ecommerce Brands Miss About Google Ads At Scale

Why Feed Quality Is A Campaign Performance Problem, Not Just A Data Problem

Feed quality is not a Merchant Center hygiene task. It is the foundation of Shopping auction eligibility. If 40% of your catalog has bad titles and wrong categories, you are not running Google Shopping on 40% of your products, no matter what your campaign settings say. Treat the feed as a campaign performance lever, not a technical checkbox.

Why Performance Max Requires Structural Guardrails, Not Just Budget

Performance Max without brand exclusions is a branded search campaign that also sometimes prospects. The blended reporting makes it look efficient, but the incremental value is far lower than it appears. Apply brand exclusions, segment asset groups with intention, and measure prospecting performance separately. The methodology for calculating true incremental value from brand bidding applies directly here.

When To Stop Optimizing Inside A Broken Structure And Rebuild Instead

The most expensive mistake in this entire story was not any single tactical error. It was the months spent optimizing ad copy, testing new audiences, and adjusting budgets inside a structure that was fundamentally broken. New creative cannot fix a feed problem. A budget increase cannot fix a cannibalization problem. A bid adjustment cannot fix a tROAS constraint that is capping volume.

If your ecommerce Google Ads account has plateaued and the usual levers are not working, the problem is probably structural, not tactical. You can either diagnose and rebuild it yourself, which takes weeks of concentrated effort and a level of expertise that most teams do not have in-house, or you can hand it to a team built for exactly this work.

groas rebuilds ecommerce Google Ads accounts from the feed up, with a dedicated strategist owning strategy and a proprietary engine handling execution at a scale and speed no single person can match. No onboarding fee. No lock-in. Apply and find out what your account should actually be doing.