Jak zwiększyliśmy liczbę produktów dodanych do koszyka o 2,5× i wydłużyliśmy czas sesji o ponad 80%, dzięki dedykowanemu asystentowi zakupowemu?

Poprawiliśmy doświadczenie klienta w najtrudniejszym momencie zakupu – podczas wyboru odpowiedniego produktu, omijając równocześnie wszystkie ograniczenia platformy Shopify.

Problem

Setki parametrów, kilkadziesiąt zegarków sportowych i użytkownik z dylematem - który z nich wybrać? Z perspektywy właściciela e‑sklepu - platforma SaaS z ograniczeniami bez możliwości budowy niestandardowych funkcjonalności.

Rozwiązanie

Zaawansowany asystent zakupowy, działający w ramach istniejącego sklepu na Shopify, z logiką dopasowywania produktów do preferencji użytkownika wyniesioną poza platformę.

Efekty w liczbach Źródło: Google Analytics
+82%
dłuższe sesje z asystentem niż przeciętna sesja w sklepie
+16pkt
wyższy współczynnik zaangażowania sesji
>2,5x
częstsze rozpoczęcie ścieżki zakupowej

Branża Klienta i punkt wyjścia

MoveMore to sklep internetowy z szeroką ofertą sprzętu sportowego, akcesoriów fitness i nowoczesnych urządzeń dla aktywnych.

Jedną z głównych specjalizacji sklepu są zegarki sportowe Garmin, wyróżniające się zaawansowanymi funkcjami, parametrami i właściwościami. W ofercie znajdziemy kilkanaście serii – Fenix, Forerunner, Instinct, Epix, Venu czy Vivoactive, każda z nich dedykowana jest innym aktywnościom i typom użytkowników – biegaczom, kolarzom, triathlonistom i miłośnikom trekkingu. Każda seria podzielona jest na kilka modeli, które różnią się między sobą rozmiarem koperty, typem wyświetlacza, technologią GPS, czujnikiem tętna, pojemnością baterii czy możliwością ładowania solarnego. Tylko w ramach serii Fenix 8 dostępne jest kilkanaście wariantów.

Dla osób, które znają ofertę Garmina, szeroki asortyment produktów jest dużą zaletą. Jednak dla osób, które planują zakup swojego pierwszego zegarka sportowego i nie wiedzą, jaka seria i model będzie najlepszy w ich przypadku, może to być skuteczna bariera zakupowa. I zwykłe filtrowanie produktów tutaj nie wystarczy.

Klient potrzebował narzędzia, które rozumie kontekst jego aktywności i na tej podstawie poukłada produkty od najlepiej do najgorzej dopasowanych – nie filtruje, ale rekomenduje. Właśnie dlatego powstała potrzeba zbudowania asystenta zakupowego.

Ograniczenia platformy

Shopify, platforma, na której działa MoveMore, ma własny ekosystem aplikacji, który doskonale sprawdza się w przypadku 90% sklepów. Ale jako platforma SaaS nie daje pełnej swobody programistycznej.

01

Brak własnej logiki serwerowej

Shopify nie pozwala uruchamiać własnego kodu po stronie serwera. Nie ma gdzie zbudować silnika scoringu.

02

Brak dostępu do bazy danych

Platforma nie umożliwia tworzenia własnych struktur danych ani wykonywania złożonych zapytań na specyfikacjach produktowych.

03

Brak synchronizacji z zewnętrznymi źródłami

Shopify nie pobiera automatycznie danych od producenta. Każda zmiana w katalogu wymagałaby ręcznej aktualizacji.

04

Brak możliwości zbiorczego odpytywania produktów

Metapola dostępne są wyłącznie dla pojedynczego produktu. Porównanie kilkudziesięciu modeli oznacza tyle samo osobnych zapytań – i proporcjonalny wzrost czasu ładowania.

Pierwsze podejście – wykorzystanie gotowych rozwiązań

Sprawdziliśmy kilkanaście aplikacji typu porównywarka i konfigurator z Shopify App Store. Przeanalizowaliśmy je pod kątem jednego konkretnego wymagania: czy potrafią ocenić stopień dopasowania produktu do profilu użytkownika? Żadna nie potrafiła, z trzech powodów:

01

Podwójna baza danych do utrzymania

Większość aplikacji przechowuje specyfikacje we własnej bazie danych, działającej niezależnie od bazy sklepu. Oznacza to podwójne wprowadzanie parametrów i danych: raz w sklepie, raz w aplikacji.

02

Brak oceny dopasowania

