Skip to main content
    European Search Awards 2026 · Best Small PPC Agency

    How to Tell If You're Wasting Money on Google Shopping, Without Logging Into the Account

    Most of what's wrong with your Google Shopping is visible to your competitors. Just not to you.

    9 min read•June 2026•Chris Avery

    The expensive mistakes sit in plain sight, on the search results page, if you know what you're looking at.

    Not in the Google Ads dashboard, where the numbers have been tidied into a reassuring ROAS. On the live page, where your customers actually see your ads. Here are the wasted-spend signals we read from the outside, with nothing but a browser and ten minutes. No login. No audit access. No NDA.

    1. You're on Google's own CSS

    In the UK and EU, every Shopping ad runs through a Comparison Shopping Service (CSS). With a partner CSS, the full bid enters the Shopping auction on eligible inventory; with Google's own CSS it does not. Realised impact varies by account.

    How to check

    Search any of your products and look under each Shopping card. If yours reads "By Google" and the brands next to you read "By Find the Trend", "By Feedoptimise" or "By Klarna", you're on Google's own CSS. It's printed on the card. It never appears in the Ads interface, which is exactly why it goes unnoticed for years.

    It's a configuration change, not a strategy overhaul, which makes it the fastest profit recovery available. More on Google CSS →

    2. Your clearance and your full-price newness share one campaign

    This is the quiet margin killer. A campaign carries one bid strategy and one target. Clearance and full-price newness need opposite targets: high-margin newness wants a high target that protects price; marked-down stock wants a low target tuned to recover cash. Put them together and the algorithm chases the easy conversions (the discounts), starving your profitable range and propping up a blended ROAS that hides the damage.

    How to check from outside

    Click one of your full-price ads and one of your discounted ads. Look at the landing-page URL. If both carry the same gad_campaignid, they're in the same campaign, sharing one bid target.

    We did exactly this on a UK menswear retailer last week: a 33%-off clearance suit and a £200 full-price suit, both returning the identical campaign ID. One bid target, two opposite jobs.

    This is the problem our BOI® method is built to fix: every SKU gets one job at a time. Full-price newness runs as Profit, clearance runs as Recovery, each on its own target and budget.

    3. You're running PMax with its controls unused, and a "catch-all" campaign

    Performance Max blends Shopping, Search and Display, brand and non-brand, in one campaign. Google does provide controls: campaign negative keywords and brand exclusions for Search and Shopping inventory, account-level placement exclusions, and a search terms report. It's fine in the right hands and a liability when it's left to spray. The tell is in the same landing URLs: a utm_campaign value like pmax-suits confirms PMax is doing the work.

    Worse is the campaign literally named "catch-all."

    We've seen it. A catch-all is a dump bucket for products that were never mapped to a proper campaign. They inherit whatever budget and target the bucket happens to carry, managed by no one. If a slice of your spend is running through a catch-all nobody's touched since launch, it isn't being optimised. It's being tolerated.

    How we control Performance Max →

    4. Your resellers and stockists are outbidding you on your own products

    Search your own brand name, or your own bestsellers, and watch who shows up in Shopping. If John Lewis, Next, a marketplace or a multi-brand reseller is sitting on the identical product, often with free delivery you don't offer, you're paying to defend demand they then convert.

    We see this constantly in menswear, where multi-brand suit retailers buy the ad slots on a brand's own products while the brand itself sits in the free listings. You fund the click; they close the sale. That's not a bidding problem you can tweak your way out of. It's a channel-conflict decision you need to make on purpose.

    5. Your tracking is broken, so your reporting can't even see the leak

    The most uncomfortable one. We've clicked ads whose landing URLs fire utm_campaign={campaign}: the ValueTrack placeholder never gets replaced, so the campaign name logs literally as "{campaign}". Others bury the gclid and UTMs in the URL fragment, after a stray #, where analytics simply doesn't read them.

    When tracking is malformed, your Shopping conversions don't attribute properly. Shopping looks like it isn't working, so it gets throttled, and competitors quietly take the ground you've vacated. The leak and the blindness to the leak are the same bug.

    Why your dashboard hides all of this

    Because the dashboard reports gross revenue and a blended ROAS. It doesn't tell you the number is propped up by clearance. It doesn't tell you how much of your revenue walks back out the door as returns. It doesn't tell you you're funding clicks your stockists close, or which CSS your Shopping bids run through.

    ROAS is a revenue ratio. It's blind to margin.

    £4 back on a 55%-margin product is profit; £4 back on a 5%-margin clearance line is a loss once you've paid for the click and the stock. The only number that doesn't lie to you is contribution margin after ad spend: POAS, not ROAS. Most "healthy" Shopping accounts look healthy precisely because no one's measuring the thing that matters.

    Check your own Shopping in ten minutes

    Open an incognito window and run these on your own store:

    CSS

    Search a product, read the line under your Shopping card. "By Google" means you're likely overpaying.

    Mixing

    Click a full-price ad and a sale ad; compare the gad_campaignid in both URLs.

    PMax

    Check the utm_campaign value in those URLs. Is PMax carrying most of the catalogue? Is there a "catch-all"?

    Channel conflict

    Search your brand name; see who else is bidding on your products.

    Tracking

    Look at the full landing URL. Are the UTMs and gclid clean, or are they firing {campaign} or sitting in the fragment?

    These outside checks identify questions, not the size of a loss or the right campaign structure. If Shopping looks healthy but the bank balance does not agree, the next step is to reconcile account reporting with product costs, returns and stock. Our Google Shopping management page explains that review and links to published client cases with their measurement limits.

    See what we'd see

    We do this for DTC and ecommerce brands spending typically £10k+ a month on Google Ads, and we lead with profit, not revenue. If you'd rather we ran the outside read for you, book a commercial review: a free 30-minute conversation about what we can see.

    Book a commercial review

    Before you exclude a product: a reference checklist

    Wasted spend is only waste once the product's contribution, data and stock have been checked. Contribution follows our POAS convention; feed fields follow Google's product data specification.

    1. Product contribution

    2. Tracking and feed eligibility

    3. Stock

    4. Sample size and lag

    5. Decide and reassess

    FAQ

    Can you audit a Google Ads account without access?

    Not a full account audit, but a surprising amount is visible from the live search results page and the ad landing URLs: your CSS, whether clearance and full-price share a campaign, PMax structure, reseller competition and broken tracking templates. It's enough to know whether there's money on the table before anyone shares a login.

    What is a CSS and why does it affect cost?

    A Comparison Shopping Service is the route every UK and EU Shopping ad takes to the auction. With a partner CSS, the full bid enters the Shopping auction on eligible inventory; realised impact varies by account. You can see which one a brand uses on the 'By…' line beneath each Shopping card.

    How do I know if clearance and full-price are in the same campaign?

    Click a full-price ad and a discounted ad and compare the gad_campaignid parameter in each landing URL. If they match, both products share one campaign and one bid target, which means a target that's right for clearing stock is wrong for protecting margin on newness, and vice versa.

    What's wrong with running everything through Performance Max?

    Nothing, if it's controlled. The risk is handing PMax your whole catalogue with no segmentation: full-price newness, clearance and aged stock all optimised to a single target, with negative keywords, brand exclusions and search-term review left unused. A 'catch-all' campaign is the classic symptom.

    Next step

    Is your feed telling Google what the business needs it to know?

    Margin, stock and product role belong in the feed. Most feeds carry none of them.