Śledzenie sprzedaży
Panel pokazuje, ile klientek zobaczyło przycisk, przymierzyło, dodało do koszyka, kupiło i zwróciło, oraz o ile więcej sprzedaje grupa z przymiarką od grupy bez przycisku. Łączenie zakupu z przymiarką robimy po naszej stronie. Ty wysyłasz tylko dwie rzeczy: dodanie do koszyka i operacje na zamówieniach.
| Co | Kto wysyła | Twoja praca |
|---|---|---|
| Przycisk wyświetlony i kliknięty, przymiarka, zapis, udostępnienie | widżet i SDK same | brak |
| Dodanie do koszyka | Twój przycisk koszyka | 1 linijka |
| Zakup, anulowanie, zwrot | Twój serwer | jedno wywołanie API przy zmianie statusu zamówienia |
Śledzenie jest domyślnie wyłączone. Włącza je właściciel konta w panelu: Sprzedaż → Ustawienia.
Ta sama klientka wszędzie
Dział zatytułowany „Ta sama klientka wszędzie”Zakup łączymy z przymiarką po identyfikatorze klientki. To ten sam external_user_id, który Twój serwer podaje przy POST /v1/session-tokens, i ten sam customer_id w zamówieniach. Nie przysyłaj maili ani telefonów: wystarczy numer konta. Numer zamówienia i klientki zapisujemy jako pseudonim.
Z okna przymiarki nie da się dodać do koszyka: nakładka służy do podglądu, a koszyk zostaje w Twoim sklepie. W miejscu, gdzie Twoja aplikacja albo strona dodaje produkt do koszyka swoim przyciskiem:
Przymierz.addedToCart("SKU-123", { size: "M" });Przymierz.addedToCart('SKU-123', size: 'M');Nie musisz sprawdzać, czy klientka przymierzała ten produkt. Robimy to sami.
Zakupy, anulowania i zwroty
Dział zatytułowany „Zakupy, anulowania i zwroty”Twój serwer wysyła operacje kluczem API, najlepiej z kolejki z ponowieniami. Ten sam event_id możesz wysłać wiele razy, liczy się raz.
POST /v1/commerce/eventsAuthorization: Bearer pk_live_…{ "events": [ { "event_id": "ord-123-paid", "type": "order.paid", "occurred_at": "2026-10-22T18:04:00Z", "order_id": "123", "customer_id": "k1", "currency": "PLN", "lines": [{ "line_id": "1", "product_id": "SKU-123", "size": "M", "quantity": 1, "unit_price": 199.0 }] }, { "event_id": "ret-77", "type": "order.refunded", "order_id": "123", "customer_id": "k1", "refund_id": "77", "reason": "size_too_small", "lines": [{ "line_id": "1", "product_id": "SKU-123", "size": "M", "quantity": 1, "amount": 199.0 }] } ]}type |
Kiedy wysłać |
|---|---|
order.paid |
zamówienie opłacone (albo przyjęte do realizacji przy płatności przy odbiorze) |
order.cancelled |
zamówienie anulowane przed wysyłką |
order.refunded |
zwrot, także częściowy; w lines tylko zwracane pozycje |
Powody zwrotu (reason): size_too_small, size_too_big, looks_different, quality, changed_mind, other.
Odpowiedź: 202 z {"accepted": 2, "duplicates": 0, "conflicts": []}. Ten sam event_id z inną treścią trafia do conflicts. Zwrot zamówienia, którego jeszcze nie znamy, czeka, aż przyjdzie order.paid. Gdy śledzenie jest wyłączone w panelu, dostaniesz 409 tracking_disabled. Najwyżej 500 operacji w jednym zapytaniu.
Historię zamówień możesz dograć tym samym wywołaniem z dawnym occurred_at.
Przykład: Node
Dział zatytułowany „Przykład: Node”await fetch("https://api.przymierz.online…/v1/commerce/events", { method: "POST", headers: { Authorization: `Bearer ${process.env.PRZYMIERZ_KEY}`, "Content-Type": "application/json" }, body: JSON.stringify({ events: [toPrzymierzEvent(order)] }),});Przykład: PHP
Dział zatytułowany „Przykład: PHP”$ch = curl_init('https://api.przymierz.online…/v1/commerce/events');curl_setopt_array($ch, [ CURLOPT_POST => true, CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . getenv('PRZYMIERZ_KEY'), 'Content-Type: application/json'], CURLOPT_POSTFIELDS => json_encode(['events' => [to_przymierz_event($order)]]), CURLOPT_RETURNTRANSFER => true,]);curl_exec($ch);Przykład: Python
Dział zatytułowany „Przykład: Python”httpx.post( "https://api.przymierz.online…/v1/commerce/events", headers={"Authorization": f"Bearer {os.environ['PRZYMIERZ_KEY']}"}, json={"events": [to_przymierz_event(order)]},)Jak liczymy
Dział zatytułowany „Jak liczymy”- Powiązanie: pozycja zamówienia jest powiązana z przymiarką, gdy ta sama klientka przymierzyła ten sam produkt przed zakupem. Okno główne ustawiasz w panelu (domyślnie 24 godziny), drugie to 7 dni.
- Przyrost: gdy włączysz grupę kontrolną (np. 10%), część klientek losowo nie widzi przycisku. Porównujemy wszystkie klientki z przyciskiem ze wszystkimi bez niego. Tylko ta liczba mówi, o ile przymiarka zmienia sprzedaż; lejek pokazuje powiązanie.
- Prywatność: przechowujemy pseudonimy, produkty, rozmiary, ilości i kwoty. Surowe zdarzenia kasujemy po 13 miesiącach. „Usuń moje dane” klientki kasuje także jej zdarzenia. Małych liczb (poniżej 10 klientek albo 5 zwrotów) panel nie pokazuje.
- Na stronie internetowej zdarzenia wysyłamy tylko po zalogowaniu klientki (token z jej identyfikatorem). Jeśli Twój baner cookies wymaga zgody na analitykę, wołaj
Przymierz.initdopiero po niej.