Każdy disapprovalt w Merchant Center to jeden produkt mniej w Google Shopping, jedno mniej źródło sprzedaży. Po przekroczeniu 5% disapprovalów w feedzie Google rzuca warning, po 15% może zawiesić cały feed. Pokazujemy 10 najczęstszych powodów i konkretne sposoby fix.

1. Price mismatch (cena na stronie ≠ cena w feedzie)

Najczęstszy disapproval. Google co kilka dni crawl’uje stronę produktu i porównuje cenę widoczną w schema.org Product z ceną w feedzie. Różnica >0.5% = disapproval.

Fix: oba źródła (schema + feed) muszą ciągnąć dane z tej samej tabeli WooCommerce/PrestaShop. Jeśli używasz cache (Redis, WP Rocket), wyklucz z cache wartości price w schema. Patrz nasz guide schema Product.

2. Availability mismatch

Feed mówi „in stock”, strona produktu pokazuje „Out of stock” lub „Pre-order”. Disapproval.

Fix: synchronizacja stanów magazynowych w real-time. Dla WooCommerce wbudowane (jeśli stock management włączony). Dla feedów manualnych — cron co godzinę regeneruje feed z aktualnych stanów.

3. Brak lub niepoprawny GTIN

Dla produktów brandowych (markowych) Google wymaga GTIN. Brak GTIN = warning. Niepoprawny GTIN (nieprawidłowa suma kontrolna lub fake) = disapproval.

Fix: nabądź GS1 prefiks (~3-5 tys. zł, pool 1000-10000 GTIN) i wygeneruj kody dla swojego katalogu. Patrz: w GaleriaMebli przygotowaliśmy moduł EAN-13 generujący prawidłowe GTIN z prefiksu GS1.

4. Image too small / niska jakość

Wymóg: minimum 100x100px dla nie-mody, 250x250px dla mody. Rekomendowane: 800×800+ na białym tle.

Fix: regenerate thumbnails w WooCommerce (wtyczka Regenerate Thumbnails), upload większych oryginałów, wymuszenie WebP minimum 1000×1000 dla product images.

5. Image with promotional overlay (watermark, badge „SALE”)

Google nie zaakceptuje obrazów z watermarkami brand, badges „PROMOCJA”, „BESTSELLER”, logo nakładkami.

Fix: użyj czystych zdjęć product photography w feedzie. Watermarki możesz mieć na stronie sklepu (display via CSS overlay), ale source image w feedzie czysty.

6. Brak shipping info dla docelowego kraju

Sprzedajesz w PL ale w feedzie brak shipping → disapproval.

Fix: ustaw shipping w Merchant Center (Setup → Shipping and returns) — flat rate lub per-weight, dla wszystkich produktów lub per kategoria. Alternatywnie: shipping[country:PL,price:0] w feedzie per produkt.

7. Restricted content (alkohol, broń, suplementy)

Niektóre kategorie są ograniczone w Google Shopping — alkohol (tylko z odpowiednią certyfikacją), broń (zakazane), suplementy diety (ograniczone listą substancji).

Fix: sprawdź policies Google Shopping dla swojej kategorii. Jeśli alkohol — aplikacja o „Alcohol seller” approval (wymaga koncesji). Jeśli zabronione — produkt nie nadaje się do Shopping.

8. Inappropriate description (zakazane słowa)

Słowa typu „najlepszy w Polsce”, „100% gwarancja”, „tylko dziś!”, „TANIO!!!” mogą trigerować disapproval za misleading content lub promotional overlay w tekście.

Fix: opisy faktualne, bez superlatyw bez bazy, bez „promocyjnych” sformułowań typu „limited time offer” w opisie produktu (na to są osobne pola sale_price + sale_price_effective_date).

9. Wrong product category (Google taxonomy)

Pole google_product_category — jeśli ustawione nieprawidłowo (sprzedajesz meble, kategoria „Apparel & Accessories”), disapproval albo produkt nie pokazuje się w odpowiednich miejscach.

Fix: użyj oficjalnej taksonomii Google (taxonomy-with-ids.en-US.txt) — meble to ID 436 (Home & Garden > Furniture). Można podać ID liczbowe lub pełny path.

10. Page broken / 404 / blocked by robots.txt

Google nie może crawl’ować strony produktu (404, blocked by robots.txt, cloudflare challenge dla bota Google, 500 error).

Fix: curl -A "Googlebot" https://sklep.pl/produkt — zobacz co dostaje Google. Jeśli 200 + zawartość = OK. Jeśli inne = napraw (whitelist Googlebot w WAF, popraw 404, sprawdź robots.txt). Sprawdź w GSC → Crawl stats.

Mass fix workflow — gdy masz 50+ disapprovals jednocześnie

  1. Eksport listy disapprovals z Merchant Center (Reports → Diagnostics → Items)
  2. Grupowanie po typie błędu — zwykle 80% disapprovals to 2-3 typy błędów
  3. Fix at scale per typ — np. wszystkie price mismatch fixuje się jednym update cache
  4. Re-submit feed (Manage feeds → Fetch now) — disapprovals znikają w 24-72h
  5. Monitoring tygodniowy w Merchant — disapprovals to działanie ciągłe, nie one-time

Pełen serwis Merchant Center — Google Merchant Center. Case rekoweru suspension’a — Merchant Center suspended — jak odzyskać konto.