Sell more of what makes money. Not just more of what is cheapest.
In a shop's account, the feed is the ad, the margin is invisible and Performance Max decides a lot on its own. Oppy reads all three: what the feed holds back, where the budget went, and whether a sale is counted at its real price.
- Feed and product checks
- Performance Max read by channel
- Margin-aware targets

Where shop accounts quietly lose money. None of these shows up in the usual dashboard.
Products that never show
Products marked not eligible never enter the auction, and limited ones show in fewer places. No report counts them, so nobody fixes them.
Spend on the cheapest products
A low price wins more auctions at the same bid. Without product-level bids, spend drifts to your cheapest stock.
Sales counted at a made-up price
A purchase set to always use its default value makes a €15 order weigh the same as a €900 one, and value bidding learns nothing.
Performance Max buying your brand
With no brand exclusion, Performance Max wins your own name cheaply and books those sales as its own.
A ROAS target with no margin
A 400% target is generous at 50% margin and loses money at 20%. The account cannot tell.
Promotions after the sale ended
A promotion keeps showing after its offer ends unless its own end date stops it. The audit flags the ones still advertising a sale that is over.
The checks a shop account gets. On top of the ones every account gets.
14Checks listed here
Measurement
Can the numbers be trusted
A sale reported at a fixed price rather than its own
A purchase action set to always use its default value, so a €15 order and a €900 order weigh the same. Any value bidding on it is bidding on a count.
A sale reported at a fixed price rather than its own: How it decides and what to doSales recorded with no amount
Purchases that arrive with no amount, read over a longer period than most checks. A test cannot be judged on sales value, and value-based bidding has nothing to aim at.
Sales recorded with no amount: How it decides and what to doNothing recorded between arriving and buying
A shop that records only the purchase. It cannot tell a visitor who never wanted the product from one who quit at payment. Often the events already exist in Analytics and only need importing.
Nothing recorded between arriving and buying: How it decides and what to do
Structure
How it is built and set
Products that cannot appear at all
Products marked not eligible, which never enter the auction and so never appear in any report. Named so someone fixes them in Merchant Center.
Products that cannot appear at all: How it decides and what to doProducts held back by something in the feed
Products limited by an error or a warning in the feed, such as a missing colour, gender or age group. They still sell, in fewer places, and the regions affected are named.
Products held back by something in the feed: How it decides and what to doThe part of the catalogue that got no impression lately
The share of the catalogue that got no impression lately. Reported as a fact: some is discontinued, some overpriced, some the next thing to sell.
The part of the catalogue that got no impression lately: How it decides and what to doA listing group shutting most of the catalogue out
A listing group that shuts most of the catalogue out. A product excluded from every group can never show, whatever its margin.
A listing group shutting most of the catalogue out: How it decides and what to doPerformance Max with nothing stopping it buying your brand
Performance Max with no brand exclusion list. Left alone it wins your own name cheaply and books those sales as its own, while brand Search falls.
Performance Max with nothing stopping it buying your brand: How it decides and what to doNo list separating people who already bought
No list separating people who already bought. Without it you cannot stop advertising to yesterday's buyer, or measure what a new customer costs.
No list separating people who already bought: How it decides and what to do
Spend
Where the money goes
Spend piled into a handful of products
Spend piled into a few products, usually the cheapest ones, because a low price wins more auctions. Shows where the money went and what came back.
Spend piled into a handful of products: How it decides and what to doA whole catalogue bid at one price
A Shopping campaign bidding the whole catalogue at one price, so a €4 item and a €400 item compete with the same bid and the cheap ones win the traffic.
A whole catalogue bid at one price: How it decides and what to doWhere a Performance Max budget actually went
Where a Performance Max budget went across Search, Shopping, Display, YouTube, Gmail, Discover and Maps. Flags a network that took most of the money, so you can check what it brought back.
Where a Performance Max budget actually went: How it decides and what to doA ROAS target set without knowing the margin
A ROAS target set without a known margin. Prints the margin at which that target breaks even, so you see at once whether it is ambitious or quietly losing money.
A ROAS target set without knowing the margin: How it decides and what to do
Ads
What people see
A promotion still in the ads after it ended
A promotion asset still showing after its offer ended, so the ad keeps advertising a sale that is over.
A promotion still in the ads after it ended: How it decides and what to do
What Oppy can do about it. With your approval, in the places that matter.
Findings become tasks, and many of them come with a change Oppy can apply once you approve.
Rewrite product titles
New titles go to Merchant Center as a supplemental source, once its connection opens. The feed's own titles are kept, to put back.
Add Shopping promotions
A promotion is added through Merchant Center with its dates, once its connection opens, and Google reviews it before it shows.
Keep your brand out of Performance Max
Brand exclusions are added once a live Search campaign covers your brand searches.
Build a Standard Shopping draft
A paused Shopping campaign with a bid per product group, for you to review before it runs.
Targets from your margin, not a guess.
A break-even ROAS is 1 divided by your margin. At a 40% margin it is 250%: below that, every sale loses money once the ad is paid. Oppy asks your margin when you connect. When a ROAS target was set without one, the audit prints the margin at which that target breaks even.
Break-even ROAS = 1 ÷ margin
At 25% margin: 1 ÷ 0.25 = 4, so a 400% ROAS only breaks even. Try it with the break-even ROAS calculator.
The same logic applies to new customers. A shop with a buyer list can tell a first order from a repeat one, and see what a new customer really costs.
Questions from online shops.
Anything else? Ask Oppy in the product, or write to the team.
Do I need to connect Merchant Center?
No. The audit reads product status and warnings through Google Ads, so the feed checks run without it. Connecting Merchant Center adds price comparison, product title rewrites and Shopping promotions.
Can Oppy change my product feed?
It can rewrite product titles through a supplemental source in Merchant Center, once you approve. Your feed's own titles are kept, so the change can be undone.
Does Oppy manage Performance Max?
It reads where each Performance Max budget went by channel, checks asset groups, search themes, brand exclusions and negative lists, and proposes the fixes as tasks. Some, like brand exclusions, it can apply once you approve.
What if my sales are not tracked with values?
The audit finds it first: sales recorded with no amount, or at a fixed default value. Until values are right, checks that rely on them stay silent rather than print a misleading ROAS.
Put Oppy to work on your account.
Create your account and connect Google Ads. Your first audit arrives in minutes, your first tasks soon after. 14 days free, no card.
- Every change logged in History
- Hosted in the EU
- Any account size

