June 15, 2026
5
min read

How A DTC Brand Fixed Google Ads By Making Margin Visible To The Algorithm


Alexander Perleman
, Head Of Product @ groas
Ex-Goldman Sachs and Stanford Computer Science

alex@groas.ai

LinkedIn

A DTC ecommerce brand spending around $45K per month on Google Ads had strong products, healthy repeat purchase rates, and a growing organic presence. But Google Ads would not scale. Every time the team pushed budget, cost per acquisition climbed and revenue stayed flat. The root cause was not creative, bidding, or budget. It was structural: the algorithm had no visibility into product margin, so it optimized for revenue regardless of profitability. Google Ads margin optimization is the practice of feeding margin data into your campaign structure so Smart Bidding can distinguish between a $12 sale that loses money and a $12 sale that prints it. This brand rebuilt its account around that principle and grew profitable revenue without increasing spend. Here is exactly how.

The Situation: A Growing DTC Brand With Strong Products And Weak Google Ads

Account Snapshot: Budget, Channels, And Initial ROAS

The brand sold a catalog of roughly 400 SKUs across three product lines, with average order values ranging from $55 to $180. Monthly Google Ads spend sat at $45K, split across Search, Shopping, and a single Performance Max campaign that had been running largely untouched for months. Reported ROAS hovered around 3.2x, which looked acceptable on the surface. The team had an in-house marketer managing the account alongside a mid-size agency that handled campaign builds and bid management.

The Problem On The Surface: Rising CPCs And Flat Revenue

Over the prior two quarters, CPCs had climbed steadily across Shopping and PMax while total revenue stayed essentially flat. The agency's response was predictable: raise ROAS targets to protect margins, tighten budgets on underperformers, and test new ad copy. None of it worked. Volume contracted, the algorithm had less data to learn from, and the account entered a familiar death spiral where higher ROAS targets actually killed growth potential.

What The Audit Revealed: Feed Gaps, Bid Strategy Misalignment, And PMax Cannibalization

A proper structural audit told a different story than "CPCs are rising." Three issues stood out immediately:

  1. The product feed had no custom labels tied to margin. Every SKU, from a $6 gross margin accessory to a $90 gross margin flagship product, was treated identically by Smart Bidding.
  2. The PMax campaign was running with a single asset group covering all 400 SKUs with a blended tROAS target. It was cannibalizing branded Search traffic and taking credit for conversions that would have happened anyway.
  3. The tROAS targets on Shopping campaigns had been set based on blended account averages rather than per-product economics. The algorithm was aggressively bidding on low-margin products because they converted easily, while starving high-margin products that needed more auction presence.

The agency was not incompetent. They simply had not built the structural foundation that Smart Bidding needs to optimize for profit instead of revenue. This is the gap that standard monthly agency deliverables often miss entirely.

Why The Existing Agency Setup Could Not Scale

Templated Campaign Structure Not Built For This Product Catalog

The agency had deployed a campaign structure they used across most ecommerce clients: one branded Search campaign, one generic Shopping campaign, one PMax campaign, and a catch-all Dynamic Search Ads campaign. For a catalog with three distinct product lines and wildly different margin profiles, this was the wrong architecture. Templated structures work when the product catalog is homogeneous. When margin varies significantly across SKUs, a flat structure blinds the algorithm.

Smart Bidding Targets Set Too High For The Conversion Volume

The tROAS targets had been ratcheted up to 4.5x in an attempt to protect profitability. But the ROAS target trap is well documented: when targets exceed what the conversion volume can support, Smart Bidding restricts impressions, volume drops, the learning phase never completes, and performance degrades. The account was converting around 600 times per month across all campaigns. Splitting that thin volume across campaigns with aggressive targets left most campaigns data-starved.

No Custom Label Strategy, So Margin Was Invisible To The Algorithm

This was the core problem. Google's Smart Bidding optimizes toward the conversion value you feed it. If every product reports revenue as the conversion value and the algorithm has no way to distinguish a 15% margin product from a 60% margin product, it will chase whichever products convert most easily at the stated ROAS target. That often means low-margin, high-velocity SKUs eat the budget while profitable products sit in the dark.

