eCommerce 2026

ALU-GUM - Sklep z Felgami OEM na Pięć Rynków, od Audytu RODO po Google Ads

Przejęliśmy sklep z felgami, który zbierał dane bez zgody użytkowników i ładował się kilkanaście sekund. Wymieniliśmy fundament zamiast łatać: własny mechanizm zgody, nowy sklep bez page buildera, reguły sprzedaży zapisane w kodzie, pięć rynków, cztery waluty, integracje z BaseLinkerem i Google, własny asystent zakupowy i kampanie rozliczane z przychodu.

ALU-GUM Sławomir Wizner
Motoryzacja - felgi i opony, sprzedaż wielokanałowa
Dwa miesiące

Sklep, który zbierał dane bez zgody

ALU-GUM to rodzinna firma z Sulmierzyc, na rynku od 2007 roku. Około sześciu tysięcy felg na stanie: oryginały OE do Renault, Dacii, grupy PSA, Volkswagena, BMW i Jaguara, felgi stalowe, opony, koła kompletne. Realny magazyn, realni klienci, sprzedaż w kilku kanałach jednocześnie.

I sklep internetowy, który tego wszystkiego nie udźwignął. Zbudowany na Elementorze, obwieszony wtyczkami, z bannerem zgody na cookies, który był wyłącznie dekoracją. Google Analytics odpalał się i tak, zanim ktokolwiek kliknął „akceptuję".

509 KB
Sam HTML strony głównej, przed grafiką i skryptami

12,9 s
Czas pojawienia się głównej treści na telefonie

1357
Wystąpień Elementora w kodzie jednej strony

0
Realnej blokady analityki do momentu zgody

Audyt: od najpilniejszego

Zaczęliśmy od przeglądu na żywo, po publicznym kodzie, sitemapach, stronach prawnych i danych strukturalnych. Nie od projektu graficznego, tylko od pytania, co grozi firmie już jutro.

Zgoda na cookies była pozorna

Skrypt Google Analytics ładował się jako zwykły, wykonywalny tag, bez blokady i bez Consent Mode. Dane zbierały się przed zgodą użytkownika. To realne ryzyko RODO, a od 2024 roku brak Consent Mode w wersji drugiej odcina też remarketing i pomiar konwersji w Google Ads.

Reszta listy była podobnie konkretna. Polityka cookies szablonowa, bez nazw ciasteczek i czasu ich życia. Deklaracja dostępności istniała jako pusty adres, bez daty, poziomu zgodności i kontaktu. Przy formularzu zwrotu widniało „POBIERZ", tylko że bez żadnego linku, jako goły tekst.

Do tego warstwa niewidoczna dla klienta, a kosztowna dla sklepu: po trzy nagłówki H1 na stronie, dane strukturalne strony głównej opisujące sklep jako artykuł na blogu, produkty bez marki i bez kodu producenta, przez co felgi gorzej wchodziły do Google Shopping, oraz zebrane opinie klientów, które nigdzie nie były wpięte w dane dla wyszukiwarki.

Przed

Analityka startowała przed zgodą na cookies

Deklaracja dostępności: pusta strona

Formularz zwrotu: napis „POBIERZ" bez pliku

Trzy nagłówki H1 na jednej stronie

Strona główna opisana w danych strukturalnych jako artykuł

Produkty bez marki i kodu producenta

Jeden język, jedna waluta

Elementor i 31 arkuszy stylów

Po

Własny mechanizm zgody, analityka rusza dopiero po akceptacji

Deklaracja dostępności i polityka cookies z tabelą ciasteczek

Interaktywny formularz zwrotu z klauzulą i zgodą

Jeden H1 na stronę, nawigacja klawiaturą, skip link

Sklep opisany jako sklep z częściami, produkty z marką i kodem

Marka i kod producenta uzupełnione na blisko trzech tysiącach pozycji

Pięć języków i cztery waluty

Własny motyw, dwa arkusze stylów

Decyzja: nie łatanie, tylko nowy fundament