Aplikacje porównywarki weryfikują czy dana funkcja występuje na zasadzie zero‑jedynkowej. Nie potrafią ocenić, jak bardzo dany produkt pasuje do potrzeb konkretnego użytkownika.

03

Problem z kolejnością wyników

Gdy filtr już działa, produkty sortowane są według ceny albo popularności. Żadna z testowanych aplikacji nie potrafiła ustawiać wyników według trafności dopasowania do profilu użytkownika.

Porównywarka

„Czy ten zegarek to potrafi?"

Sprawdza, czy dana cecha występuje w specyfikacji. Zero‑jedynkowo.

Asystent

„Który zegarek pasuje do mnie najlepiej?"

Ocenia, jak dobrze cały profil produktu odpowiada na potrzeby użytkownika.

vs

Gotowe narzędzia oferowane przez platformę potrafią zbudować porównywarkę z lepszym zestawem filtrowania. My potrzebowaliśmy czegoś zupełnie innego – narzędzia, które przedstawi klientowi produkty najlepiej dopasowane do jego potrzeb i ułatwi mu podjęcie decyzji zakupowej, dlatego zbudowaliśmy własną architekturę.

Rozwiązanie

Sklep zachowuje swoją podstawową funkcjonalność – pokazuje produkty, renderuje karty, obsługuje koszyk. Jednak logika dopasowania produktów ląduje poza nim, w środowisku bez ograniczeń, jakie narzuca platforma. Między nimi biegnie kanał, którym przepływają tylko pytania i odpowiedzi.

Obieg 1 · w tle
Synchronizacja danych
Uruchamia się tylko wtedy, gdy coś zmienia się w sklepie – nowy model, korekta specyfikacji, wycofanie produktu. Każda zmiana automatycznie aktualizuje bazę danych zasilającą silnik rekomendacji. Działa bez żadnej interwencji ze strony zespołu sklepu.
Obieg 2 · błyskawiczny
Ścieżka użytkownika
Uruchamia się przy każdej interakcji z asystentem. Kupujący określa swoje aktywności i potrzeby – lista produktów aktualizuje się natychmiast, bez przeładowania strony, posortowana od najlepiej do najgorzej dopasowanego modelu. To jedyna część systemu, którą klient widzi.

Obydwa te obiegi działają niezależnie. Ciężka praca – normalizacja danych, aktualizacja bazy, przeliczenie specyfikacji – dzieje się z wyprzedzeniem, zanim użytkownik w ogóle otworzy asystenta. W momencie interakcji baza ma już wszystko gotowe, zostaje tylko zapytanie i natychmiastowa odpowiedź.

Architektura Oba obiegi naraz - synchronizacja danych (góra) i ścieżka kupującego (dół)
Górna część: zmiana w panelu Shopify → webhook → weryfikacja → zapis w bazie D1. Dolna część: wybór parametrów przez kupującego → scoring w Cloudflare Workers → render karty produktu przez Liquid → gotowa lista w przeglądarce.

Jak krok po kroku działa asystent?

Każdy rozwiązuje jeden konkretny problem z listy ograniczeń, w kolejności, w jakiej dane przez nie przepływają.

1
DANE

Pobranie i normalizacja specjalizacji

Garmin opisuje te same funkcje na kilka sposobów – raz „wodoodporny”, raz „10 ATM”, raz „nadaje się do nurkowania”. Dla człowieka to oczywiste. Dla algorytmu to trzy różne wartości. Normalizacja sprowadza je do jednego formatu. Pozwala uporządkować dane, na których można potem operować programistycznie.

2
Most

Skondensowany JSON w metapolu

W metapolu produktu w Shopify zapisujemy skondensowaną specyfikację w formacie JSON. Nie po to, żeby na niej „liczyć” dopasowanie – od tego mamy zewnętrzną bazę. Ale po to, żeby każdy produkt miał jednoznaczny identyfikator i powiązanie z danymi leżącymi poza Shopify.

Ograniczenie do 100 metapól

Dzięki temu zamiast dziesiątek oddzielnych pól, mamy jedno – ze strukturą, którą potrafimy odczytać programistycznie. To pozwoliło zmieścić się w limicie i jednocześnie zachować pełną elastyczność.

3
Synchronizacja

Aktualizacja danych – Webhooki i baza Cloudflare D1

Zarejestrowaliśmy webhooki Shopify na trzy zdarzenia: dodanie, edycję i usunięcie produktu. Gdy w sklepie coś się zmienia – pojawia się nowy model, zmienia się cena lub jakiś produkt zostaje wycofany, zdarzenie w sklepie automatycznie aktualizuje dane w silniku rekomendacji. Shopify sam wysyła sygnał, a system sam na niego reaguje.

