Jede bezahlte Bestellung ihrem Kanal zuordnen

Eine Blade-Direktive zählt jeden Besuch, die Mira-Fassade meldet Bestellungen nach der Antwort.

Paket mirafive/sdk-laravel

In 5 Schritten eingerichtet

  1. Paket installieren

    Service Provider und Fassade Mira werden automatisch erkannt. Das Paket setzt PHP 8.3 oder neuer und Laravel 11, 12 oder 13 voraus.

    Code für Schritt 1 der Einrichtung mit Laravel: Paket installieren. composer require mirafive/sdk-laravel

  2. Zwei Schlüssel eintragen

    Der geheime Schlüssel einer Server-Quelle sendet aus Ihrer App und erreicht nie eine Seite. Der Website-Schlüssel einer Website-Quelle steht im Script-Tag.

    Code für Schritt 2 der Einrichtung mit Laravel: Zwei Schlüssel eintragen. MIRAFIVE_SECRET_KEY=mf_… MIRAFIVE_WEBSITE_KEY=mf_…

  3. Script ins Layout setzen

    @mirafiveScript gibt das zweizeilige Script-Tag mit Ihrem Website-Schlüssel aus, auf Wunsch mit CSP-Nonce. Es zählt jede Seite und startet ohne Cookies.

    Code für Schritt 3 der Einrichtung mit Laravel: Script ins Layout setzen. <head> @mirafiveScript </head>

  4. Bestellung melden

    Rufen Sie die Fassade dort auf, wo Ihre App die Bestellung als bezahlt markiert, etwa im Zahlungs-Webhook. Gesendet wird nach der Antwort.

    Code für Schritt 4 der Einrichtung mit Laravel: Bestellung melden. use MiraFive\Laravel\Facades\Mira; Mira::track('order_paid', userId: (string) $order->user_id, properties: [ 'revenue' => 328, 'currency' => 'EUR', ]);

  5. Einrichtung prüfen

    Der Befehl sendet ein Test-Event, das weder gespeichert noch berechnet wird, und endet mit „The key and host work.“

    Code für Schritt 5 der Einrichtung mit Laravel: Einrichtung prüfen. php artisan mirafive:check

Was sehen Sie nach der Installation?

Das Script 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, woher Ihre Besuche kommen, und Wege › Seiten, welche Seiten Einstiege bringen.

Wie kommt eine Bestellung zu ihrem Kanal?

Über die Person. Stellen Sie die Website-Quelle unter Daten → Quellen auf Vollständig. Dann schalten Sie das Script in den vollen Modus und übergeben Sie angemeldete Personen mit derselben ID, die Ihr Server sendet:

MIRAFIVE_SCRIPT_MODE=full
<head>
    @mirafiveScript
    @auth
        <script>mirafive('identify', @json((string) auth()->id()))</script>
    @endauth
</head>

Im vollen Modus sendet und speichert das Script nichts, bis die Person antwortet, bei einer Ablehnung gar nichts. Ihr Banner übergibt die Antwort mit mirafive('consent', …): true nur für Statistik, false oder { statistics, experiments, targeting }. Die Bestellung trägt dann dieselbe Nutzer-ID und landet bei dieser Person, neben dem Kanal ihres ersten Besuchs.

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 zählt ein Webhook nur einmal?

Mit Mira::send und einem Idempotenzschlüssel. Die Fassade sendet sofort, und eine Wiederholung mit demselben Schlüssel wird einmal gespeichert:

use MiraFive\Laravel\Facades\Mira;

Mira::send([
    ['name' => 'order_paid', 'userId' => (string) $order->user_id, 'properties' => ['revenue' => 328, 'currency' => 'EUR']],
], idempotencyKey: "order-{$order->id}");

Server-Events und Script haben getrennte Modi: MIRAFIVE_MODE für den Server, MIRAFIVE_SCRIPT_MODE für das Tag. Die Rechtsgrundlage für die gesendeten Nutzer-IDs liegt bei Ihrer Website.

Liest das Paket Feature-Flags?

Ja, in Ihrem eigenen Prozess:

$flags = Mira::forUser($request->user())->flags();

if ($flags->enabled('new-checkout')) {
    // der neue Checkout
}

@mirafiveFlags schreibt dieselben Antworten in die Seite, damit der Browser gleich die richtige Variante zeigt. Ein Code-A/B-Test ist ein Feature-Flag, das genauso gelesen wird. Queues, Octane und Tests beschreibt die Dokumentation.

Andere Einrichtungen

Dieselben Zahlen, egal wie Ihre Website gebaut ist.

Fragen und Antworten

Werden Antworten dadurch langsamer?
Nein. Gepufferte Events gehen nach der Antwort raus, auch nach jeder Octane-Anfrage und jedem Queue-Job. Mit MIRAFIVE_QUEUE übernimmt ein Queue-Worker das Senden.
Wie testen Sie Code, der Events sendet?
Mit Mira::fake(). Die Fassade zeichnet dann auf statt zu senden, und assertTracked('order_paid') prüft das Event.
Funktioniert das mit Octane?
Ja. Das Paket hält keinen Zustand einer Anfrage in Singletons und leert den Puffer nach jeder Anfrage.

Sehen Sie, welcher Kanal Käufer bringt

Kostenlos bis 25.000 Events im Monat. Ohne Kreditkarte.