Wszystko, co robi Elido
Pro i Business

Śledzenie konwersji. Przypisz każdą złotówkę do kliknięcia, które ją wygenerowało.

Odbiorniki webhooków Stripe i Shopify weryfikują sygnatury i wiążą przychody z oryginalnym krótkim linkiem. Atrybucja kampanii jest automatycznie wyprowadzana.

  • Atrybucja Stripe i Shopify po stronie serwera
  • Przekazywanie click_id - bez JS po stronie klienta
  • Przychód na link, kampanię, dzień, platformę
  • Automatyczna weryfikacja podpisu HMAC
elido.app - atrybucja konwersji
elido.me/saleKliknięcieclick_id ustawione?elido_cid=a3f9…cookie: cid=a3f9…Stripe Checkoutclient_ref = a3f9…€ 99.00 opłaconewebhook checkout.session.completed+€99 przypisane
Po stronie serwera, bez luk pikselowychHMAC zweryfikowany
Server-side
Metoda atrybucji (brak luk w pikselach)
<5s
Opóźnienie zapisu zdarzenia konwersji
100%
Dokładność atrybucji (brak samplingu)
3
Miejsca docelowe przekazywania (GA4, Meta, Mixpanel)

Jak to działa

click_id przechodzi przez cały lejek

UUID jest stemplowany w momencie kliknięcia i przekazywany przez każdy krok - parametr URL, cookie sesji, sesja Stripe, zamówienie Shopify - aż webhook się odpali i zamknie pętlę atrybucji po stronie serwera. JavaScript po stronie klienta nie jest potrzebny do samej atrybucji.

  1. Krok 01

    Kliknięcie krótkiego linku

    elido.me/sale

    Edge stempluje UUID v4

    cid: a3f9c1…
  2. Krok 02

    click_id dołączone

    ?elido_cid=a3f9c1…

    Parametr URL + cookie first-party

    cid: a3f9c1…
  3. Krok 03

    Użytkownik konwertuje

    client_reference_id=a3f9c1…

    Sesja Stripe niesie click_id

    cid: a3f9c1…
  4. Krok 04

    Webhook się odpala

    checkout.session.completed

    Przychód przypisany do linku źródłowego

    cid: a3f9c1…

Integracje

Gotowe odbiorniki webhooków dla Stripe i Shopify

Zarejestruj endpoint w dashboardzie, wklej signing secret - i atrybucja zaczyna płynąć. Weryfikacja podpisu HMAC zachodzi przed jakimkolwiek przetworzeniem payloadu - sfałszowane webhooki są odrzucane, zanim dotkną Twoich danych.

Stripe
checkout.session.completed · payment_intent.succeeded
HMAC zweryfikowany
Endpoint webhooka
POSThttps://api.elido.app/webhooks/stripe
1. Zweryfikuj nagłówek Stripe-Signature
2. Wyciągnij client_reference_id → dopasuj do click_id
3. Zarejestruj przychód na linku źródłowym
Po stronie serwera, JavaScript po stronie klienta zbędny
Shopify
orders/paid - deduplikacja zamówień wliczona
HMAC zweryfikowany
Endpoint webhooka
POSThttps://api.elido.app/webhooks/shopify
1. Zweryfikuj nagłówek X-Shopify-Hmac-Sha256
2. Odczytaj click_id z note_attributes zamówienia
3. Zdeduplikuj po ID zamówienia, przypisz przychód
Po stronie serwera, JavaScript po stronie klienta zbędny

Dashboard przychodów

Przychód na link, na kampanię, na dzień

Każdy krótki link ma sumę przychodu na żywo - suma wszystkich przypisywalnych wartości konwersji przez ten link. Filtruj po tagu kampanii, zakresie dat lub platformie. Eksportuj do CSV lub streamuj do BigQuery przez zaplanowane eksporty.

  • Przychód na link
    Zsumowane wartości konwersji, dowolna waluta, w oryginalnej denominacji
  • CVR w czasie
    Szereg czasowy współczynnika konwersji obok wolumenu kliknięć
  • Przekierowywanie do GA4 / Meta CAPI
    Asynchroniczny fan-out po zarejestrowaniu konwersji
  • Deduplikacja
    Idempotentność na click_id + event_name - podwójne webhooki nie liczą się podwójnie
