Sehen, woher die Käufer Ihrer App kommen
Ein Client und ein Provider zählen jede Navigation, Ihr Server meldet die bezahlten Bestellungen.
Paket @mirafive/sdk-react
In 4 Schritten eingerichtet
Pakete installieren
Das React-SDK baut auf dem Browser-SDK auf. Es setzt React 18.3 oder 19 voraus.
Code für Schritt 1 der Einrichtung mit React: Pakete installieren. npm install @mirafive/sdk-react @mirafive/sdk-browser
Client anlegen
Legen Sie den Website-Schlüssel Ihrer Website-Quelle aus Daten → Quellen in
VITE_MIRAFIVE_KEYab.pageviews()zählt jede Navigation, mit jedem Router.Code für Schritt 2 der Einrichtung mit React: Client anlegen. import { createMira } from '@mirafive/sdk-browser' import { flags } from '@mirafive/sdk-browser/flags' import { pageviews } from '@mirafive/sdk-browser/pageviews' import { MiraProvider } from '@mirafive/sdk-react' import { createRoot } from 'react-dom/client' import { App } from './App' const mira = createMira({ key: import.meta.env.VITE_MIRAFIVE_KEY, plugins: [pageviews(), flags()], }) createRoot(document.getElementById('root')!).render( <MiraProvider client={mira}> <App /> </MiraProvider>, )
Eigenes Event senden
useMira()funktioniert in jeder Komponente unterhalb des Providers. In MIRA FIVE machen Sie aus Events Aktionen und Ziele.Code für Schritt 3 der Einrichtung mit React: Eigenes Event senden. import { useMira } from '@mirafive/sdk-react' export function AddToCart() { const mira = useMira() return <button onClick={() => mira.track('added_to_cart', { product: 'merino-shirt' })}>In den Warenkorb</button> }
Bestellung vom Server melden
Ihr Backend meldet den Kauf mit
@mirafive/sdk-serverund dem geheimen Schlüssel einer Server-Quelle, sobald die Zahlung bestätigt ist. Der Schlüssel bleibt auf dem Server.Code für Schritt 4 der Einrichtung mit React: Bestellung vom Server melden. import { Mira } from '@mirafive/sdk-server' const mira = new Mira({ key: process.env.MIRAFIVE_SECRET_KEY }) // Dort, wo Ihr Backend die Zahlung bestätigt mira.track('order_paid', { userId: order.customerId, properties: { revenue: 328, currency: 'EUR' }, })
Was sehen Sie nach der Installation?
Die Einrichtung oben zählt ohne Cookies und ohne Speicher auf dem Gerät: Besuche, Seiten, Kanäle, Kampagnen, Länder, Geräte und Events. Danach zeigen die Übersicht und Herkunft › Kanäle, über welche Kanäle Ihre App besucht wird, und Wege › Seiten, welche Ansichten Einstiege bringen.
Wie kommt eine Bestellung zu ihrem Kanal?
Über die Person. Mit Einwilligung führt der Browser eine Kennung, und identify verknüpft sie beim
Anmelden mit Ihrer Nutzer-ID. Meldet Ihr Server die Bestellung mit derselben ID, landet der Kauf bei
dieser Person, neben ihrem ersten Besuch und dessen Kanal.
Mit einem Kaufziel auf order_paid zeigt Herkunft › Kanäle Käufer und Umsatz je Kanal. Wie Sie diese
Zahlen lesen, erklärt Welcher Kanal bringt zahlende Kunden?
Wie erfassen Sie mit Einwilligung?
Stellen Sie die Website-Quelle unter Daten → Quellen auf Vollständig. Im Client setzen Sie dann mode: 'full' und das Plugin identity():
import { identity } from '@mirafive/sdk-browser/identity'
const mira = createMira({
key: import.meta.env.VITE_MIRAFIVE_KEY,
mode: 'full',
plugins: [pageviews(), identity(), flags()],
})Ihr Banner übergibt die Antwort, nach der Anmeldung folgt identify:
const mira = useMira()
// Aus dem Callback Ihres Consent-Banners
mira.consent({ statistics: true, experiments: true, targeting: false })
// Nach der Anmeldung, mit Ihrer eigenen Nutzer-ID
mira.identify(user.id, { plan: user.plan })
// Nach der Abmeldung
mira.reset()Vor der Antwort speichert und sendet der volle Modus nichts. Kennungen liegen im localStorage, nie in Cookies. Die drei Bereiche der Einwilligung erklärt die Dokumentation.
Wie zählt ein Webhook nur einmal?
Mit send und einem Idempotenzschlüssel. Eine Wiederholung mit demselben Schlüssel wird einmal
gespeichert:
await mira.send(
[{ name: 'order_paid', userId: order.customerId, properties: { revenue: 328, currency: 'EUR' } }],
{ idempotencyKey: `order-${order.id}` },
)Liest derselbe Client Feature-Flags?
Ja, über das Plugin flags() aus Schritt 2. useFlag('new-checkout', false) liefert die Variante,
bei einem An/Aus-Feature-Flag true oder false. Ein Code-A/B-Test
ist ein Flag, das Ihre App genauso liest. Alles Weitere steht in der
Dokumentation.
Andere Einrichtungen
Dieselben Zahlen, egal wie Ihre Website gebaut ist.
Fragen und Antworten
Brauchen Sie einen Router-Hook für Pageviews?
Wie senden Sie ein Event, wenn eine Komponente erscheint?
Gilt das auch für Next.js?
Sehen Sie, welcher Kanal Käufer bringt
Kostenlos bis 25.000 Events im Monat. Ohne Kreditkarte.