Product Disapproval on Ad Platforms Is Usually Lying (Simply Explained)
A plain-language guide to product disapproval ad platform. No jargon, no tech speak, just what it means for your business.
By Mike Hodgen
The number that almost cost me my whole ad budget
My ad agency called me one afternoon with bad news they treated as final. My entire product line was "against policy." Time to give up on paid ads.
They had numbers to back it up. Google showed about 98% of my products rejected. Meta showed 753 products marked "not approved." If you saw those numbers cold, you'd reach the same conclusion they did.
I run a clothing brand out of San Diego. We sell apparel in a category the ad platforms treat as sensitive. So the story wrote itself: the platforms have a wall against brands like mine. Forget paid ads. Focus on email and call it a day.
Here's the thing. Both numbers were lying.
Not lying on purpose. Lying the way a fever lies about what's actually wrong with you. A 98% rejection rate sounds like a verdict on my products. It was nothing of the sort. The real causes were the most boring things imaginable: a broken price feed and a pile of honest out-of-stock tags.
When I pulled the actual data, the Google number flipped to 98% approved. The Meta number dropped to a real rejection rate of 0.16%.
The lesson for every business owner: never trust the scary number on the dashboard. It's a symptom, not a diagnosis.
Why the scary number is almost never the real story
Think of your product list like a giant spreadsheet you send to Google and Meta. They check every row and either approve it or reject it. The dashboard shows you one combined percentage at the top.
But that one number blends three completely different problems together. Bad data (like a price that doesn't match its currency). Inventory issues (items that are out of stock). And actual policy violations (products that genuinely break a rule).
The dashboard doesn't separate them. It just adds them all up and shows you a number designed to make you panic.
Here's the trap my agency fell into. They saw a "sensitive" brand and a 98% rejection rate, and connected the dots in the laziest way possible. The number matched the story they already believed, so they never questioned it.
The only way through is to stop reading the headline and look at the reason behind each rejected item. You don't get "your products are banned." You get "row 4,201 has a US price tagged with the wrong currency code."
That's the whole game.
Google: a broken price sheet, not a banned product
Let me start with Google, because the gap between the scary number and the truth was the widest.
I was selling in multiple currencies, and my price sheet was a mess. Prices didn't match their currency labels. Some required fields were missing. Each broken row got rejected, and because the breakage was structural, it hit almost everything.
Google wasn't reading my product descriptions and deciding my clothing was too racy. Google was choking on my formatting and rejecting items before any human even looked at the content.
So I built one clean version. One currency. Correct formatting. Every required field filled in. Nothing fancy.
The number didn't improve. It flipped. From 98% rejected to 98% approved.
Same products. Same category. Same supposedly hostile platform. The only thing that changed was cleaning up the spreadsheet.
Here's the part that buries the "banned category" theory. Once the feed was clean, my supposedly risky items were overwhelmingly approved. Bodysuits at 87%. Bikinis at 93%. The single item I expected to be the most problematic hit 100% approved.
The "riskiest" product in my whole catalog had a perfect score once the data was clean.
Meta: 753 rejections that weren't blocking a single ad
Meta told a different story with the same moral. Those 753 rejected products looked like a disaster. They were almost entirely noise.
First thing I checked: where were these rejections happening? Turns out all 753 were stuck in the Facebook and Instagram Shop tab. That's the little in-app storefront, not my ads. And I wasn't running a single ad there.
It's like getting a stack of parking tickets for a car you don't even drive. Technically real, completely irrelevant.
When I looked at the list that actually feeds my ad campaigns, the real rejection rate was 0.16%. Not 98%. Not even 5%. Sixteen hundredths of one percent. Basically zero.
And the 753 itself broke down simply. About 60% were just out of stock. Meta was correctly declining to advertise products I didn't have in inventory. That's the system working, not failing.
So the scary 753 was really three honest piles: rejections on a channel I don't use, accurate out-of-stock signals, and a tiny sliver of real policy hits that affected nothing.
How to check this yourself
You can run this exact process on your own products. Here's the method.
One. Stop reading the top-line percentage. Find the reason listed next to each individual item. The percentage tells you nothing. The per-item reasons tell you everything.
Two. Sort every rejection into three piles. Bad data (formatting, prices, missing fields). Inventory (out of stock). Real policy violations. Most owners assume everything is pile three. In my case, pile three was nearly empty.
Three. Build one clean test batch and watch what happens. For me, that was a single-currency feed. One thing changed, and the result was obvious: the approval rate flipped from 98% rejected to 98% approved. That's your proof it was never about the products.
Four. Only treat the real policy items as a genuine problem. And even then, fix them one by one. A few rejected products is a short to-do list, not a closed channel.
What to say when your agency gives up
Your agency says your whole product line is against policy. Should you accept that?
No. Not without seeing the reason behind each rejected item. Full stop.
An agency that reads you the scary number and shrugs is doing the platform's job for it, for free. They're treating a symptom as a verdict and cutting off a revenue channel they never actually investigated.
Ask them three questions before you accept anything:
- What's the real ad rejection rate, not the catalog number? These live in different places. Mine were 0.16% versus 753.
- How many of these are just out of stock or formatting errors? If most of them are inventory and data problems, you don't have a policy problem. You have a spreadsheet and a warehouse problem.
- Which exact products break a specific named rule? Make them point to the rule and the item. "Your category is sensitive" doesn't count.
I'll be honest about the limit. Sometimes there genuinely is a wall. Some categories really are restricted, and no cleanup fixes that. But you owe yourself the audit before you give up the channel.
In both my cases, the "your category is banned" story collapsed under about five minutes of looking at the real data.
The pattern is the same everywhere I work. The scary number on the screen is where you start the investigation, never where you end it. The villain is rarely your products. It's almost always something dull underneath: a broken feed, the wrong channel, out of stock, three missing fields.
If your ad channels look blocked and someone is reading you a frightening number, the real fix is usually finding the boring cause hiding behind it. That's exactly the kind of work I do. No drama, just the data and what it actually says.
Want to explore what AI could do for your business?
Book a free 30-minute strategy call. No pitch deck, no sales team, just a real conversation about your operations and where AI fits.
Get AI insights for business leaders
Practical AI strategy from someone who built the systems — not just studied them. No spam, no fluff.
Ready to automate your growth?
Book a free 30-minute strategy call with Hodgen.AI.
Book a Strategy Call