Zum Inhalt springen

Browser-SDK installieren

Installiere das SDK einmal über den globalen Skriptmechanismus deines Frameworks. Das folgende Tag ist für einfaches HTML.

SDK-Skript<script async src="https://cdn.splendorize.com/splendorize.js" data-site="pub_YOUR_SITE_KEY" ></script>

Frameworks verwalten den Dokument-head. Verwende im Next.js App Router next/script im Root-Layout. Rendere keinen eigenen head und injiziere dieses Tag nicht mit dangerouslySetInnerHTML.

Next.js App Routerimport Script from "next/script"; <Script id="splendorize-analytics" src="https://cdn.splendorize.com/splendorize.js" data-site="pub_YOUR_SITE_KEY" strategy="afterInteractive" />

Wenn Aufrufe vor dem Laden des SDKs erfolgen können, kopiere im Bereich Tracking deines Projekts den personalisierten Loader mit sicherer Warteschlange.

Splendorize öffnen

Rufe die beiden Kernmethoden auf

window.splendorize.action("start_trial");

Eine relevante Aktion oder Entscheidung des Besuchers.

window.splendorize.conversion("trial_started");

Ein abgeschlossenes Ergebnis, erst nachdem die Anwendung den Erfolg bestätigt hat.

Aktionen erfassen

Verwende JavaScript für relevantes Verhalten ohne entsprechende DOM-Aktivierung. Füge für Links, Buttons, Steuerelemente und Formulare stattdessen HTML-Attribute hinzu.

JavaScript-Methode

action() aufrufen

Für relevantes Verhalten ohne entsprechende DOM-Aktivierung.

JavaScript
window.splendorize.action(
  "change_billing_period",
  { placement: "pricing" },
);

HTML-Attribute

Element annotieren

Für Links, Buttons, Steuerelemente und Formulare. Splendorize folgt automatisch ihrem bestehenden Ablauf.

HTML
<a
  href="/signup"
  data-splendorize-action="start_trial"
  data-splendorize-action-placement="hero"
>
  Start trial
</a>

<form data-splendorize-action="request_demo">
  <!-- Existing fields and submit button -->
</form>

HTML-Attribute sind für Aktionen gedacht, nicht für Conversions.

Es gibt kein data-splendorize-conversion-Attribut. Verwende conversion() nach Bestätigung des Ergebnisses oder die Server-API, wenn dein Backend es bestätigt.

Regeln für Aktionen

  • Verwende einen kleingeschriebenen Zweck-Key, der mit einem Buchstaben beginnt, Buchstaben, Zahlen und einzelne Unterstriche enthält und höchstens 64 Zeichen lang ist.
  • Verwende denselben Key für mehrere Platzierungen. Annotiere ein Formular einmal direkt am Formular und füge niemals einen programmatischen Aufruf für dieselbe Interaktion hinzu.
  • Leite Keys oder Platzierungen niemals aus sichtbarem Text, Sprache, Besucherdaten, Account-IDs, Zeitstempeln oder Experimentvarianten ab.

Browser-Conversions

Rufe conversion erst auf, nachdem der bestehende Anwendungsablauf den Erfolg belegt hat – etwa nach einer erfolgreichen API-Antwort oder in einem Zielzustand, der das Ergebnis bestätigt.

Nachweisstärke
Clientseitig deklariert. Die richtige Platzierung macht das Ereignis aussagekräftig, Browsercode kann jedoch keine authentifizierte Serverautorität liefern.
Wann verwenden
Eine Registrierung, ein Testzugang, ein Wartelisteneintrag oder eine Demoanfrage wurde tatsächlich abgeschlossen und der Browser ist die einzige verfügbare Erfolgsgrenze. Rufe conversion niemals beim auslösenden Klick oder Absenden auf.
Bestätigtes Browserergebnis
const result = await startTrial();

if (result.trialStarted === true) {
  window.splendorize.conversion("trial_started");
}

Authentifizierte Server-API

Wenn dein Backend die erfolgreiche Transaktion kontrolliert, übermittle die Conversion per POST an /v1/conversion und verwende den privaten Site-Key. Akzeptierte Anfragen geben 202 zurück. url ist erforderlich und muss zu einer erlaubten Projektdomain gehören; name, occurredAt, referrer sowie Besucher-, Session- und Seitenaufruf-IDs sind optional.

Nachweisstärke
Authentifizierte Herkunft auf Projektebene. Sie ist stärker als eine Browserdeklaration, belegt aber nicht die Identität einer Person.
Wann verwenden
Dein Backend hat ein Ergebnis bestätigt, das keine Zahlung betrifft. Bewahre den privaten Schlüssel serverseitig auf und wähle diesen Weg, statt dieselbe Browser-Conversion auszulösen.
Reine Server-Conversion-Anfrage
const response = await fetch("https://cdn.splendorize.com/v1/conversion", {
  method: "POST",
  headers: {
    authorization: "Bearer " + process.env.SPLENDORIZE_PRIVATE_SITE_KEY,
    "content-type": "application/json",
  },
  body: JSON.stringify({
    name: "trial_started",
    url: "https://example.com/welcome",
    occurredAt: new Date().toISOString(),
  }),
});