Atrybucja przychodu - ostatnie 30 dni
Live
Trend przychodu168k ogółem
LinkKliknięciaKonw.PrzychódCVR
elido.me/bfcm18,420847
76,280
4.6%
elido.me/sale11,034512
41,430
4.6%
elido.me/nl/shop8,901398
29,104
4.5%
elido.me/email-q26,201201
14,872
3.2%
elido.me/ig-bio5,03288
6,104
1.7%
Przychód ogółem
167,790
Konwersje ogółem
2,046
Średni CVR
4.1%

Co możesz zrobić

  • Stripe checkout.session.completed
  • Stripe payment_intent.succeeded
  • Shopify orders/paid
  • Atrybucja kampanii wyprowadzana z linku
  • Podsumowanie przychodów w panelu

Jak działa serwerowa atrybucja konwersji od początku do końca

Piksele po stronie klienta tracą 20–40% konwersji z powodu adblokerów, ograniczeń prywatności iOS i łańcuchów przekierowań przy kasie. Atrybucja po stronie serwera eliminuje tę lukę.

Przekazywanie Click ID
01

Każde kliknięcie otrzymuje UUID przekazywany do celu - kotwicę atrybucji do dopasowywania konwersji

Kiedy użytkownik kliknie krótki link Elido, krawędź sieci generuje click_id (UUID v4) i dołącza go jako parametr zapytania (elido_cid) do docelowego adresu URL. Twój proces płatności powinien zachować ten parametr na każdej stronie lejka - większość routerów SPA i stosów renderowanych po stronie serwera domyślnie przekazuje nieznane parametry zapytania, ale wieloetapowe procesy płatności z łańcuchami przekierowań mogą je usunąć. click_id jest również przechowywany w pliku cookie sesji w domenie docelowej, jeśli osadzisz fragment kodu atrybucji Elido o rozmiarze 2 KB (opcjonalnie). Przetestuj pełny proces płatności przed uruchomieniem: kliknij krótki link, dokonaj testowego zakupu, sprawdź, czy elido_cid pojawia się w POST konwersji. Jeśli nie, dodaj przekazywanie parametrów zapytania w swoim oprogramowaniu pośredniczącym (middleware). To najczęstsza przyczyna niepowodzenia konfiguracji atrybucji - nie webhook, ale utrata parametrów zapytania podczas płatności.

Integracja ze Stripe
02

Odbiornik webhook Stripe weryfikuje podpisy i przypisuje zdarzenia checkout.session.completed oraz payment_intent.succeeded

Zarejestruj punkt końcowy webhooka Stripe Elido w swoim panelu Stripe (Ustawienia → Webhooki → Dodaj punkt końcowy). Elido nasłuchuje zdarzeń checkout.session.completed i payment_intent.succeeded. Przy każdym zdarzeniu Elido weryfikuje nagłówek Stripe-Signature przy użyciu Twojego klucza podpisywania webhooka, wyodrębnia kwotę płatności i walutę, wyszukuje click_id zapisany w client_reference_id sesji Checkout (który Twój proces płatności musi wypełnić - patrz przewodnik) i rejestruje konwersję dla tego kliknięcia. Przychód i click_id są następnie dostępne w widoku analityki linku i podsumowaniu przychodów z kampanii. Pole client_reference_id sesji Checkout jest zalecanym kanałem przekazywania; alternatywnie użyj pola metadata z kluczem elido_cid, jeśli używasz bezpośrednio PaymentIntents. Pełna konfiguracja zajmuje około 30 minut, jeśli Twoja integracja ze Stripe obsługuje już webhooki.

Integracja z Shopify
03

Webhook Shopify orders/paid łączy przychód z zamówienia z pierwotnym kliknięciem krótkiego linku