Klient dostał dwie wyceny. Pierwsza obejmowała samo zdjęcie ryzyka prawnego. Druga, wybrana, oznaczała wyrzucenie Elementora i zbudowanie sklepu od nowa, przy zachowaniu katalogu i zamówień. Nie migrowaliśmy danych, tylko wymieniliśmy całą warstwę prezentacji i logiki wokół nich.

1

Audyt i koncept

Przegląd stanu faktycznego, potem klikalny koncept graficzny na dziesięć ekranów jako samodzielny plik HTML. Klient zaakceptował wygląd, zanim powstała pierwsza linia kodu produkcyjnego

2

Warstwa zgody i pomiaru

Własny mechanizm zgody z Consent Mode w wersji drugiej, zamiast zewnętrznej wtyczki. Kontener pomiarowy i pełna warstwa danych e-commerce

3

Motyw od zera

Klasyczny motyw w PHP z Tailwindem kompilowanym do statycznego pliku. Zero page buildera. Strona główna, listing z filtrami, karta produktu z konfiguratorem, koszyk, kasa i konto klienta

4

Reguły biznesowe w kodzie

Sprzedaż w kompletach, dodatki do felg, matryca przewoźników i płatności. To, co wcześniej było ustaleniem w głowie właściciela, stało się regułą, której sklep pilnuje sam

5

Migracja na nowy hosting

Przeniesienie sklepu ze starego dostawcy, przepięcie domeny, poczty i certyfikatów, bez przerwy w sprzedaży

6

Ekspansja i automatyzacja

Pięć języków, cztery waluty, reguły sprzedaży zagranicznej, katalog produktowy w Google, asystent zakupowy i kampanie reklamowe

Zgoda na cookies zrobiona uczciwie

Zewnętrzną wtyczkę do zgody wyrzuciliśmy i napisaliśmy własną. Powód jest prozaiczny: w Consent Mode w wersji drugiej liczy się kolejność, w jakiej rzeczy trafiają do nagłówka strony. Wtyczka, która robi to po swojemu, potrafi zepsuć pomiar mimo poprawnego bannera.

  • Domyślna odmowa dla analityki i marketingu, ustawiana zanim cokolwiek się załaduje
  • Zapamiętany wybór użytkownika odczytywany przed startem kontenera pomiarowego
  • Czyszczenie adresu z parametrów śledzących, żeby nie zaśmiecały statystyk i wyników wyszukiwania
  • Kategorie: niezbędne, statystyczne, marketingowe, z możliwością zmiany decyzji z poziomu stopki
  • Bez zgody dane lecą w formie anonimowej, po zgodzie w pełnej, i to jest różnica między pomiarem legalnym a nielegalnym

Na tym fundamencie stanęła warstwa danych e-commerce: obejrzenie produktu, dodanie do koszyka, rozpoczęcie płatności i zakup razem z kwotą, walutą i numerem zamówienia. Jedno źródło dla analityki, reklam i przyszłych integracji marketingowych.

Formularze, które faktycznie działają

Napis „POBIERZ" bez pliku zastąpił interaktywny formularz zwrotu. Klient wypełnia go online, zaznacza wymaganą zgodę na przetwarzanie danych i widzi klauzulę informacyjną, a zgłoszenie trafia mailem do sklepu i do niego samego. Nie ma etapu drukowania, skanowania i odsyłania.

Analogicznie powstał formularz kontaktowy z osobną, dobrowolną zgodą marketingową, pułapką na roboty i limitem zgłoszeń na minutę. Zgody pojawiły się też przy rejestracji konta: akceptacja regulaminu i polityki jest wymagana, marketing pozostaje wyborem, a decyzja zapisuje się przy koncie klienta.

Nowy sklep zamiast Elementora

Motyw powstał od zera, na tokenach z zaakceptowanego konceptu. Efekt widać w liczbach, bo usunięcie page buildera zdjęło ze strony około 470 kilobajtów samego kodu HTML, zanim jeszcze doliczymy style i skrypty.

97
Wynik wydajności, wcześniej niemożliwy do zmierzenia

