malahov.io

Der Kunde aus Brasilien hatte recht

Eine Version mit automatischen E-Mails und neuem Listing veröffentlicht — und am Wochenende bin ich draufgestoßen: Seit März liefert Stripe den Verlängerungs-Webhook anders aus, und die Credits wurden den Leuten nicht gutgeschrieben. Ich saß bis drei Uhr nachts und habe repariert.

Serie „Call Copilot“ · Teil 15 von 20Produkt ausprobieren →

Von Georg Malahov

Am Freitag habe ich endlich eine neue Version von Call Copilot veröffentlicht — mit automatischem Versand von E-Mails aus generierten Vorlagen und mit neu geschriebenem Text auf der Extension-Seite im Chrome Store. Die E-Mails gingen raus, und ich saß da und freute mich, als hätte ich etwas Großes geschafft. Die Freude hielt genau bis Samstag.

Das Wochenende ging dafür drauf, Versand und Empfang der E-Mails zu testen, und ich fand einen Haufen Bugs: in der Nutzer-Segmentierung, beim Zählen der Registrierungen, beim Zählen der Statistik. Schon unter der Woche, noch vor dem Release, war außerdem ein Logikfehler der vorherigen Version aufgetaucht: Ausnahmslos alle Nutzer liefen sofort gegen die Registrierungspflicht, statt sich zuerst das Demo anzusehen. Das Kennenlernen des Produkts war also genau falsch herum aufgebaut, und ein Teil der Leute sprang an diesem Schritt einfach ab. Heute habe ich 1.9.4 ausgerollt: Das Demo kommt wieder zuerst, die Registrierung ist erst vor dem zweiten, echten Call nötig.

Bei der Statistik ist das Bild gemischt — und das sind noch die Zahlen der Juli-Versionen, erhoben vor dem Freitags-Release. Die Registrierungen sind kräftig gesprungen — inzwischen registrieren sich rund 30% aller Installationen. Die Deinstallationen sind unverändert. Die Installationen sind von zehn pro Tag auf neun gerutscht, aber das sieht nach Messrauschen aus. Die Aktivierung dagegen — der erste echte Call — ist deutlich eingebrochen, und ich bin mir fast sicher, dass genau dieses Demo daran schuld ist. Die E-Mails funktionieren derweil: Die Leute klicken sich durch, sichtbar sowohl in der internen Statistik der Extension als auch über die UTM-Parameter. Einen Zustrom an Impressionen oder SEO-Effekt vom neuen Listing sehe ich überhaupt nicht, aber der Chrome Store aktualisiert seine Zahlen mit drei Tagen Verzögerung, also ist es zu früh für ein Urteil.

Und dann habe ich mich bis zum größten Bug durchgegraben, und der erklärt alles auf einmal — die niedrige Retention und dass ich keine einzige Verlängerung hatte. Im März hat Stripe die Signatur der Webhook-Antwort nach einer Abo-Verlängerung geändert. Ich habe die Daten weiter auf die alte Art gelesen, der Webhook lief ins Leere, und die Credits wurden den Leuten bei der Verlängerung nicht gutgeschrieben. Seit März. Fast fünf Monate.

Der Kunde aus Brasilien, der über seine Bank einen Zahlungsstreit zu der Abbuchung eröffnet hatte, hatte in der Sache recht. Er hatte bezahlt, die Credits kamen nicht an, und er schrieb genau das auf, was er sah. Und für den, der im Recht ist, hielt ich in dieser Geschichte mich. Ich hatte nichts, was mir das Gegenteil hätte sagen können: keinen Alert, keinen Report, keine Zeile in den Logs, die vorab angedeutet hätte, dass mit der Gutschrift etwas nicht stimmt. Das ist natürlich eine Erklärung, keine Entschuldigung. Das Geld, das er bezahlt hat, war echt, und ich habe es genommen.

Repariert habe ich gestern bis drei Uhr nachts. Nicht aus Heldentum — ich habe schlicht einen aktiven Kunden mit einem Abo für 12,99 Euro, und das verlängert sich Anfang August. Hätte ich das jetzt nicht gefunden, hätte ich dem Mann ein zweites Mal Geld abgebucht und ein zweites Mal nichts geliefert. Das hat mich bis spät in die Nacht arbeiten lassen.

Im Großen ist die Arbeit abgeschlossen, ab jetzt kommen nur noch Bugfixes und Statistiksammeln. Ob das Wochenende umsonst war, zeigt die Verlängerung: Sie muss von selbst durchlaufen, ohne mich, und die Credits müssen im Account auftauchen. Und das zweite Zeichen — die Aktivierung muss nach dem Demo-Fix wieder auf das Niveau vor der letzten Version zurückkommen. Wenn die Verlängerung wieder nichts gutschreibt oder die Aktivierung am Boden bleibt, dann habe ich die ganze Zeit das Falsche repariert und muss von vorn graben.

Vorerst schalte ich in den Beobachtungsmodus: Ich verfolge die E-Mails, das Demo, das Verhalten der Nutzer. Warten kann ich schlechter als reparieren, aber viel Wahl habe ich nicht.