clickSomo
ClickSomo öffnen

Kontakte & Einwilligung

Eine Liste, die Sie verteidigen können – nicht nur eine Liste, die Sie haben

Jeder kann zehntausend E-Mail-Adressen ansammeln. Die entscheidende Frage – die eine Aufsichtsbehörde, ein Provider und Ihr eigenes Gewissen jeweils in leicht anderen Worten stellen – ist, wo jede einzelne herkommt und auf welcher Grundlage Sie sie anschreiben dürfen. ClickSomo macht daraus einen gespeicherten Fakt statt etwas, das Sie erst rekonstruieren müssten.

Die Identität ist die E-Mail-Adresse

Ein Kontakt pro Adresse pro Projekt, erzwungen durch die Datenbank statt durch Hoffnung. Adressen werden beim Schreiben normalisiert, nie beim Lesen – normalisiert man beim Lesen, ist die Einschränkung nur Dekoration, die Anna@ und anna@ beide hineinlässt.

Telefonnummern werden, wo vorhanden, im E.164-Format gespeichert, aber eine Telefonnummer ist ein Attribut, keine Identität. Es gibt keinen Identitätsauflösungs-Graphen, kein Merge-Protokoll und keinen Audit-Trail für Zusammenführungen, denn jeder Kontakt hier kommt über einen Kanal, der bereits eine Adresse hat: ein Import, ein Formular, eine Anmeldung oder Ihr eigener Code.

Der Name wird als Ganzes gespeichert

display_name wird genau so gespeichert, wie er angegeben wurde, und nie in Teile zerlegt. Namensaufteilung ist eine Fehlerfabrik – „van der Berg“, „Kim Min-jun“, Mononyme, Titel und jede Ordnungskonvention, die nicht englisch ist – und eine falsche Aufteilung erscheint im Merge-Tag als „Sehr geehrte/r van,“, was schlimmer ist als gar keine Personalisierung.

Strukturierte Teile gibt es nur für Quellen, die sie bereits getrennt liefern. Nichts leitet sie ab. Und ein Name, den jemand selbst eingegeben hat, wird nie von einer späteren CSV überschrieben, die zufällig etwas anderes ergeben hat – denn Last-Write-Wins lässt den schlampigsten Import gewinnen.

Ein KontaktWas gespeichert wird
  • 1IdentitätE-Mail, normalisiert. Innerhalb des Projekts eindeutig.
  • 2NameAls Ganzes gespeichert. first_name wird beim Rendern abgeleitet, nie gespeichert.
  • 3AttributeBeliebige Inhalte, als JSON. Ihre Daten, interpolierbar als attrs.*.
  • 4Tags und ListenTags sind erstklassig und liegen in einem zentralen Speicher; Listen sind explizite Mitgliedschaften.
  • 5EinwilligungEine Zeile pro Kanal, mit rechtmäßiger Grundlage und deren Nachweis.
  • 6EreignisseEin nur-anhängbares Protokoll alles dessen, was diese Person getan hat. Die Tabelle, an der das Produkt hängt.
  • ×NieKein Passwort, kein Hash, keine Sitzung, kein API-Schlüssel. Eine Spalte, die jemanden authentifiziert, wäre ein Vorfall, kein Feature.

Auf Mandant und Projekt beschränkt, auf beides

Das Einwilligungskonto

Fehlen ist keine Erlaubnis

Eine Zeile pro Kontakt pro Kanal – E-Mail, SMS, Brief, Push – jeweils mit einem Status, einer rechtmäßigen Grundlage, einer Quelle, dem Nachweis, den Zeitstempeln und der Rechtsordnung. Ein Kontakt ohne Grundlagen-Zeile für einen Kanal kann über diesen Kanal nichts erhalten. Nicht „wird markiert“. Kann nicht.

consent

Jemand hat aktiv zugestimmt. Eine Formularübermittlung mit gespeichertem Nachweis, ein Double-Opt-in, ein selbst angekreuztes Kontrollkästchen. Dies ist die stärkste Grundlage und die einzige, die ein Formular erzeugen kann.

legitimate_interest

Das Beste, was ein CSV-Import erreichen kann. Eine Tabelle kann sich nicht daran erinnern, dass jemand etwas zugestimmt hat, darf also nie behaupten, dies sei geschehen – und ein erneutes Hochladen derselben Datei wertet sie nicht auf.

contract

Sie schreiben an diese Person, weil Sie beiden an etwas beteiligt sind. Die Service-Erinnerung, die Verlängerungshinweise, das, was sie verärgert würde, nicht zu erhalten.

Bevor eine Kampagne sendet, sehen Sie die Grundlagenverteilung ihrer Zielgruppe: wie viele dieser Personen aktiv zugestimmt haben, wie viele Sie aufgrund berechtigtem Interesse erreichen und wie viele wegen eines Vertrags dabei sind. Es ist eine einzige Zahl, die mehr schlechte Sendungen verhindert hat als jedes Warnbanner, das je geschrieben wurde.

