Przejdź do treści
Endora Commerce: nasza platforma e‑commerce B2B, open source i gotowa w 4 tygodnie Zobacz →

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.

Emanuel Berg: utrzymanie i rozwój sklepu Magento marki odzieży męskiej
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

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.

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

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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

Masz konkretne wyzwanie?

Nie czytaj o tym - porozmawiajmy o Twoim przypadku.