Custom labels in the product feed exist precisely to solve this. They let you segment products by margin tier, seasonality, competitive position, or any other business logic. This brand had none. The agency had never asked about product-level margins and the feed was running on defaults from the Shopify integration.

The Fix: Rebuilding For Profitable Growth, Not Vanity ROAS

Restructuring Around Margin Tiers With Custom Labels

The first step was building a margin map. The brand's finance team provided cost-of-goods data for every SKU, which was used to calculate gross margin percentages and assign each product to one of three tiers:

  • Tier 1 (high margin, above 55%): roughly 80 SKUs, mostly flagship products
  • Tier 2 (mid margin, 30-55%): about 200 SKUs, the core catalog
  • Tier 3 (low margin, below 30%): about 120 SKUs, accessories and loss leaders

These tiers became custom labels in the product feed. From that point forward, campaigns and asset groups could be built around margin rather than product category alone. The algorithm could now "see" where profit lived.

Resetting Bid Strategy With Maximize Conversions Before Moving To tROAS

Rather than keeping the aggressive 4.5x tROAS targets, bid strategy was reset entirely. Shopping campaigns started on Maximize Conversions with no target to let the algorithm recalibrate on fresh data. This is a deliberate step that many advertisers skip because it feels like giving up control. In practice, it gives Smart Bidding the breathing room to exit a constrained learning state and rebuild its auction signals.

After roughly three weeks and sufficient conversion volume per campaign, tROAS was reintroduced, but this time calibrated per margin tier. Tier 1 products got a lower tROAS target (meaning the algorithm could bid more aggressively) because the margin supported it. Tier 3 products got a higher tROAS floor because there was less room for error. The math finally matched the business.

Separating Brand, Generic, And Competitor Traffic Into Distinct Campaigns

The single branded Search campaign was left intact, but generic and competitor traffic were separated into their own campaigns with dedicated budgets. This prevented branded traffic from inflating ROAS numbers that then set unrealistic expectations for prospecting campaigns. It also made it possible to evaluate customer acquisition cost separately from repeat purchase economics, something the blended structure had obscured entirely. For brands deciding whether to bid on their own brand terms, this separation is what makes the analysis possible.

Aligning Performance Max Asset Groups With Product Category Themes

The single PMax campaign with one asset group was broken into three asset groups aligned to the margin tiers, each with creative and copy tailored to those product lines. PMax budget control became possible because each asset group had clear performance benchmarks tied to known margins rather than blended averages.

Critically, branded Search was excluded from PMax's reach using brand exclusion lists. This stopped PMax from cannibalizing branded traffic and claiming credit for bottom-funnel conversions that Search would have captured at lower cost.

Results: What Changed After 90 Days Of Execution

Revenue Growth Without A Budget Increase

Total monthly spend stayed at $45K. Revenue grew meaningfully because the algorithm was now spending disproportionately on high-margin products that could sustain aggressive bidding, while pulling back on low-margin SKUs that had been eating budget. The brand reported that the mix of products sold through Google Ads shifted noticeably toward Tier 1 and Tier 2 items within the first six weeks.

CPA And ROAS Movement By Campaign Type

Blended ROAS actually dropped slightly from 3.2x to around 3.0x, which would have alarmed anyone watching only headline numbers. But profit-adjusted ROAS, accounting for the margin difference in products sold, improved substantially. CPA on generic Shopping campaigns fell because the algorithm was no longer constrained by unrealistic targets. PMax CPA became trackable for the first time because asset groups were segmented by product line rather than lumped together.

The Downstream Effect: Better Feed Data Improved Auction Eligibility

An underappreciated outcome: cleaning up the feed, adding custom labels, and improving product title and description quality also improved auction eligibility across Shopping and PMax. Products that had been suppressed or under-serving due to feed quality issues started appearing in more auctions. The algorithm performs better when it has better data to work with. This compounding effect is why Performance Max mistakes at the structural level are so costly: they do not just waste budget, they suppress potential.

