Szybki start
Skonfiguruj swój program partnerski w mniej niż 30 minut. Ten przewodnik wyjaśnia, jak dodać snippet śledzący Selgeo do swojej witryny, połączyć go ze Stripe i zweryfikować pierwszą testową konwersję.
Wersja API: v1
Wymagania wstępne
- Konto sprzedawcy Selgeo
- Dostęp do kodu HTML swojej witryny (lub menedżera tagów)
- Konto Stripe połączone z Selgeo (do śledzenia konwersji opartego na Stripe)
Krok 1: Uzyskaj klucze API
Zaloguj się do panelu sprzedawcy Selgeo i przejdź do Ustawienia > Klucze API. Zobaczysz dwie pary kluczy:
| Typ klucza | Format | Cel |
|---|---|---|
| Klucz publiczny (test) | pk_test_* | Snippet JS na Twojej stronie (tryb testowy) |
| Klucz publiczny (live) | pk_live_* | Snippet JS na Twojej stronie (tryb live) |
| Klucz tajny (test) | sk_test_* | Wywołania API po stronie serwera (tryb testowy) |
| Klucz tajny (live) | sk_live_* | Wywołania API po stronie serwera (tryb live) |
Klucze publiczne (pk_*) można bezpiecznie osadzić w kodzie frontend. Mogą tylko rejestrować kliknięcia.
Klucze tajne (sk_*) nigdy nie powinny być ujawniane przeglądarce. Używaj ich tylko na serwerze.
Podczas integracji używaj pk_test_* i sk_test_*. Tryb testowy śledzi wszystko w ten sam sposób, ale nie tworzy prawdziwych prowizji. Przełącz się na klucze live, gdy będziesz gotowy do uruchomienia.
Krok 2: Dodaj snippet śledzący
Dodaj następujący tag <script> do każdej strony swojej witryny, tuż przed zamykającym tagiem </body>:
<script
async
src="https://cdn.selgeo.com/v1/selgeo.js"
data-merchant="pk_test_YOUR_KEY"
></script>
Zastąp pk_test_YOUR_KEY swoim rzeczywistym kluczem publicznym z Kroku 1.
Dla swojego frameworka zobacz dedykowany przewodnik
Powyższy tag <script> działa na każdej stronie HTML. Jeśli budujesz na nowoczesnym stacku frontendowym, równoważną integrację znajdziesz w jednym z poniższych przewodników:
- HTML / zwykły skrypt — strony statyczne, menedżery tagów, niestandardowe strony renderowane po stronie serwera.
- Next.js —
next/scriptdla App Routera i Pages Routera. - React (Vite) — umieszczenie w
index.html, z fallbackiem przezuseEffect. - WordPress — Edytor witryny,
footer.phplub wtyczka header-footer.
Co robi snippet:
- Gdy odwiedzający przybywa przez link polecający partnera (np.
https://twoja-strona.com/?ref=abc123), snippet rejestruje kliknięcie w Selgeo i przechowujeclick_idwsessionStorageprzeglądarki. - Jeśli używasz Stripe Payment Links, snippet automatycznie dodaje
click_iddo tych linków jakoclient_reference_id— bez pracy backendowej. - Snippet nie używa plików cookie. Używa tylko
sessionStorage, który jest czyszczony po zamknięciu karty przeglądarki.
Krok 3: Zweryfikuj instalację
- Utwórz link śledzący w panelu Selgeo pod Programy > Linki śledzące.
- Otwórz nową kartę przeglądarki i odwiedź stronę za pomocą linku śledzącego.
- Otwórz Narzędzia deweloperskie przeglądarki (F12) i sprawdź kartę Konsola. Z dodanym
data-debugzobaczysz:[selgeo] ref detected TWÓJ_REF[selgeo] click_id stored xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - Zweryfikuj
click_iduruchamiając to w konsoli przeglądarki:__selgeo.getClickId() - Sprawdź panel Selgeo — kliknięcie powinno pojawić się w Analytics w ciągu kilku sekund.
Krok 4: Śledź konwersje przez Stripe
Selgeo obsługuje trzy ścieżki integracji ze Stripe. Wybierz tę, która pasuje do Twojej konfiguracji:
Opcja A: Stripe Payment Links (zero pracy backendowej)
Jeśli używasz Stripe Payment Links (adresy URL buy.stripe.com), snippet obsługuje wszystko automatycznie.
<!-- Twój istniejący Payment Link — snippet przepisze go automatycznie -->
<a href="https://buy.stripe.com/test_abc123">Subskrybuj teraz</a>
Opcja B: Stripe Checkout (jedna linia kodu frontend)
Frontend — odczytaj ID kliknięcia ze snippeta:
const clickId = __selgeo.getClickId();
fetch('/api/create-checkout', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ priceId: 'price_xxx', clickId: clickId }),
});
Backend — przekaż jako client_reference_id:
- JavaScript
- Python
- PHP
const stripe = require('stripe')('sk_test_YOUR_STRIPE_KEY');
app.post('/api/create-checkout', async (req, res) => {
const session = await stripe.checkout.sessions.create({
mode: 'subscription',
line_items: [{ price: req.body.priceId, quantity: 1 }],
success_url: 'https://twoja-strona.com/success',
cancel_url: 'https://twoja-strona.com/cancel',
client_reference_id: req.body.clickId || undefined,
});
res.json({ url: session.url });
});
import stripe
stripe.api_key = "sk_test_YOUR_STRIPE_KEY"
@app.route("/api/create-checkout", methods=["POST"])
def create_checkout():
data = request.get_json()
session = stripe.checkout.Session.create(
mode="subscription",
line_items=[{"price": data["priceId"], "quantity": 1}],
success_url="https://twoja-strona.com/success",
cancel_url="https://twoja-strona.com/cancel",
client_reference_id=data.get("clickId"),
)
return jsonify({"url": session.url})
$stripe = new \Stripe\StripeClient('sk_test_YOUR_STRIPE_KEY');
$data = json_decode(file_get_contents('php://input'), true);
$session = $stripe->checkout->sessions->create([
'mode' => 'subscription',
'line_items' => [['price' => $data['priceId'], 'quantity' => 1]],
'success_url' => 'https://twoja-strona.com/success',
'cancel_url' => 'https://twoja-strona.com/cancel',
'client_reference_id' => $data['clickId'] ?? null,
]);
echo json_encode(['url' => $session->url]);
Opcja C: Konwersje nie-Stripe (API konwersji)
curl -X POST https://api.selgeo.com/api/v1/conversions \
-H "Authorization: Bearer sk_test_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"click_id": "CLICK_ID_Z_FRONTENDU",
"external_transaction_id": "signup_12345",
"event_type": "signup",
"amount_cents": 0
}'
Następne kroki
- Konfiguracja snippeta — zaawansowana konfiguracja snippeta
- Stripe Metadata — przekazywanie
click_idprzez metadane sesji płatności - API konwersji — pełne odniesienie API dla konwersji nie-Stripe
- Tryb testowy — szczegółowy przewodnik testowania integracji
- Lista kontrolna uruchomienia — kroki do przełączenia z trybu testowego na live