if (response.status !== 202) {
  throw new Error("Splendorize rejected the conversion");
}

Stripe-Umsatz

Verbinde Stripe, erfasse stripeMetadata() nach dem Laden des Browser-SDKs und validiere die unterstützten Attributions-Keys in deinem Backend. Bei Checkout im Abonnementmodus fügst du sie sowohl den Metadaten der Checkout Session als auch denen des Abonnements hinzu. Signierte invoice.payment_succeeded-Ereignisse liefern Bruttobetrag, Währung und Zahlungszeitpunkt; Webhooks für Rückerstattungen und Zahlungsstreitigkeiten passen den Nettowert an, während Abonnement-Webhooks Kündigungs- und Churn-Signale ergänzen. Historische Rechnungen werden nicht importiert.

Nachweisstärke
Vom Anbieter belegt für den Status bezahlter Rechnungen, Bruttobetrag, Währung und Zahlungszeitpunkt. Splendorize-Metadaten verbinden die Besucherreise; sie belegen keine Zahlung.
Wann verwenden
Wenn du Käufe auf Basis erfolgreich bezahlter Stripe-Rechnungen oder wiederkehrenden Abonnementumsatz messen musst. Übermittle keine vom Browser bereitgestellten Beträge und löse nicht zusätzlich eine Browser-Conversion aus, nur um dieselbe Zahlung zu beanspruchen.
Attributionsverbindung im Browser
const attribution = window.splendorize.stripeMetadata();

await fetch("/api/checkout", {
  method: "POST",
  headers: { "content-type": "application/json" },
  body: JSON.stringify({ attribution }),
});
Validierte Checkout-Metadaten
const attribution = Object.fromEntries(
  [
    "splendorize_site_id",
    "splendorize_visitor_id",
    "splendorize_session_id",
    "splendorize_page_view_id",
  ].flatMap((key) => {
    const value = requestBody.attribution?.[key];
    return typeof value === "string" && value.length <= 120
      ? [[key, value]]
      : [];
  }),
);

await stripe.checkout.sessions.create({
  mode: "subscription",
  line_items,
  success_url,
  cancel_url,
  metadata: attribution,
  subscription_data: { metadata: attribution },
});

SDK-Referenz

Rufe diese Methoden unter window.splendorize auf. Mit dem personalisierten Loader können alle außer stripeMetadata() vor dem Laden des SDKs eingereiht werden.

action(actionKey, { placement? })
Erfasst eine stabile, zweckbezogene Aktion mit optionaler Platzierung. Die Methode erklärt kein Ergebnis für abgeschlossen.
conversion(name?, properties?)
Erfasst eine clientseitig deklarierte Conversion. Rufe sie erst auf, nachdem die Anwendung den Erfolg bestätigt hat.
payment({ email })
Hasht eine Checkout-E-Mail-Adresse, um sie mit der aktuellen Besucherreise zu verbinden. Die Methode belegt niemals Zahlung, Betrag oder Umsatz.
stripeMetadata()Nach dem Laden des SDKs
Gibt Splendorize-Attributions-IDs zurück, die an Stripe-Metadaten angefügt werden. Die Methode belegt keine Zahlung.

Der generierte Loader unterstützt außerdem aufrufbare Befehle wie window.splendorize("action", "start_trial"). Bevorzuge im Anwendungscode die benannten Methoden oben, da sie leichter zu lesen sind.

Checkliste für Datenschutz und Implementierung

Halte die Implementierung eng begrenzt und gib jedem Signal genau eine Bedeutung.

  • Installiere einen globalen Loader und behalte die Einwilligungs- und CSP-Logik der Website bei.
  • Bewahre den privaten Site-Key auf dem Server auf; der öffentliche Site-Key darf im Browsercode erscheinen.
  • Sende niemals Formularwerte, E-Mail-Adressen, Namen, Telefonnummern, Kunden-IDs oder Geheimnisse in Aktions- oder Conversion-Metadaten.
  • Sende pro Interaktion eine semantische Aktion und wähle für jedes Ergebnis genau eine maßgebliche Quelle.
  • Behandle Zahlungsattribution als Identitätsverbindung, niemals als Autorisierung oder Zahlungsnachweis.

Nutze die Quelle, die der Wahrheit am nächsten ist.

Beginne mit den personalisierten Installationsanweisungen in deinem Projekt. Splendorize hält Aktionen, bestätigte Ergebnisse und bezahlten Umsatz getrennt, damit deine Agenten aus Belegen statt aus Vermutungen schlussfolgern können.