How groas Prevents This From Day One

This brand spent months operating with an invisible structural problem while paying an agency that never surfaced it. The fix was not exotic. It was foundational work: margin mapping, feed enrichment, bid strategy calibration, campaign segmentation. But it required someone who understood the full picture, from product economics to algorithm mechanics to feed architecture.

This is precisely what groas is built to do. For a DTC brand that wants Google Ads fully handled, groas's Done For You service means a dedicated senior strategist owns the account end to end, backed by a proprietary engine trained on over $500 billion in profitable ad spend. The engine runs execution around the clock. The strategist handles the structural thinking: diagnosing margin visibility gaps, rebuilding campaign architecture, and aligning bid strategy with actual product economics rather than blended averages.

There is no onboarding fee, no long-term contract. It is month-to-month because groas earns the next month by performing. For brands with in-house teams that want to keep control but need this level of structural depth, groas's Done With You service pairs the same engine with a senior strategist who works alongside your team, providing the diagnosis and the tooling while your people stay in the driver's seat.

The difference between this outcome and the original situation is not budget. It is not creative. It is structural precision that most agencies do not deliver because their model does not allow for it. A single media buyer managing a dozen accounts does not have the bandwidth to build margin-tiered feed strategies from scratch. groas does, because the engine handles execution while the strategist handles architecture.

What This Tells In-House Teams And Agencies

Why Structural Problems Cannot Be Fixed With Bid Adjustments

If the foundation is wrong, no amount of bid tuning will fix the output. Raising tROAS targets on a structurally broken account is like turning up the thermostat in a house with no insulation. The system works harder, costs more, and delivers less. Structural problems require structural fixes: feed architecture, campaign segmentation, conversion value alignment, and bid strategy sequencing. Google Ads audits that only check surface-level settings will miss every one of these issues.

The Margin Visibility Principle: If The Algorithm Cannot See Margin, It Cannot Optimize For It

This is the transferable lesson. Google's Smart Bidding is powerful, but it optimizes for the signal you give it. If you feed it revenue, it optimizes for revenue. If you feed it revenue plus a structure that weights margin tiers differently, it optimizes for profitable revenue. The algorithm is not broken. The inputs are. Any ecommerce brand running Google Ads with a diverse product catalog and varying margins needs to answer one question: does the algorithm know which of your products are actually profitable? If the answer is no, nothing else you optimize matters.

When To Bring In Fully Managed Execution Vs Doing It Yourself

The fix described in this case study took structural thinking, feed engineering, and patience to sequence correctly. Some in-house teams can do this themselves. Many cannot, especially when the marketing lead is also managing email, organic, and ten other channels.

If you have someone in-house who knows Google Ads and wants to stay hands-on, groas's Done With You model gives your team access to the proprietary engine and a senior strategist without handing over the keys. If you would rather not be involved in execution at all and want someone to own Google Ads as a function, including landing pages, offers, and the structural rebuilds described in this article, the Done For You model is built for that. For agencies managing multiple ecommerce accounts that want to deploy this level of structural rigor at scale, groas's agency product gives you direct access to the engine so your media buyers can do better work across every client. Start with a 7-day free trial.

The pattern in this case study is not rare. It is the default state of most ecommerce Google Ads accounts that have been managed reactively rather than architecturally. Margin invisibility is the single most common structural failure in ecommerce Google Ads, and it compounds every month it goes unaddressed. Whether you fix it yourself, fix it with support, or hand it to someone who will fix it for you, the important thing is to fix it. If you want groas to figure out the right plan for your account, apply for Done For You and the team will diagnose which model fits on the call.

Frequently Asked Questions

How Do You Make Margin Visible To Google Ads Smart Bidding?

You make margin visible by adding custom labels to your product feed that segment SKUs into margin tiers based on cost-of-goods data. Once products are labeled by margin (for example, high, mid, and low), you build separate campaigns or asset groups for each tier with distinct tROAS targets that reflect the actual profit each tier can support. This lets Smart Bidding allocate budget toward products where aggressive bidding is sustainable. Without this structure, the algorithm treats every product identically and tends to favor low-margin, high-velocity SKUs that convert easily but erode profitability.

