Im August 2024 arbeitete ich mit Studenten der Manchester Metropolitan University an meinem Software-Startup vinr. Das Projekt konzentrierte sich darauf, kosteneffektive und effiziente Wege zu finden, ein Start-up-Unternehmen in einem von Technologiegiganten überfüllten Internet zu vermarkten. Einer der Vorschläge bestand darin, eine Drip-Kampagne auszulösen, nachdem sich ein Benutzer für mein Produkt angemeldet hatte. Im Wesentlichen handelt es sich hierbei um eine automatisierte Möglichkeit, Ihre Benutzer mit Willkommens-E-Mails, Angeboten, Empfehlungen usw. zu erreichen. Die E-Mails werden in einer Häufigkeit geplant, die nicht zu störend, aber fördernd ist.
Ich hätte hierfür eine der bestehenden CRM-Lösungen nutzen können. Allerdings habe ich bei der Integration mit CRMs wie Marketo und Salesforce wirklich schlechte Erfahrungen gemacht, als ich zuvor für Startups gearbeitet habe. Ich war mir ziemlich sicher, dass sich die meisten CRM-Tools so anfühlen würden, als würde man mit einer Drehmaschine eine kleine Schraube reparieren, insbesondere angesichts meines einfachen Anwendungsfalls, bei dem es sich nur um Drip-Kampagnen handelt. Da ich eine B2B-Software entwickelte, die Unternehmen für ihre Abläufe nutzen, dachte ich mir, warum nicht ein CRM darin integrieren? Auf diese Weise konnte ich mich für mein eigenes Produkt anmelden und „mein eigenes Hundefutter essen“.
Also, das Spiel geht weiter. Ich begann mit der Programmierung einer API zum Erstellen und Löschen von Kontakten aus der Ferne. Dies ermöglichte es jedem, der das Produkt nutzte, diese APIs aufzurufen und seine Kontakte (Name und E-Mail) zu verwalten. API-Schlüssel können über die Benutzeroberfläche abgerufen werden.
Als nächstes habe ich eine Sammlung namens Kampagnen erstellt, die über die Benutzeroberfläche meines Produkts gefüllt werden konnte.
{ "_id": "01JCQHXJDZWEN4E6JKC0752YH9", "name": "vinr AI Welcome mail English", "contactFilter": "language=en", "active": "on", "preferredSendTime": "10:00", "createdTime": "2024-11-08T00:27:53.034Z", "updatedTime": "2024-11-15T09:15:02.700Z", "messages": [ { "subject": "Welcome to vinr AI ?", "sendDay": 0, "htmlTemplate": "<html lang=\"en\"></html>" } ], "contacts": [ { "name": "John doe", "emailAddress": "john.doe@example.com", "hash": "5257447467882cc3514722abb9af36450f465ed47a365b4b578d574172cab08c", "createdTime": "2024-11-08T10:00:03.538Z" } ], "activities": [] }
Möglicherweise stellen Sie fest, dass das Feld „Kontakte“ mit Kontakten gefüllt ist, die basierend auf den contactFilter-Kriterien in Frage kommen. Dies geschieht durch einen CRON, den ich später erläutern werde.
Ein wichtiger Schritt war die Handhabung des Abmeldelinks. Möglicherweise ist Ihnen der Hash in jeder E-Mail aufgefallen. Dieser Hash repräsentiert den Kontakt 1:1. Ich habe diesem Hash einen Abmeldelink angehängt. Wenn ein Benutzer auf den Abmeldelink unten in der E-Mail klickt, erscheint ein Bestätigungsbildschirm und der Kontakt wird sowohl aus der Kampagne als auch aus der Kontaktsammlung entfernt, was uns vor der Wut des Kunden bewahrt.
Der letzte Schritt war ein CRON-Job, der in geplanten Abständen ausgeführt wird und nach aktiven Kampagnen mit der aktuell bevorzugten Sendezeit sucht. Der CRON sammelt anhand der Filterkriterien geeignete Kontakte und fügt sie in die Kampagne ein. Schließlich löst die Kampagne die E-Mail-API aus.
Cool! Ich hatte also alles, was ich zum Versenden einer E-Mail brauchte, außer der eigentlichen Methode zum Versenden. Alles, was noch ausstand, war, die AWS-Leute zu kontaktieren, um mein CRM für den Versand von Massen-E-Mails durch SES zu genehmigen. Nachdem ich den in der SES-Dokumentation beschriebenen Prozess für den Übergang zur Produktion befolgt hatte, konnte ich mich dem letzten Puzzleteil anschließen.
Eine API für Kontakte, eine Kampagne mit einer Mail-Vorlage und Kontaktfilterkriterien, ein CRON-Job und SES-Integration – tada!
Dieses leichte CRM hat meine zuvor mühsamen manuellen Arbeiten automatisiert.
Das obige ist der detaillierte Inhalt vonWie ich ein leichtes CRM für Drip-Kampagnen aufgebaut habe. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!