Emanuel Berg: utrzymanie i rozwój sklepu Magento marki odzieży męskiej
Zajęliśmy się utrzymaniem i rozwojem sklepu Magento 2 marki Emanuel Berg, uprościliśmy wdrożenia i szybciej dostarczaliśmy nowe funkcje: newsletter z rabatami, Consent Mode v2, stany magazynowe.
- 13 mies.
- aktywnego rozwoju sklepu z naszym zespołem
- 53
- merge requesty w GitLabie
- 4
- własne moduły Magento
- 3
- osoby z Endory w projekcie
- Klient
- Emanuel Berg
- Branża
- Moda męska premium: koszule, dzianina i marynarki szyte w europejskim atelier od 1989 roku
- Zakres
- Utrzymanie i rozwój sklepu Magento 2, integracja z FreshMail, newsletter z kodami rabatowymi, Google Consent Mode v2, skaner cookies, stany magazynowe i import, analityka GA4 i Meta, CI/CD na środowisko testowe, poprawki i aktualizacje modułów
- Okres współpracy
- Od stycznia 2024
- Wykorzystane technologie
- Magento 2PHPJavaScriptMySQLGitLab CI/CDAnsibleDocker
Emanuel Berg to marka męskiej odzieży premium, która od 1989 roku szyje koszule z włoskich tkanin we własnym europejskim atelier. W ofercie są koszule, dzianina, polo, marynarki i kurtki, a także szycie na miarę. Marka sprzedaje w sklepach partnerskich i online, w tym przez sklep na Magento 2.
W styczniu 2024 roku marka poprosiła nas o zajęcie się utrzymaniem i rozwojem sklepu. Sklep działał wolno, a infrastruktura i procesy wdrożeniowe, które zostawił poprzedni wykonawca, były zbyt złożone jak na skalę tej instancji Magento. Zaczęliśmy od uproszczenia i uporządkowania procesu, a potem przez 13 miesięcy rozwijaliśmy sklep w całości: marketing, zgody na cookies i analitykę oraz logikę stanów magazynowych.
Start współpracy i prostsze wdrożenia
Gdy zaczynamy pracę ze sklepem zbudowanym przez inny zespół, pierwsze pytanie brzmi: co dokładnie działa na produkcji? Według dokumentacji poprzedniego wykonawcy ostatnia aktualizacja miała miejsce w czerwcu 2023 roku. Przenieśliśmy kod do naszego repozytorium GitLab, uruchomiliśmy sklep lokalnie na kopii danych i dopiero wtedy zaczęliśmy zmiany. Istniejące moduły, w tym integrację stanów magazynowych, płatności Przelewy24 i wysyłkę InPost, zachowaliśmy i poprawialiśmy tam, gdzie wymagała tego sprzedaż.
Złożoną infrastrukturę i proces wdrożeń zastąpiliśmy prostszym, dopasowanym do realnych potrzeb sklepu. Każda zmiana powstaje na osobnym branchu i trafia do merge requestu. Po scaleniu do brancha dev pipeline GitLab CI z Ansible sam aktualizuje środowisko testowe: włącza tryb serwisowy, pobiera kod, instaluje zależności, wykonuje migracje bazy, buduje style i wyłącza tryb serwisowy. Na produkcję trafia tylko to, co zostało sprawdzone na teście.
Dla biznesu oznaczało to, że nowe funkcje trafiały do sklepu szybciej, utrzymanie wymagało mniej pracy, a żadna zmiana nie była wdrażana „na żywo” bez sprawdzenia.
Newsletter, który nagradza zapis kodem rabatowym
Marka buduje bazę mailingową w FreshMail. Połączyliśmy z nim Magento i dopisaliśmy własny moduł newslettera. Klient zapisuje się w popupie albo w formularzu na stronie, akceptując wymagane zgody. Sklep sprawdza w FreshMail, czy adres nie jest już zapisany, zapisuje klienta w Magento, a przy synchronizacji z FreshMail generuje dla niego jednorazowy kod rabatowy na podstawie reguły koszykowej wybranej w panelu. Kod trafia do pola w FreshMail, więc mail powitalny zawiera rabat przypisany do tej jednej osoby.
Popup i formularz są widgetami: marketing sam ustawia tytuł, opis, treść zgody, komunikat po zapisie i to, czy popup ma się pokazywać zalogowanym klientom. Domyślne maile newslettera Magento wyłączyliśmy, żeby klient nie dostawał dwóch wiadomości, a każdy zapis wysyłamy do dataLayer jako zdarzenie, które marketing mierzy w Google Analytics 4.
Dla biznesu oznacza to rosnącą bazę mailingową, zachętę do pierwszego zakupu i kody, których nie da się rozdać dalej, bo każdy działa raz.
Google Consent Mode v2 i skaner cookies
Od marca 2024 roku Google wymaga Consent Mode v2, aby kampanie reklamowe i analityka mogły korzystać z danych użytkowników z Europejskiego Obszaru Gospodarczego. Napisaliśmy dla sklepu własny moduł zgód. Okno pokazuje cztery kategorie cookies: niezbędne, preferencji, statystyczne i marketingowe. Tagi Google startują z odmową zgody i włączają pomiar oraz personalizację reklam dopiero zgodnie z wyborem klienta. Od pierwszego commita do wdrożenia na produkcję minęło 11 dni.
Sklep zmienia się w czasie: dochodzą nowe skrypty i nowe cookies. Dlatego w panelu Magento dodaliśmy przycisk „Scan website for cookies”, który zleca skanowanie sklepu naszemu narzędziu do wykrywania cookies. Po zakończeniu skanu lista cookies z podziałem na kategorie zapisuje się w konfiguracji, osobno dla każdej wersji sklepu, a okno zgód od razu pokazuje aktualne dane.
Dla biznesu oznacza to zgodność z wymaganiami Google i RODO bez utraty danych do kampanii oraz listę cookies, której nie trzeba spisywać ręcznie.
Dostępność produktów zgodna z magazynem
Stany magazynowe trafiają do sklepu z importu pliku XML z serwera FTP. Problem polegał na tym, że status „w magazynie” nie zawsze nadążał za ilością. Napisaliśmy moduł, który po każdym zamówieniu i każdym imporcie liczy rzeczywistą ilość dostępną do sprzedaży: stan magazynowy pomniejszony o rezerwacje z otwartych zamówień i ustawiony próg minimalny. Gdy ilość spada do zera, produkt znika ze sprzedaży. Gdy towar wraca, produkt sam wraca do oferty.
Kiedy w listopadzie 2024 roku pojawiło się zgłoszenie o stanach, które nie zmieniały się po zamówieniu, poprawka trafiła na produkcję tego samego dnia. Kilka dni później usunęliśmy drugą przyczynę: import nie dopasowywał produktów, gdy kod SKU w pliku różnił się wielkością liter.
Dla biznesu oznacza to mniej anulowanych zamówień, mniej rozczarowanych klientów i brak ręcznego pilnowania dostępności.
Bieżący rozwój i utrzymanie
Poza większymi funkcjami dbaliśmy o codzienną kondycję sklepu: obsługa obrazów WebP, poprawki modułu InPost i modułu cen Omnibus, integracja z Meta (Facebook) dla kampanii, łatki naprawiające logowanie do panelu i kalendarz na karcie produktu oraz przywrócenie wyglądu bloku produktów powiązanych na karcie produktu, który nadpisywał moduł GA4. Każda z tych zmian przeszła przez ten sam proces: merge request, środowisko testowe, akceptacja, produkcja.
Technologia w tle
Sklep działa na Magento 2 Open Source z motywem marki, a środowisko testowe w kontenerach Docker. Kod żyje w GitLabie, a wdrożenia na środowisko testowe wykonuje pipeline GitLab CI z playbookiem Ansible. Nasze rozszerzenia to cztery moduły Magento w PHP i JavaScript, zintegrowane z FreshMail, Google Tag Manager i GA4. Masz sklep zbudowany przez inny zespół i szukasz partnera do jego dalszego rozwoju? Zobacz, jak prowadzimy utrzymanie i rozwój platform, albo porozmawiajmy o Twoim projekcie.
Diagnoza
Co trzeba było rozwiązać?
Infrastruktura ponad potrzeby
Sklep działał wolno, a infrastruktura i proces wdrożeń po poprzednim wykonawcy były zbyt złożone jak na skalę tej instancji Magento. Utrzymanie wymagało więcej pracy, niż było trzeba, a nowe funkcje powstawały powoli.
Newsletter bez zachęty
Marka chciała budować bazę mailingową w FreshMail i nagradzać zapis kodem rabatowym. Standardowy newsletter Magento nie rozmawiał z FreshMail i nie generował kodów.
Nowe wymagania Google
Od marca 2024 roku Google wymaga Consent Mode v2, aby reklamy i analityka mogły korzystać z danych użytkowników z Europejskiego Obszaru Gospodarczego. Sklep potrzebował nowego okna zgód.
Stany, które się rozjeżdżały
Produkty, których już nie było, potrafiły zostać w sprzedaży, a te, które wróciły na magazyn, nie wracały automatycznie do oferty. Część problemów brała się z importu stanów.
Rozwiązanie
Co dostał Emanuel Berg
Prostszy proces wdrożeń
Proces dopasowany do skali sklepu: kod w GitLabie, praca na branchach i merge requestach oraz pipeline, który po każdej zmianie aktualizuje środowisko testowe. Produkcja dostaje tylko zmiany sprawdzone na teście.
Newsletter z kodem rabatowym
Popup i widget zapisu, które marketing konfiguruje w panelu. Każda nowa osoba dostaje w FreshMail jednorazowy kod rabatowy, a zapis trafia do GA4 jako zdarzenie.
Google Consent Mode v2
Okno zgód z czterema kategoriami cookies. Tagi Google domyślnie nie zbierają danych i włączają się dopiero zgodnie z wyborem klienta.
Skaner cookies w panelu
Jeden przycisk w panelu Magento uruchamia skanowanie sklepu i uzupełnia listę cookies pokazywaną klientom, osobno dla każdej wersji sklepu.
Dostępność zgodna z magazynem
Po każdym zamówieniu i imporcie stanów sklep sam przelicza ilość dostępną do sprzedaży i ukrywa lub przywraca produkt.
Utrzymanie i drobny rozwój
Obrazy WebP, poprawki modułów InPost i Omnibus, integracja z Meta, poprawki panelu administracyjnego i karty produktu.
Jak pracowaliśmy
Od uporządkowania procesu do stałego rozwoju
- 01
Start współpracy i uproszczenie (styczeń - marzec 2024)
Przenieśliśmy kod do naszego GitLaba, uruchomiliśmy projekt lokalnie i zastąpiliśmy złożony proces wdrożeń prostym pipeline’em GitLab CI z Ansible, który wdraża branch dev na środowisko testowe.
- 02
Marketing i newsletter (luty - marzec 2024)
Integracja z FreshMail, generowanie kodów rabatowych i popup newslettera. Pierwsze zmiany trafiły na produkcję pod koniec marca.
- 03
Zgody i analityka (marzec - maj 2024)
Consent Mode v2 od pierwszego commita do produkcji w 11 dni, potem skaner cookies, zdarzenie zapisu do newslettera w dataLayer i moduł Meta.
- 04
Stany magazynowe (kwiecień - listopad 2024)
Automatyczna dostępność produktów po zamówieniu i imporcie, a po zgłoszeniu kolejnego problemu poprawka importu, wdrożona na produkcję tego samego dnia.
- 05
Stały rozwój (2024 - 2025)
Każda zmiana szła tą samą drogą: branch, merge request, środowisko testowe, akceptacja i merge do mastera, który trafiał na produkcję.
Efekty
Co zyskał Emanuel Berg?
- ✓ Infrastruktura i wdrożenia dopasowane do skali sklepu, a dzięki temu szybsze dostarczanie nowych funkcji
- ✓ Rosnąca baza mailingowa w FreshMail, w której każdy nowy zapis dostaje kod rabatowy
- ✓ Zgody na cookies zgodne z Google Consent Mode v2, bez utraty danych do kampanii Google
- ✓ Lista cookies w oknie zgód aktualizowana skanem z panelu, bez ręcznego spisywania
- ✓ Klienci nie kupują produktów, których nie ma, a towar, który wrócił na magazyn, sam wraca do sprzedaży
- ✓ Bezpieczne wdrożenia: każda zmiana najpierw na środowisku testowym
Zobacz dalej
Kolejne realizacje

Nowa platforma sprzedażowa
Endora Commerce: 12 lat wdrożeń B2B w jednej platformie
Jak core team Endory przełożył ponad 120 wdrożeń B2B na Endora Commerce: open source na licencji MIT, 80 modułów i demo na żywo do sprawdzenia.

Migracja platformy
DKM Power Transmission, platforma sprzedażowa
Od niestabilnej platformy i porzucanych koszyków do wzrostu konwersji o 2 p.p.
Masz konkretne wyzwanie?
Nie czytaj o tym - porozmawiajmy o Twoim przypadku.