2,6 s
Główna treść na telefonie, było 12,9 s

38 KB
HTML strony głównej, było 509 KB

0
Przesunięć układu podczas ładowania

Dostępność podniosła się z osiemdziesięciu ośmiu do dziewięćdziesięciu pięciu punktów. Jeden nagłówek H1 na stronę, link pozwalający pominąć nawigację, poprawny kontrast, obsługa klawiaturą, zamykanie menu klawiszem Escape. To nie jest kosmetyka, tylko wymóg Europejskiego Aktu o Dostępności, który obowiązuje sklepy od czerwca 2025 roku.

Karta produktu, która sprzedaje komplet

Felgi sprzedaje się w kompletach i sklep wreszcie o tym wie. Karta produktu ma konfigurator: klient wybiera liczbę sztuk, dokłada opony, czujniki ciśnienia i montaż, a suma przelicza się na żywo. Reguła biznesowa właściciela została zapisana w kodzie, łącznie z rozpoznawaniem, kiedy oferta dotyczy pojedynczej sztuki, a kiedy pełnego kompletu.

  • Wyszukiwarka rozumiejąca zapytania w rodzaju „clio 17" albo „5x114,3" i zamieniająca je na filtry
  • Dobór po parametrach: średnica, szerokość, rozstaw śrub, otwór centralny i wylot
  • Filtr stanu, oddzielający felgi nowe od używanych, zbudowany na danych z całego katalogu
  • Prawdziwe opinie produktów widoczne na stronie głównej i w danych dla wyszukiwarki
  • Statystyki liczone z bazy, nie wpisane na sztywno w szablon

Dostawa i płatność bez telefonu do klienta

Reguły wysyłki felg były do tej pory wiedzą plemienną. Zamieniliśmy je w automat, który nie pozwala złożyć niemożliwego zamówienia.

  • Felgi jadą wyłącznie kurierem, paczkomat znika z wyboru sam
  • Drobne produkty mogą iść zarówno kurierem, jak i do paczkomatu
  • Przy paczkomacie pobranie jest niedostępne, zostaje przedpłata
  • Za granicę wyłącznie kurierzy międzynarodowi, z progiem minimalnego kosztu
  • Poza Polską pobranie nie jest oferowane w ogóle

Pięć języków i cztery waluty

Sklep miał wyjść poza Polskę, więc dostał pięć wersji językowych: polską, niemiecką, czeską, słowacką i rumuńską, każdą w osobnym katalogu adresu. Przetłumaczyliśmy nie tylko interfejs, ale i katalog: ponad trzy tysiące produktów razy cztery języki to około piętnastu tysięcy wpisów produktowych, do tego menu, kategorie, strony i komplet treści prawnych.

Najtrudniejsze było to, czego nie widać

Po włączeniu wielojęzyczności przestały działać filtry na wersjach obcych. Przyczyny były dwie i obie leżały głęboko: wtyczka tłumacząca obejmowała także atrybuty techniczne felg, przez co zapytanie do bazy nie mogło zwrócić nic sensownego, a przetłumaczone produkty nie trafiły do tabeli, z której WooCommerce czyta ceny i stany. Naprawa obu warstw przywróciła filtry, dane techniczne i produkty powiązane we wszystkich językach.

Do tego cztery waluty: złoty, euro, korona czeska i lej rumuński, z kursami pobieranymi automatycznie z Narodowego Banku Polskiego. Waluta dobiera się do języka, a klient może ją zmienić ręcznie i wybór zostaje zapamiętany.

Sprzedaż zagraniczna z własnymi regułami

Wysyłka felg za granicę kosztuje więcej i klient postawił jasne warunki. Ceny dla zagranicy dostają ustalony narzut procentowy, doliczany zanim waluta zostanie przeliczona, żeby kolejność działań nie zafałszowała kwoty. Wysyłka poza Polskę idzie tylko wybranymi kurierami międzynarodowymi, z minimalną kwotą przewalutowywaną na walutę klienta. Wszystkie progi ustawia się z panelu sklepu, bez dotykania kodu.

