Skip to content
Feed VitalsEspañol

For agencies running Google Shopping across several accounts

Merchant Center tells you what's failing. Not why, and not where the fix lives.

Feed Vitals reads the same feed and answers the two questions left open: which of the possible causes is yours, and whether the fix is a feed rule, a store setting, or one product at a time.

In the real catalogue we audited

387of 3341 products could not be bought

The first audit is free, and I reply within 2 to 5 hours, personally. Read-only: we ask for no Merchant Center access, and the report goes to you, not to your client.

How it gets fixed

Every finding comes with the shortest route back to approved

Merchant Center tells you which product is wrong. It does not tell you whether that is one click in the admin or three hundred product pages opened by hand. That difference is most of the work.

There are four, and every finding in the report carries exactly one.

one change in the store settings1 action · the whole catalogue
Lives in the store admin. If you lack access, this is what you hand to the client: one change, not a list.
one rule in the feed1 rule · every affected product
Fixed once, in how the feed is generated. Covers every affected product.
a bulk edit1 export and 1 import
Export the column, correct it, re-import. Data the client already has.
one product at a time1 action per product
No shortcut. The report tells you how many there are before you promise anything.

Where the four routes lead

Cannot be boughtCosting you reachApproved

All four end in the same place: the product is approved again and can be bought. What changes is how much it costs to get there.

We do not promise a fully green account: the report states which attributes it did not look at, and makes no claim about those.

Real findings

Three things we found, with the evidence next to them

The messages are what Merchant Center returns, verbatim: they come from our own feed with deliberate defects, uploaded to our own account. The counts come from an audit of a real 3341-product catalogue, snapshot 2026-08-04. Each block says where each figure comes from.

Cannot be boughtWhere the fix lives: one rule in the feedPRE-001 / PRE-002 / PRE-007

“Missing price” means three different things, and in two of them the price is there

What Google returns, verbatim

Missing product price

You haven't provided a value for the price [price] attribute, which is required for all products

What caused it

Google returns the same text for three defects and does not say which one is yours. They do not weigh the same either: one blocks the sale, the other two cost you reach.

How it gets fixed

You have to know which of the three it is before you can write the rule.

Evidence

CaseWhat it carriesState
sin atributo price(empty)Cannot be bought
price sin código de moneda19990Costing you reach
código de moneda inexistente19990 ARPCosting you reach

experiment-01: 15 items disapproved with this message. The tiers in the table come from the engine. Three of the twelve messages we triggered collapse more than one cause. This is not a sample of Merchant Center's vocabulary, which has hundreds of codes.

Cannot be boughtWhere the fix lives: one product at a timeLNK-003

The product page returns 404

What Google returns, verbatim

Product page unavailable

Ensure your product page can be accessed from desktop and mobile devices and is not restricted from Google crawling

What caused it

The product was taken down and is still listed in the feed, or its URL changed and the feed kept the old one. Google requests the page, gets a 404, and stops showing the product.

How it gets fixed

No feed rule covers this: for each one you decide whether to republish it or drop it.

360of 3,341 · 11%

Evidence

CaseWhat it carries
113772674responds HTTP 404
401068628responds HTTP 404
1158526391responds HTTP 404

experiment-01: 3 items disapproved with this message, exported 2026-08-05.

Costing you reachWhere the fix lives: one change in the store settingsLNK-008

The link points at a different domain than the one you registered

What Google returns, verbatim

Mismatched online store URL

The online store URL and product page URLs you provided don't have the same domain.

What caused it

Google compares the store URL registered in your account against the domains in your feed. When they disagree it disapproves the whole catalogue at once, not product by product.

How it gets fixed

A single change covers all 3318.

3,318of 3,341 · 99%

We do not put this in the broken tier even though we measured it as a disapproval on our own feed: we cannot see which URL you registered in Merchant Center. If it already matches your feed, the redirect only costs a hop and there is nothing to fix.

experiment-01: 5 items disapproved with this message, exported 2026-08-05.

The deliverable

What you get is a report, not a dashboard

One file per account: the header of what was read, every finding next to its evidence, and what was not looked at. It forwards as-is — it is written for someone who does not run campaigns.

Report header

387 of 3341 products cannot be bought.

Source
https://store.example/google_shopping.xml
Read as
feed
Platform
Tiendanube
Analysed
2026-08-07 00:32 UTC
Products
3341 — 2426 with at least one finding
Checks
72 of 76 ran — 4 this source cannot answer

Real header, with the domain anonymised. Checks a source cannot answer are declared at the top, not quietly dropped.

How it is prioritised

First by tier, then by how incontestable the rule is, and within that by impact divided by effort: affected products, divided by what the fix costs. The top of the list is what returns most for the work it asks. Never by estimated money: any revenue figure would be invented.

The URLs are actually requested

Those 3341 rows produced 4084 network requests: 3724 answered and 360 returned 404 or 410. None was left without a usable answer.

See a sample report [TODO: link to the sample report]

What if it's fifteen accounts?

[TODO: what happens with a whole portfolio — whether it runs in batch or one at a time, and how often]

Why trust the verdict

A false positive is one you pay for, in front of your client

If you forward a report with an error in it, we are not the ones who look bad. This engine showed a 54% false-positive rate on first contact with real catalogues. What came after is what makes it forwardable today without reading it twice.

4830

A real corpus, frozen

From six real feeds, plus 4188 rows from five Shopify catalogues, sha256-pinned. Every check runs against all of them.

20%

A fire-rate ceiling

If a check fires on more than that, we stop and read the evidence. At 100% it is a bug: the two worst false positives this engine shipped fired on 4319 of 4319 items. That cleanup took the total from 19,209 findings down to 4,505.

4

The network states of a URL

Verified, not found, unverifiable or never attempted. Only the second can become a finding. That fourth state exists because an earlier version told a merchant “we tried to verify these and could not” about 3987 URLs it never requested. A false claim about our own work is worse than one about the client's feed: you cannot check it.

Checks whose severity is not confirmed are still hypotheses, and the report says so. We never talk about money: an invented figure in front of a client burns credibility faster than a false positive.

The invariant

We never touch your client's Merchant Center

Feed Vitals reads. It does not write.

We do not ask for access to the Merchant Center account, the store, or Google Ads: we read the feed URL — the same one already registered with Google — or the public catalogue. There is no integration to install, no permission to grant, and no access left alive when the account leaves.

That is why you can audit an account you do not manage yet: to bring a finding into a pitch, nobody has to grant you a permission first, and nobody has to be told you are looking.

Whoever holds the key to the system where the fix lives is the one who makes the change. We do not go into any of them.

Who is behind this

This is me, not a company

Cristian Pache

[TODO: one or two sentences — what you did before, why you got into Shopping feeds]

LinkedIn

One person is why I'm the one who replies and not a ticket queue — and it is also the honest limit: if you need a contractual SLA, I don't have one today. Say so in the first email and I'll tell you whether I'm any use to you.

Start here

Send me the account that's been performing worst and I'll tell you what's going on

The first audit is free, and I reply within 2 to 5 hours, personally. Read-only: we ask for no Merchant Center access, and the report goes to you, not to your client.