Why Does Performance Max Cannibalize Branded Search Traffic?

Performance Max campaigns serve across every Google channel, including Search. When PMax has no brand exclusion lists in place, it bids on branded queries and claims credit for conversions that branded Search campaigns would have captured at a lower cost. This inflates PMax ROAS numbers while draining budget from genuine prospecting. The fix is to apply brand exclusion lists to PMax and segment asset groups by product category or margin tier so you can evaluate PMax on incremental performance rather than bottom-funnel cannibalization.

What Is The ROAS Target Trap In Google Ads?

The ROAS target trap occurs when advertisers set tROAS targets too high for the available conversion volume to sustain. Smart Bidding responds by restricting impressions to only the auctions it is highly confident will hit the target, which reduces volume, starves the learning phase of data, and creates a downward spiral. The fix is often counterintuitive: temporarily lower or remove the tROAS target, let the algorithm recalibrate on Maximize Conversions, and then reintroduce targets calibrated to actual product economics rather than blended account averages.

How Do Custom Labels Work In Google Shopping Feeds?

Custom labels are optional fields (custom_label_0 through custom_label_4) in your product feed that let you tag products with any business logic you choose. Common uses include margin tier, seasonality, bestseller status, or competitive position. Once applied, you can use these labels to create product groups within Shopping and Performance Max campaigns, set different bids or targets per group, and report on performance by segment. They are the primary mechanism for making business-level data visible to Google's bidding algorithms.

Can You Improve Google Ads Ecommerce Performance Without Increasing Budget?

Yes, and this is often the highest-leverage move available. Most ecommerce accounts waste a significant portion of their budget on low-margin products, cannibalized branded traffic, or campaigns constrained by unrealistic targets. Restructuring around margin tiers, resetting bid strategies, and segmenting campaign traffic types can unlock meaningful revenue growth from the same spend. The key is structural precision: aligning campaign architecture with product economics so the algorithm spends where profit actually lives.

What Is The Difference Between Revenue ROAS And Profit-Adjusted ROAS?

Revenue ROAS measures total revenue divided by ad spend. Profit-adjusted ROAS accounts for the actual gross margin of products sold, giving you a picture of how much profit each ad dollar generates rather than just top-line revenue. A campaign might show a 4x revenue ROAS but a negative profit-adjusted ROAS if it is primarily driving sales of low-margin products. Tracking profit-adjusted ROAS requires feeding margin data into your campaign structure through custom labels and building separate reporting by margin tier.

How Does groas Handle Margin Optimization For Ecommerce Accounts?

groas's Done For You service assigns a dedicated senior strategist who owns the account end to end, backed by a proprietary engine trained on over $500 billion in profitable ad spend. The strategist builds margin-tiered campaign architecture from the start, aligning feed structure, bid strategy, and Performance Max asset groups with actual product economics. Because the engine runs execution around the clock and the strategist handles structural decisions, the kind of margin visibility gap described in this article is caught and fixed during onboarding, not months later.

Should I Use Maximize Conversions Or Target ROAS For Ecommerce Google Ads?

The best approach is sequential. Start with Maximize Conversions (no target) to give Smart Bidding room to learn and accumulate conversion data. Once each campaign has sufficient volume, typically after a few weeks, introduce tROAS targets calibrated to per-product or per-tier margin economics. Starting directly with tROAS on a new or restructured campaign often constrains the algorithm before it has enough data to optimize effectively.

When Should A DTC Brand Switch From An Agency To Fully Managed Google Ads With groas?

If your agency is delivering templated campaign structures, has never asked about product-level margins, or responds to performance declines only with bid adjustments, you are likely hitting the ceiling described in this article. groas's Done For You service replaces the agency entirely with a senior strategist and a proprietary engine that handles structural rebuilds, feed architecture, and 24/7 execution. There is no onboarding fee and no long-term contract, so the risk of switching is minimal. Apply for Done For You and the team will diagnose the right plan on the call.