Zarejestruj punkt końcowy webhooka Shopify Elido w panelu administratora Shopify (Ustawienia → Powiadomienia → Webhooki → Utwórz webhook → Temat: orders/paid). Elido weryfikuje nagłówek X-Shopify-Hmac-Sha256, wyodrębnia sumę zamówienia i walutę oraz wyszukuje elido_cid w note_attributes zamówienia (wypełniasz to z koszyka za pomocą API Shopify cart note_attributes, przekazując click_id z pliku cookie sesji lub parametru URL). W przypadku sklepów Shopify korzystających z szablonów Online Store 2.0, fragment kodu atrybucji Elido automatycznie wstawia click_id do koszyka po kliknięciu. Przypisane zamówienia są deduplikowane według ID zamówienia, dzięki czemu zwrócone i zastąpione zamówienia nie są liczone podwójnie. Sklepy Shopify Plus z niestandardowymi rozszerzeniami checkout mogą przekazywać click_id przez bardziej niezawodny kanał - przewodnik konfiguracji obejmuje proces specyficzny dla wersji Plus.

Niestandardowe zdarzenia konwersji
04

Wysyłaj POST do punktu końcowego konwersji Elido z dowolnego backendu - nie tylko ze Stripe i Shopify

Wyślij POST na /v1/conversions z body JSON: { click_id: "...", event_name: "purchase", value: 99.00, currency: "EUR", metadata: {} }. click_id to elido_cid z kliknięcia. Elido uwierzytelnia żądanie za pomocą klucza API Twojego obszaru roboczego (dla dodatkowego bezpieczeństwa zalecane jest HMAC-SHA256 na body payloadu). Ten punkt końcowy obsługuje każdą konwersję, której nie obsługują natywne integracje ze Stripe lub Shopify: WooCommerce, niestandardowe aktywacje okresu próbnego SaaS, zgłoszenia formularzy kontaktowych, konwersje z połączeń telefonicznych śledzone przez Twoją platformę telefoniczną. Pole event_name to dowolny tekst; użyj dowolnej konwencji nazewnictwa preferowanej przez Twój zespół - jest ona wyświetlana w widoku analityki w niezmienionej formie. Idempotentność: wyślij dwukrotnie tę samą kombinację click_id + event_name, a zarejestrowana zostanie tylko pierwsza. Wartość zdarzenia i metadane są zmienne tylko przy pierwszym zapisie.

Przekazywanie dalej
05

Rozsyłaj konwersje jednocześnie do GA4 Measurement Protocol, Meta CAPI i Mixpanel server-track

Gdy Elido zarejestruje konwersję przypisaną do kliknięcia, rozsyła zdarzenie do wszystkich włączonych serwerowych miejsc docelowych: GA4 Measurement Protocol (zdarzenie pojawia się w GA4 jako serwerowe zdarzenie zakupu z oryginalnymi parametrami UTM z kliknięcia), Meta Conversions API (zdarzenie jest deduplikowane z pikselem po stronie klienta, jeśli oba są aktywne, przy użyciu event_id z click_id) oraz Mixpanel server-track (zdarzenie jest wysyłane z distinct_id z wywołania Mixpanel $identify, jeśli skonfigurowano tożsamość krzyżową). Przekazywanie odbywa się asynchronicznie po zarejestrowaniu konwersji - nie blokuje odpowiedzi webhooka do Stripe lub Shopify. Nieudane zdarzenia przekazywania są ponawiane z wykładniczym czasem oczekiwania przez 24 godziny, a następnie odrzucane z wpisem w logach. Status przekazywania dla każdej konwersji możesz sprawdzić w panelu.

Zespoły ds. przychodów korzystające ze śledzenia konwersji Elido

Nazwy są symboliczne - prawdziwe studia przypadków klientów pojawią się tutaj po ich opublikowaniu.

iOS 14.5 zabił naszą atrybucję Meta Pixel w 30% zakupów mobilnych. Serwerowy webhook Stripe przez Elido odzyskał większość z nich - kluczem było przekazanie click_id do client_reference_id w Stripe. Konfiguracja zajęła jedno popołudnie.