Jedno źródło prawdy dla wszystkich kanałów

ALU-GUM sprzedaje nie tylko na własnej stronie. Stany i ceny całego katalogu żyją w BaseLinkerze, który zasila dwa konta Allegro, Erli i sklep internetowy. Nasza rola polegała na tym, żeby ten obieg był spójny i żeby dane nadawały się do kanałów, które ich wymagają.

  • Uzupełnienie producenta i kodu producenta na blisko trzech tysiącach pozycji, bo bez nich marketplace'y i Google Shopping traktują ofertę gorzej
  • Automatyczne przypisywanie kodu jako identyfikatora produktu po stronie sklepu, czego sam BaseLinker nie robi
  • Automatyczna klasyfikacja kategorii na podstawie danych producenta felgi
  • Katalog wysyłany do Google Merchant Center, ponad trzy tysiące ofert, ze zdjęciami i etykietami do sterowania stawkami
  • Ceny dla katalogu Google zawsze w wersji krajowej, niezależnie od tego, jaką walutę widzi odwiedzający
Lekcja, którą warto znać

Po włączeniu wielojęzyczności interfejs programistyczny sklepu zaczął zwracać produkty ze wszystkich języków naraz. Automat wysyłający katalog do Google zdublował więc oferty kilkukrotnie, co skończyło się tysiącami odrzuconych pozycji. Znaleźliśmy przyczynę, wyczyściliśmy duplikaty i przebudowaliśmy automat tak, żeby filtrował język i przerywał pracę, gdy dane wyglądają podejrzanie. Każdy program czytający dane wielojęzycznego sklepu musi jawnie wskazać język.

Felek, asystent zakupowy bez abonamentu

Klient zobaczył u konkurencji czat obsługiwany przez wynajętą usługę i chciał to samo. Policzyliśmy koszty i zaproponowaliśmy coś innego: własnego asystenta, bez modelu językowego i bez opłat abonamentowych.

Felek rozpoznaje intencję pytania, radzi sobie z literówkami i odmianą, rozumie pytania w pięciu językach i przeszukuje katalog sklepu. Zapytany o rozmiar opony rozpozna go wyrażeniem regularnym, zapytany o „golfa" albo „passata" sprowadzi nazwę do modelu auta. Odpowiada na pytania o dostawę, zwroty, płatności, komplety, dostępność, sprzedaż zagraniczną i hurt, a dane bierze wprost z ustawień sklepu, więc nie rozjedzie się z rzeczywistością.

Uczy się bez uczenia maszynowego

Pytania, na które Felek nie umiał odpowiedzieć, trafiają do panelu administratora razem z licznikiem powtórzeń. Właściciel widzi, o co klienci pytają najczęściej, i jednym przyciskiem dopisuje odpowiedź. To zamienia czat w narzędzie do badania potrzeb klientów, a nie tylko w automat od odpowiadania.

Reklama, która wie, co sprzedaje

Na koniec doszły kampanie Google Ads. Nie ruszyliśmy ich, dopóki sklep nie potrafił zmierzyć sprzedaży co do złotówki, bo bez tego reklama jest wydatkiem, o którym nic nie wiadomo.

  • Trzy kampanie: wyszukiwarkowa według marki auta, produktowa zasilana katalogiem i obrona własnej nazwy
  • Dwadzieścia grup reklam, po jednej na markę auta, plus dobór po rozstawie i felgi używane
  • Pięćset cztery słowa kluczowe w dopasowaniach ograniczających przypadkowy ruch
  • Siedemdziesiąt cztery wykluczenia od pierwszego dnia, między innymi naprawa, prostowanie, skup i wynajem
  • Katalog podzielony na piętnaście segmentów z osobnymi stawkami, od najdroższych marek premium po akcesoria
  • Pomiar zakupu przekazujący kwotę, walutę i numer zamówienia, więc raport pokazuje przychód, nie liczbę kliknięć

