Ś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
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.
- Krok 01
Kliknięcie krótkiego linku
elido.me/saleEdge stempluje UUID v4
cid: a3f9c1… - Krok 02
click_id dołączone
?elido_cid=a3f9c1…Parametr URL + cookie first-party
cid: a3f9c1… - Krok 03
Użytkownik konwertuje
client_reference_id=a3f9c1…Sesja Stripe niesie click_id
cid: a3f9c1… - Krok 04
Webhook się odpala
checkout.session.completedPrzychó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.
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 linkZsumowane wartości konwersji, dowolna waluta, w oryginalnej denominacji
- CVR w czasieSzereg czasowy współczynnika konwersji obok wolumenu kliknięć
- Przekierowywanie do GA4 / Meta CAPIAsynchroniczny fan-out po zarejestrowaniu konwersji
- DeduplikacjaIdempotentność na click_id + event_name - podwójne webhooki nie liczą się podwójnie
| Link | Kliknięcia | Konw. | Przychód | CVR |
|---|---|---|---|---|
| elido.me/bfcm | 18,420 | 847 | €76,280 | 4.6% |
| elido.me/sale | 11,034 | 512 | €41,430 | 4.6% |
| elido.me/nl/shop | 8,901 | 398 | €29,104 | 4.5% |
| elido.me/email-q2 | 6,201 | 201 | €14,872 | 3.2% |
| elido.me/ig-bio | 5,032 | 88 | €6,104 | 1.7% |
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ę.
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.
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.
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.
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.
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.”
“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.”
“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ć.”
Ś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.
| Feature | Elido | Bitly | Short.io |
|---|---|---|---|
| Serwerowa atrybucja konwersji | Tak - oparta na webhookach, weryfikowana podpisem | Brak | Brak |
| Integracja ze Stripe | checkout.session.completed + payment_intent.succeeded | Brak | Brak |
| Integracja z Shopify | orders/paid - weryfikacja podpisu, deduplikacja zamówień | Brak | Brak |
| Niestandardowy punkt końcowy konwersji | POST /v1/conversions - dowolny backend, dowolne zdarzenie | Brak | Brak |
| Przekazywanie GA4 / Meta CAPI | Tak - rozsyłane po zarejestrowaniu konwersji | Brak | Częściowo - tylko piksel po stronie klienta |
| Przychód w analityce | Podsumowanie przychodów na link i na kampanię z uwzględnieniem waluty | Brak | Tylko liczba konwersji, brak przychodu |
| Deduplikacja konwersji | Tak - idempotentność na click_id + event_name | Nie dotyczy | Brak |
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.
Czytaj dalej
Analityka kliknięć - miejsce, w którym przychód z konwersji pojawia się obok liczby kliknięć.
Uruchamiaj piksele Meta CAPI i Google Ads przy przekierowaniu - strona pozyskiwania w pętli konwersji.
Atrybucja przychodów na poziomie kampanii - sprawdź, który wariant kampanii przyniósł największy przychód.
Wychodzące webhooki podpisane HMAC z Elido - odbieraj zdarzenia kliknięć z przypisaną konwersją we własnych systemach.
Gotowy, aby wypróbować?
Zacznij od planu darmowego, uaktualnij, gdy będziesz potrzebować niestandardowej domeny.