Z
Zespół E-commerce, marka D2C, Warszawa
Dyrektor ds. E-commerce

Wysyłamy aktywacje okresów próbnych do niestandardowego punktu końcowego konwersji Elido. Łańcuch kliknięcie → okres próbny → płatny plan jest teraz w pełni identyfikowalny bez potrzeby stosowania pełnego CDP. Przekazywanie GA4 Measurement Protocol sprawia, że nasze pulpity nawigacyjne płatnych kanałów są ponownie dokładne.

D
Dane marketingowe, B2B SaaS, Lizbona
Inżynier danych marketingowych

Webhook Shopify orders/paid oraz fragment kodu atrybucji w szablonie to była jednodniowa integracja. Przychód na kampanię to teraz liczba dostępna na żywo podczas naszych porannych spotkań, a nie formuła w arkuszu kalkulacyjnym, którą ktoś musi aktualizować.

I
Inżynieria wzrostu, fintech, Ryga
Inżynier ds. wzrostu (Growth Engineer)

Śledzenie konwersji Elido vs Bitly vs Short.io

Bitly nie posiada serwerowego śledzenia konwersji. Short.io posiada podstawowe piksele konwersji. Śledzenie konwersji Elido odbywa się po stronie serwera i umożliwia przekazywanie danych do wielu platform reklamowych.

FeatureElidoBitlyShort.io
Serwerowa atrybucja konwersjiTak - oparta na webhookach, weryfikowana podpisemBrakBrak
Integracja ze Stripecheckout.session.completed + payment_intent.succeededBrakBrak
Integracja z Shopifyorders/paid - weryfikacja podpisu, deduplikacja zamówieńBrakBrak
Niestandardowy punkt końcowy konwersjiPOST /v1/conversions - dowolny backend, dowolne zdarzenieBrakBrak
Przekazywanie GA4 / Meta CAPITak - rozsyłane po zarejestrowaniu konwersjiBrakCzęściowo - tylko piksel po stronie klienta
Przychód w analitycePodsumowanie przychodów na link i na kampanię z uwzględnieniem walutyBrakTylko liczba konwersji, brak przychodu
Deduplikacja konwersjiTak - idempotentność na click_id + event_nameNie dotyczyBrak

Pytania dotyczące śledzenia konwersji

Co jeśli click_id zostanie usunięty przed konwersją?

Jeśli parametr zapytania elido_cid zostanie utracony przed wystąpieniem zdarzenia konwersji - z powodu łańcucha przekierowań, braku przekazywania parametrów przez router SPA lub usunięcia nieznanych parametrów przez system płatności zewnętrznej firmy - konwersja nie może zostać przypisana. Przetestuj pełny lejek: kliknij krótki link, prześledź elido_cid na każdej stronie aż do potwierdzenia płatności, sprawdź, czy pojawia się w POST konwersji. Fragment kodu atrybucji Elido (mały blok JavaScript) ustawia również click_id w pliku cookie pierwszej strony (first-party cookie) jako rozwiązanie zapasowe - jeśli parametr URL zostanie utracony, ale użytkownik nadal znajduje się w tej samej sesji przeglądarki, atrybucja może zostać przywrócona z pliku cookie.

Jak obsługiwane są zwroty w atrybucji konwersji?

Elido nie przetwarza automatycznie zdarzeń zwrotu środków. Jeśli wystąpi zdarzenie Stripe charge.refunded lub Shopify refunds/create, Elido nie odejmuje przypisanego przychodu. Możesz ręcznie wysłać zdarzenie konwersji o ujemnej wartości do niestandardowego punktu końcowego, aby cofnąć atrybucję. Listener webhooków zwrotów znajduje się w planach rozwoju. Do tego czasu, jeśli potrzebujesz dokładnego przychodu netto w Elido, odejmij sumy zwrotów, korzystając z eksportu danych i swojego systemu zarządzania zamówieniami.

Czy śledzenie konwersji działa, jeśli użytkownik dokończy transakcję na innym urządzeniu?