Warum dies strenger ist, als es für Sie sein müsste: Es geht eigentlich nicht um Sie. Die Reputation beim Massenversand ist eine gemeinsame Ressource, und eine einzige unbedachte Liste vergiftet den Brunnen für alle, die über dieselbe Infrastruktur senden. Beschwerde- und Bounce-Raten werden pro Mandant überwacht, und ein Konto, dessen Raten den Schwellenwert überschreiten, wird hier gedrosselt – bevor es ein Provider für alle gleichzeitig tut.

Hinter jeder Zeile in der Liste steht ein Ja von jemandem.

Vier Wege hinein

Jeder Weg in Ihre Liste sind Sie selbst, die mit Ihren eigenen Daten handeln

Es gibt keinen Service-Token-Ingest-Kanal und kein Schwesterprodukt, das sich still in Ihre Kontakte schreibt. Wenn Sie jemanden auf eine Liste wollen, hat ihn einer dieser vier Wege dorthin gebracht.

CSV-Import

Spalte für Spalte zugeordnet, beim Schreiben normalisiert, MX-geprüft, sodass tote und vertippte Domains erfasst werden, bevor sie hart bouncen, und mit einer Grundlage abgelegt, die Sie ausdrücklich festlegen. Der Import erhält eine ID, und jeder von ihm erstellte Kontakt verweist darauf zurück.

Ein ClickSomo-Formular

Aus demselben Dokument gerendert wie alles andere, mit Validierung, Honeypot und Rate-Limit. Eine Übermittlung ist der einzige Weg, der legitim consent erzeugen kann, denn er ist der einzige, bei dem die Person anwesend ist.

Eine Seite, die Sie in dash-b gebaut haben

Der Dashboard-Designer veröffentlicht Seiten; ein Formular auf einer davon sendet hierher mit Ihren eigenen Zugangsdaten. Dieselbe Validierung, dieselbe Einwilligungsbehandlung, keine zweite Integration zu pflegen.

Die öffentliche API

POST /v1/contacts mit Ihrem eigenen Token, Upsert-Semantik, Idempotenzschlüssel wird beachtet. Ihre App weiß bereits, wer sich angemeldet hat; dies ist der kürzeste Weg von dieser Tatsache zu einem Funnel.

Segmente sind ein Prädikat, kompiliert

Ein Segment ist ein gespeicherter Prädikatsbaum über Kontaktfelder, Attribute, Tags, Listenmitgliedschaft und Verhalten, kompiliert zu SQL und mit einer Anzahl gecacht. Die Operatoren sind die gewöhnlichen — equals, not equals, in, not in, beginnt mit, endet mit, enthält, ist gesetzt, ist nicht gesetzt — kombiniert mit und, oder und nicht in beliebiger Tiefe.

Sehen Sie es sich in der Vorschau an, bevor Sie es verwenden. Der Endpunkt liefert echte Kontakte, sodass die Frage „wer ist tatsächlich darin“ eine ist, die Sie durch Hinsehen beantworten statt durch Senden und Merken.

Segmente erfüllen dann Doppelfunktion: als Zielgruppe für eine Kampagne, als Bedingung an einem Funnel-Zweig und als Trigger in eigenem Recht — segment_enter startet einen Lauf, sobald jemand berechtigt wird.

Stille StammkundenSegmentvorschau · 412
  • 1Tagtags contains "regular"
  • 2Attributattrs.total_orders >= 3 — Ihr Feld, Ihr Name dafür.
  • 3VerhaltenKein order.paid-Ereignis in den letzten 90 Tagen.
  • 4EinwilligungEine nutzbare E-Mail-Grundlage. Kontakte ohne eine sind nicht in der Zählung, weil sie ohnehin nicht angeschrieben werden könnten.
  • iVorschau412 Kontakte, aufgelistet. Beim Senden erneut gezählt, denn ein Segment ist eine Frage und kein Schnappschuss.

Kompiliert zu SQLAnzahl gecacht, Antwort live

Unterdrückung und wann sie geprüft wird

Unterdrückungen sind projektweit und global: harte Bounces, Beschwerden, Abmeldungen, manuelle Einträge und Rollenadressen. Sie werden beim Senden geprüft und dann erneut im Versanddienst selbst.

Dieses zweite Wort leistet die Arbeit. Ein Funnel mit einer dreitägigen Wartezeit hat ein dreitägiges Fenster, in dem jemand sich abmelden kann, und ein System, das die Unterdrückung beim Einreihen geprüft hat, mailt trotzdem. Die Prüfung beim Senden ist der Unterschied zwischen einer Abmeldung Folge leisten und eine Abmeldung nur vermerken.

Löschung funktioniert genauso: Eine Löschanfrage entfernt den Kontakt und seinen Nachrichtenverlauf hier und erreicht jeden Geschwisterdienst, der eine Kopie hielt, über dieselbe interne Leitung, die der Rest der Familie nutzt. Es gibt einen Ort zum Fragen und eine Sache, die geschieht.