Jak prowadzić Google Ads, gdy masz kilka sklepów internetowych – i nie dostać blokady Merchant Center za duplikaty produktów
Kompletny przewodnik dla specjalistów PPC: dlaczego te same produkty na dwóch sklepach z jednym NIP-em kończą się zawieszeniem konta, oraz cztery sprawdzone sposoby, żeby rozdzielić ofertę na poziomie feedu.
Prowadzenie Google Ads dla jednego sklepu jest proste. Schody zaczynają się, gdy jedna firma – jeden NIP – ma dwa, trzy albo pięć sklepów internetowych, które w dużej części sprzedają ten sam asortyment. Prędzej czy później w panelu Merchant Center pojawia się ostrzeżenie o duplikatach, a w najgorszym scenariuszu – zawieszenie konta za naruszenie zasad, które ucina wszystkie kampanie produktowe (PLA / Performance Max) z dnia na dzień.
Dobra wiadomość: to problem architektury danych, a nie ślepy zaułek. W tym artykule pokażę, dlaczego duplikaty w ogóle powstają, jak zbudować poprawną strukturę kont, a następnie – krok po kroku – jak rozdzielić wyświetlanie produktów, żeby te same oferty nie konkurowały ze sobą jednocześnie w dwóch feedach. Każde pojęcie techniczne wyjaśniam po drodze.
1. Na czym dokładnie polega problem
Wyobraź sobie typowy układ: firma prowadzi sklep-a.pl i sklep-b.pl. Oba stoją na tym samym magazynie, tej samej hurtowni i tym samym NIP-ie. 80% produktów jest identycznych – te same modele, te same EAN-y (kody kreskowe), często te same zdjęcia i opisy.
Każdy sklep wysyła swój plik produktowy (feed) do Merchant Center. Z punktu widzenia Google powstaje sytuacja, w której ta sama oferta pojawia się dwukrotnie u tego samego sprzedawcy. Google Shopping nie chce pokazywać użytkownikowi dwóch niemal identycznych wyników od jednej firmy – to psuje jakość wyszukiwania i wygląda na próbę sztucznego zwiększenia widoczności.
Kluczowy warunek, który uruchamia problem: te same produkty są jednocześnie aktywne w dwóch źródłach danych powiązanych z tą samą tożsamością sprzedawcy (ten sam NIP / ta sama zweryfikowana firma). Rozwiązanie sprowadza się więc do jednego zdania:
2. Dlaczego Google w ogóle to blokuje
To nie złośliwość algorytmu – u podstaw leżą trzy zasady Merchant Center, które warto rozumieć, żeby świadomie projektować feedy:
- Zakaz duplikatów (duplicate content). Jeden sprzedawca nie powinien pokazywać wielokrotnie tej samej oferty. Google traktuje to jako zaniżanie jakości wyników i potencjalne manipulowanie aukcją.
- Spójność danych i wprowadzania w błąd (misrepresentation). Dwa sklepy tej samej firmy z różnymi cenami lub warunkami dla identycznego produktu mogą wyglądać na wprowadzanie klienta w błąd.
- Jedna oferta = jedno miejsce docelowe. Merchant Center oczekuje, że dany produkt (identyfikowany przez
idoraz atrybuty jakgtin/EAN) ma jednoznaczne źródło prawdy.
Ważne rozróżnienie, bo bywa mylone: zduplikowany identyfikator to sytuacja, gdy dwa produkty mają ten sam id w obrębie jednego feedu (błąd techniczny). Zduplikowany produkt to ta sama realna oferta powielona między feedami/sklepami. My rozwiązujemy ten drugi przypadek.
3. Fundament: konto zaawansowane i subkonta (MCA)
Zanim zejdziemy do reguł i wykluczeń, trzeba mieć poprawną strukturę kont. To ona decyduje, czy w ogóle da się czysto zarządzać wieloma sklepami. Bez niej reszta jest łataniem dziury.
Konto zaawansowane (advanced account)
To specjalny typ konta Merchant Center, w którym jedna firma zarządza wieloma kontami Merchant Center z jednego miejsca. Wcześniej nazywane było „kontem wielokrotnym”. Konto zaawansowane samo w sobie nie ma feedu produktowego – jest „parasolem” nadrzędnym.
MCA – Multi-Client Account (multikonto klientów)
MCA to techniczna nazwa tej struktury parasolowej: multikonto klientów. Pod kontem zaawansowanym typu MCA tworzysz subkonta – po jednym dla każdego sklepu.
Subkonto (sub-account)
Subkonto to indywidualne konto Merchant Center działające pod parasolem MCA. Każde subkonto ma własną nazwę, własny zweryfikowany adres URL witryny i własne źródła danych (feedy). Dzięki temu sklep-a.pl i sklep-b.pl mają rozdzielone dane, statystyki i statusy – a Ty zarządzasz nimi z jednego widoku.
external_seller_id). Jeśli prowadzisz własne sklepy jednej firmy, to nie jest Twój przypadek – Ciebie interesuje konto zaawansowane MCA z osobnym subkontem na każdy sklep.
Jak uzyskać konto zaawansowane
- Musisz być administratorem konta i nie mieć aktywnych naruszeń zasad.
- Konto nie może już być MCA ani subkontem innej struktury.
- Składasz w Merchant Center wniosek o skonfigurowanie konta zaawansowanego i przechodzisz weryfikację (m.in. potwierdzenie własności domen). Akceptacja zwykle trwa kilka dni.
4. Szybki słownik pojęć
Zanim przejdziemy do metod – zbierzmy w jednym miejscu terminy, które będą się przewijać. Do każdego wracam później z konkretem.
| Pojęcie | Co to jest |
|---|---|
| Feed / plik danych (źródło danych) | Plik (XML, CSV, Google Sheet, API) z listą produktów i ich atrybutami, który zasila Merchant Center. To „paliwo” reklam produktowych. |
| Plik podstawowy (primary feed) | Główne, kompletne źródło produktów danego sklepu. Definiuje, jakie produkty w ogóle istnieją. |
| Plik pomocniczy / dodatkowy (supplemental feed) | Dodatkowe źródło, które nie tworzy nowych produktów, tylko nadpisuje lub uzupełnia atrybuty istniejących – łączone z podstawowym po id produktu. |
| Reguły pliku danych / reguły atrybutów (feed rules) | Przekształcenia wykonywane w Merchant Center na danych z feedu (bez zmiany źródła) – np. ustaw wartość, dopisz tekst, wyklucz produkt pod warunkiem. |
excluded_destination | Atrybut produktu, który wyłącza go z wybranego kanału (np. z reklam produktowych) bez usuwania z feedu. |
id | Unikalny identyfikator produktu w feedzie – „klucz główny”, po którym łączą się pliki pomocnicze i działają reguły. |
| Konto zaawansowane / MCA / subkonto | Struktura parasolowa i osobne konta-dzieci na każdy sklep (patrz sekcja 3). |
Poniżej trzy komplementarne metody rozdzielenia oferty. Można je stosować pojedynczo albo łączyć. Wszystkie mają wspólny cel: żaden produkt nie jest aktywny w dwóch feedach naraz.
5. Metoda 1 – Reguły pliku danych (feed rules)
Co to jest
Reguły pliku danych (obecnie w interfejsie często „reguły atrybutów”) to narzędzie wewnątrz Merchant Center, które przekształca dane z Twojego feedu w locie, zanim trafią do reklam – bez ruszania samego źródła po stronie sklepu. Reguły działają kaskadowo: wykonują się jedna po drugiej, w kolejności, w jakiej je ustawisz.
Jak działa
Każda reguła składa się z warunku (kiedy ma zadziałać) i operacji (co ma zrobić). Warunki wspierają operatory typu „równa się”, „zawiera”, „nie równa się”, łączenie przez ORAZ (oba warunki spełnione) oraz LUB (wystarczy jeden). Dostępne operacje to m.in.: ustaw wartość, dopisz/poprzedź tekst, znajdź i zamień, wyczyść wartość, oblicz, a także – kluczowe dla nas – ustawienie atrybutu wykluczającego produkt.
Jak użyć do rozdzielenia sklepów
Pomysł: w każdym sklepie wprowadzasz umowny podział asortymentu, a regułą wykluczasz „nie swoją” część. Przykłady sygnałów, po których można dzielić:
- po kategorii / marce (Sklep A obsługuje marki A–M, Sklep B: N–Z),
- po etykiecie niestandardowej
custom_label(np.custom_label_0 = sklepA), - po zakresie ID produktu lub prefiksie SKU.
Przykład logiki reguły w subkoncie Sklepu B (chcemy, by Sklep B nie reklamował produktów oznaczonych jako „należące do Sklepu A”):
REGUŁA: "Wyklucz asortyment Sklepu A"
JEŚLI custom_label_0 RÓWNA SIĘ "sklepA"
TO ustaw excluded_destination = shopping_ads
custom_label) w źródle.
6. Metoda 2 – Plik pomocniczy z listą wykluczeń (po ID)
Co to jest
Plik pomocniczy (nazywany też dodatkowym; ang. supplemental feed) to drugie źródło danych, które samo nie dodaje produktów, tylko dokłada lub nadpisuje atrybuty produktów istniejących już w pliku podstawowym. Łączenie odbywa się po id produktu – plik pomocniczy musi zawierać dokładnie te same identyfikatory co podstawowy.
Jak działa
Tworzysz prosty arkusz (Google Sheets / CSV) z dwiema kolumnami: id oraz excluded_destination. Wpisujesz do niego tylko te produkty, które w danym sklepie mają zniknąć z reklam. Merchant Center dokleja atrybut wykluczenia do pasujących id, a reszta oferty działa bez zmian.
id | excluded_destination
--------------|----------------------
PROD-1001 | shopping_ads
PROD-1002 | shopping_ads
PROD-1050 | shopping_ads
W subkoncie Sklepu A wgrywasz plik pomocniczy z listą produktów „przypisanych” do Sklepu B (żeby A ich nie reklamował), a w subkoncie Sklepu B – odwrotnie. Efekt: każdy powtarzalny produkt jest reklamowany dokładnie z jednego sklepu.
id do wykluczenia, a regułą pliku danych ustawiasz na nich excluded_destination = shopping_ads. Plik pomocniczy pełni rolę „listy sterującej”, a reguła wykonuje akcję.
7. Metoda 3 – Osobne, rozłączne feedy per sklep
Co to jest
Najbardziej „u źródła” podejście: zamiast wykluczać po stronie Google, budujesz feed produktowy dla każdego sklepu tak, żeby z założenia zawierał rozłączny zestaw produktów. Podział zapada w warstwie generowania pliku (w sklepie, w integratorze feedów albo w narzędziu typu feed management).
Jak działa
Ustalasz regułę biznesową podziału asortymentu i eksportujesz do feedu każdego sklepu tylko jego część. Przykładowe strategie podziału:
| Kryterium | Sklep A | Sklep B |
|---|---|---|
| Kategoria | Elektronika, AGD | Dom i ogród, sport |
| Marka | Marki premium | Marki budżetowe |
| Dostępność / magazyn | Magazyn PL | Dropshipping / dostawca |
| Pozycjonowanie cenowe | Outlet / promocje | Ceny regularne |
8. Atrybut excluded_destination – serce wykluczeń
Wszystkie powyższe metody prędzej czy później opierają się na jednym atrybucie, więc warto go rozumieć dokładnie.
excluded_destination („wykluczone miejsce docelowe”) to opcjonalny atrybut produktu, który wyłącza go z wybranego kanału dystrybucji, zostawiając produkt w feedzie. Dzięki temu oferta nadal istnieje (np. w bezpłatnych informacjach), ale nie startuje w reklamach produktowych danego sklepu.
Najważniejsze wartości
| Wartość | Co wyłącza |
|---|---|
shopping_ads | Reklamy produktowe w Google Ads (PLA / Performance Max) – to najczęściej używana wartość przy rozdzielaniu sklepów. |
display_ads | Remarketing dynamiczny. |
free_listings | Bezpłatne informacje o produktach w Google. |
local_inventory_ads | Reklamy lokalnego asortymentu. |
youtube_affiliate, youtube_merchandise | Kanały zakupowe / afiliacyjne na YouTube. |
Jak się go podaje
W feedzie tekstowym można podać kilka wartości po przecinku, np. display_ads,shopping_ads. W XML powtarzasz atrybut:
<g:excluded_destination>shopping_ads</g:excluded_destination>
<g:excluded_destination>display_ads</g:excluded_destination>
excluded_destination zawsze ma pierwszeństwo nad included_destination. Wykluczenie „wygrywa” – co jest dokładnie tym, czego chcemy przy rozdzielaniu sklepów.
9. Którą metodę wybrać – szybki przewodnik
| Twoja sytuacja | Rekomendacja |
|---|---|
| Da się jasno podzielić asortyment po kategorii/marce | Metoda 3 (osobne feedy) – najczystsze, najtrwalsze. |
| Nie masz kontroli nad feedem, ale możesz dodać etykietę | Metoda 1 (reguły + custom_label). |
| Masz konkretną listę ID do wykluczenia w danym sklepie | Metoda 2 (plik pomocniczy po id). |
| Duży, zmienny katalog, wiele wyjątków | Metoda 2 + 1 (plik pomocniczy jako lista sterująca, reguła jako akcja). |
| Zawsze, niezależnie od metody | Fundament z sekcji 3: konto zaawansowane MCA + osobne subkonto i domena na sklep. |
10. Checklista wdrożenia
Zbuduj strukturę kont
Złóż wniosek o konto zaawansowane (MCA) i utwórz osobne subkonto dla każdego sklepu, z osobną, zweryfikowaną domeną.Zmapuj nakładający się asortyment
Wyeksportuj listy produktów obu sklepów i znajdź część wspólną (poid,gtin/EAN lub SKU). To Twoja lista „do rozdzielenia”.Wybierz zasadę podziału
Zdecyduj, który sklep „dostaje” które produkty (kategoria, marka, magazyn, cena) i zapisz to jako jednoznaczną regułę biznesową.Wdróż wykluczenia
Zastosuj metodę 1, 2 lub 3 tak, by na powtarzalnych produktach zadziałałoexcluded_destination = shopping_adsw „nie swoim” subkoncie.Przetestuj przed publikacją
Skorzystaj z podglądu i testowania reguł pliku danych w Merchant Center – sprawdź, czy właściwe produkty zostają wykluczone, zanim reguła wejdzie w życie.Zweryfikuj statusy i monitoruj
Po przetworzeniu feedów sprawdź, czy status „produkt zduplikowany” zniknął, i ustaw cykliczny audyt (nowe produkty potrafią wrócić do obu sklepów naraz).
11. Najczęstsze błędy
- Wykluczanie w obie strony tego samego produktu. Jeśli oba sklepy wykluczą ten sam
id, produkt zniknie z reklam zupełnie. Podział musi być rozłączny, ale pełny – każdy produkt reklamowany dokładnie raz. - Brak sygnału różnicującego w źródle. Reguły potrzebują, po czym dzielić. Bez
custom_label, kategorii czy prefiksu SKU nie ma jak jednoznacznie rozdzielić identycznych ofert. - Traktowanie „konta wielu sprzedawców” jak rozwiązania. To mechanizm dla marketplace’ów, nie dla własnych sklepów jednej firmy – patrz ostrzeżenie w sekcji 3.
- Rozdzielenie feedów, ale wspólne ID między sklepami bez kontroli. Jeśli aktualizacja katalogu ponownie wrzuci wszystkie produkty do obu feedów, duplikaty wrócą. Automatyzuj podział, nie rób go „ręcznie raz”.
- Ignorowanie ostrzeżeń, aż będzie zawieszenie. Status „produkt zduplikowany” to żółte światło. Reaguj na etapie ostrzeżenia, zanim zamieni się w blokadę konta.
12. FAQ
Czy dwa sklepy na jednym NIP-ie to samo w sobie łamie zasady?
Nie. Jedna firma może mieć wiele sklepów i wiele subkont Merchant Center. Problemem nie jest wspólny NIP, tylko ta sama oferta aktywna równolegle w więcej niż jednym źródle. Rozdziel wyświetlanie produktów, a wspólny NIP nie stanowi przeszkody.
Czy mogę po prostu obniżyć/podnieść cenę w jednym sklepie i zostawić duplikaty?
Nie rozwiązuje to problemu – różnica ceny nie znosi statusu duplikatu, a wręcz może uruchomić dodatkowo kwestię „wprowadzania w błąd”. Trzeba rozdzielić kanał wyświetlania, nie tylko cenę.
Plik pomocniczy czy reguła – co jest „mocniejsze”?
Działają na różnych poziomach i świetnie się uzupełniają. Plik pomocniczy to wygodne, audytowalne źródło listy (po id), a reguła to akcja wykonywana na danych. Przy dużych katalogach standardem jest łączenie obu.
Czy wykluczenie z shopping_ads usuwa produkt ze sklepu?
Nie. Produkt zostaje w sklepie i w feedzie – znika tylko z reklam produktowych danego subkonta. Możesz go dalej sprzedawać i pokazywać w innych kanałach.
Ile subkont mogę mieć pod kontem zaawansowanym?
Konto zaawansowane (MCA) jest zaprojektowane do zarządzania wieloma subkontami – po jednym na każdy sklep/witrynę. To standardowy sposób obsługi kilku sklepów jednej firmy z jednego miejsca.
excluded_destination = shopping_ads. Najtrwalej działa rozdzielenie asortymentu u źródła; najszybciej – reguła lub plik pomocniczy.
Źródła
- Prośba o skonfigurowanie konta zaawansowanego – Google Merchant Center Pomoc
- Sub-accounts – Google Merchant Center Help
- Konta wielu sprzedawców – Google Merchant Center Pomoc
- Konfigurowanie reguł pliku danych – Google Merchant Center Pomoc
- Wykluczone miejsce docelowe [excluded_destination] – Google Merchant Center Pomoc
- Rozwiązanie problemu: produkt zduplikowany – Google Merchant Center Pomoc