Nie - jeśli użytkownik kliknie krótki link na telefonie, ale dokończy zakup na komputerze, click_id nie zostanie przeniesiony między urządzeniami. Konwersja nie zostanie przypisana, chyba że sesja użytkownika zachowała elido_cid pomimo zmiany urządzenia (np. poprzez zalogowane konto, które go zapisało). Atrybucja między urządzeniami wymaga serwerowego wykresu tożsamości (identity graph), którego Elido nie zapewnia. Aby uzyskać dokładność atrybucji między urządzeniami, korzystaj ze swojego MMP lub CDP obok serwerowych konwersji Elido.

Jakie waluty są obsługiwane w atrybucji przychodów?

Wszystkie kody walut ISO 4217 są akceptowane w polu value zdarzenia konwersji. Przychód jest przechowywany w oryginalnej walucie; pulpit nawigacyjny analityki pokazuje przychód w walucie każdego zdarzenia konwersji. Jeśli potrzebujesz zagregowanego widoku w jednej walucie, wyeksportuj zdarzenia konwersji i dokonaj konwersji w swojej hurtowni danych - Elido nie stosuje kursów wymiany walut.

Jak skonfigurować przekazywanie client_reference_id w Stripe?

Tworząc sesję Checkout Stripe, ustaw client_reference_id na wartość parametru URL elido_cid z odsyłającego kliknięcia. W JavaScript: const session = await stripe.checkout.sessions.create({ ..., client_reference_id: searchParams.get('elido_cid') }). Odbiornik webhooków Elido odczytuje to pole ze zdarzenia checkout.session.completed. Jeśli korzystasz bezpośrednio z PaymentIntents, użyj pola metadata z kluczem elido_cid. Przewodnik konfiguracji pod adresem /docs/guides/conversion-tracking zawiera kod do skopiowania dla Node, Python i Go.

Czy dane konwersji są zawarte w eksportach analitycznych?

Tak. Zdarzenia konwersji są przechowywane w oddzielnej tabeli (conversions) obok tabeli zdarzeń kliknięć (clicks). Zaplanowane eksporty do S3, BigQuery lub Snowflake obejmują obie tabele. Kluczem JOIN jest click_id. Przykładowe zapytanie SQL, które łączy kliknięcia z konwersjami i oblicza przychód na kampanię według źródła UTM, znajduje się w przewodniku po eksporcie.

Czy mogę śledzić konwersje bez przychodu, takie jak wypełnienia formularzy lub aktywacje okresów próbnych?

Tak - niestandardowy punkt końcowy konwersji akceptuje dowolne event_name i opcjonalną wartość (ustaw 0 dla zdarzeń bez przychodu). Używaj nazw zdarzeń takich jak 'trial_started', 'demo_booked', 'form_submitted'. Pojawiają się one w widoku analityki linku w sekcji 'Konwersje' z nazwą zdarzenia jako etykietą. Jeśli korzystasz również z przekazywania do GA4, mapują się one na niestandardowe zdarzenia GA4. Liczba konwersji (nie tylko przychód) jest widoczna dla każdego linku i kampanii, niezależnie od wartości zdarzenia.

Jakie jest opóźnienie od otrzymania zdarzenia konwersji do jego widoczności w analityce?

Od otrzymania webhooka do magazynu analitycznego: zazwyczaj poniżej 5 sekund przez ten sam potok strumienia zdarzeń, co zdarzenia kliknięć. Atrybucja (dopasowanie konwersji do pierwotnego kliknięcia) odbywa się synchronicznie w momencie otrzymania webhooka - jeśli click_id zostanie rozpoznany, atrybucja jest natychmiastowa. Dalsze przekazywanie do GA4 / Meta CAPI / Mixpanel odbywa się asynchronicznie i dodaje 2–10 sekund. Kwota przychodu w widoku analityki panelu aktualizuje się w ciągu 30 sekund od otrzymania zdarzenia konwersji.

Gotowy, aby wypróbować?

Zacznij od planu darmowego, uaktualnij, gdy będziesz potrzebować niestandardowej domeny.