Bezpieczeństwo

Zweryfikowane dane lądują w Cloudflare D1, bezserwerowej bazie SQL kompatybilnej z SQLite. I to jest cała pointa: na D1 odpytujemy wszystkie produkty naraz, dowolnym zapytaniem SQL, czyli robimy dokładnie to, na co Shopify nie pozwalał. Otwarty endpoint przyjmie żądanie od każdego, kto zna adres. Dlatego każdy payload weryfikujemy podpisem HMAC‑SHA256 z nagłówka X‑Shopify‑Hmac‑Sha256. Zgadza się – zapisujemy. Nie zgadza się – odrzucamy.

4
MÓZG

Dopasowanie produktów – Cloudflare Workers i scoring

Zapytanie od użytkownika trafia do zewnętrznego mikroserwisu, który liczy dopasowanie dla każdego produktu w bazie. Aktywność główna waży więcej niż dodatkowe – biegacz dostaje inne wyniki niż triatlonista, nawet przy tych samych filtrach. W odpowiedzi wraca lista dopasowanych produktów od najlepiej do najgorzej dopasowanego.

Właściciel sklepu może dodatkowo promować wybrane modele – nowości, produkty sezonowe, pozycje z wyższą marżą, wpływając na ich widoczność w wynikach. Nie ustawia jednak kolejności ręcznie, scoring zawsze wynika z logiki dopasowania.

Jak działa scoring

Endpoint na Cloudflare Workers uruchamia kod blisko użytkownika, w setkach lokalizacji. Frontend pyta o to co wybrał klient, które produkty pasują i jak bardzo? Worker odpytuje bazę D1, liczy scoring i odsyła wyłącznie identyfikatory produktów wraz z wynikami.

5
Interfejs

Renderowanie wyników na sklepie

Lista zegarków aktualizuje się po każdej zmianie ustawień, bez przeładowania strony. Użytkownik widzi konfigurator oraz gotowe wyniki.

Szkielet renderuje Liquid, ale cały proces dzieje się w przeglądarce: JavaScript pobiera wyniki z mikroserwisu i przestawia listę po każdej zmianie ustawień, bez przeładowania.

Efekty

Dane z Google Analytics — sesja z asystentem kontra przeciętna sesja w całym sklepie.

+82%
dłuższa sesja z asystentem
2:19 4:12
+16pkt
wyższe zaangażowanie sesji
65,5% 81,8%
>2,5x
częstsze rozpoczęcie ścieżki zakupowej

Co zyskał Klient?

Sklep z asystentem zakupowym to nie tylko lepsze doświadczenie dla klienta sklepu, ale konkretna przewaga biznesowa. Klient, który dostaje rekomendację skrojoną pod jego potrzeby, spędza więcej czasu na stronie, chętniej dodaje produkty do koszyka i, co równie ważne, zapamiętuje sklep jako miejsce, które mu pomogło. To przekłada się nie tylko na jednorazową transakcję, ale na wyższe prawdopodobieństwo powrotu przy kolejnym zakupie.

Asystent zakupowy to nie tylko narzędzie sprzedażowe, ale również wiarygodne źródło danych o klientach. Każda interakcja z asystentem pokazuje, czego klienci faktycznie szukają – jakie aktywności wybierają najczęściej, jakim budżetem operują, i które funkcje są dla nich priorytetem. Na tej podstawie można podejmować konkretne decyzje, które produkty mocniej promować i jak planować asortyment.

Prowadzisz sklep internetowy na Shopify i chcesz ułatwić swoim klientom wybór odpowiedniego produktu? Możesz wdrożyć własnego asystenta zakupowego u siebie.

Skontaktuj się z nami

Stack technologiczny

Shopify

Sklep, baza produktowa, panel admina i webhooki.

Liquid

Silnik szablonów renderujący szkielet strony i karty produktów.

JavaScript (frontend)

Pobieranie wyników i przebudowa listy bez przeładowania strony.

Cloudflare Workers

Bezserwerowy mikroserwis liczący scoring blisko użytkownika.

Cloudflare D1

Baza SQL kompatybilna z SQLite – odpytujemy wszystkie produkty naraz.

Webhooki + HMAC‑SHA256

Synchronizacja danych ze sklepu do bazy, z weryfikacją autentyczności żądań.

Szukasz rzetelnego partnera do rozwoju Twojego sklepu na Shopify?

    Odpowiemy w ciągu 24h

    Zespół projektowy

    Łukasz Szafraniec
    Łukasz Szafraniec
    Project Manager
    Laura Siudak
    Laura Siudak
    SEO Specialist
    Adrian Żych
    Full Stack Developer