Świadomie zaczęliśmy od licytowania pod kliknięcia z limitem stawki, a nie od automatu optymalizującego konwersje. Automat potrzebuje historii sprzedaży, a konto jej nie miało. Wyłączyliśmy też kampanię zakładaną automatycznie przez kreator Google oraz rozszerzenia zasięgu na sieć reklamową i partnerów, bo na starcie zaciemniają odczyt tego, co naprawdę działa.

Awaria, która czegoś nauczyła

Pod koniec sierpnia sklep przestał odpowiadać na blisko dobę. Przyczyną było obejście konfiguracyjne odziedziczone po migracji, które hosting w końcu ubił. Doraźne restarty przestały pomagać, więc zamiast reanimować obejście, przenieśliśmy sklep na aktualną, systemową wersję PHP, a całą diagnostykę i procedurę wyjścia opisaliśmy w dokumentacji.

Tydzień później okazało się, że awaria zostawiła ślad w innym miejscu. Zamówienia przestały trafiać do BaseLinkera, mimo że stany magazynowe synchronizowały się normalnie. Analiza logów pokazała, że po serii nieudanych zapytań w czasie awarii BaseLinker sam wstrzymał pobieranie zamówień i nie wznowił go po powrocie sklepu. Sklep działał poprawnie przez cały czas. To trafiło do dokumentacji jako stała procedura na wypadek każdej dłuższej niedostępności.

Technologie

WordPress
WooCommerce
PHP 8.5
MariaDB
Tailwind CSS 4
Motyw klasyczny bez page buildera
REST API
Polylang Pro
Multiwaluta z kursami NBP
BaseLinker
Przelewy24
Google Tag Manager
GA4 z Consent Mode v2
Google Merchant Center
Google Ads
Schema.org JSON-LD
Docker
PHPUnit

Rezultaty

Zgodność z RODO zamiast pozornej zgody
Analityka i marketing ruszają dopiero po akceptacji, w modelu wymaganym przez Google od 2024 roku

Strona szybsza o rząd wielkości
Główna treść w 2,6 sekundy zamiast 12,9, HTML mniejszy trzynastokrotnie, zero przesunięć układu

Pięć rynków zamiast jednego
Polska, Niemcy, Czechy, Słowacja i Rumunia, każdy z własną walutą, cenami i regułami wysyłki

Reguły sprzedaży pilnowane przez sklep
Komplety, dodatki, dobór przewoźnika i dostępność płatności działają automatycznie, bez telefonu do klienta

Katalog spójny we wszystkich kanałach
Sklep, dwa konta Allegro, Erli i Google Merchant Center zasilane z jednego źródła

Obsługa klienta bez abonamentu
Własny asystent w pięciu językach, bez opłat za każde zapytanie i bez wysyłania danych na zewnątrz

Reklama rozliczana z przychodu
Kampanie z pomiarem wartości zamówień, wykluczeniami i podziałem stawek według marki auta

Projekt przekazany z dokumentacją
Jeden dokument na siedemdziesiąt kilka stron: architektura, procedury, znane ograniczenia i komplet dostępów

Czego ten projekt uczy

Sklep nie był zepsuty dlatego, że komuś zabrakło chęci. Był zepsuty, bo każdy kolejny element dokładano do poprzedniego, aż całość przestała się trzymać kupy: page builder na wtyczce, wtyczka na wtyczce, zgoda na cookies jako obrazek do zamknięcia. Naprawa oznaczała odwrócenie kolejności: najpierw fundament prawny i pomiarowy, potem szybka warstwa prezentacji, dopiero na końcu ekspansja i reklama.

Dzięki tej kolejności każdy kolejny etap dało się dołożyć bez przebudowywania poprzedniego. Wielojęzyczność weszła na gotowy motyw. Waluty weszły na wielojęzyczność. Sprzedaż zagraniczna weszła na waluty. Reklama weszła na pomiar, który stał od pierwszego tygodnia projektu.

Realizacja: KamikStudio • 2026

Masz podobny projekt?

Opowiedz nam o swoich potrzebach. Przygotujemy wycenę i harmonogram realizacji.