clickSomo

Kanalen

Vier manieren om iemand te bereiken, vanuit dezelfde graaf

De herinnering gaat per sms, omdat mensen die binnen enkele minuten lezen. Het verhaal gaat per e-mail, omdat het ruimte heeft. De tik op de schouder gaat via push. De klant die een postzegel waard is, krijgt iets gedrukt en per post toegestuurd. Welk kanaal een bericht gebruikt, is een eigenschap van de node — niet van een aparte tool die je eerst moest kopen, leren en op elkaar afstemmen.

E-mail

Vanuit jouw document omgezet naar de vorm die e-mailclients echt willen: tabellen, inline CSS, geen flex of grid voor Outlook, dark-mode-veilige kleuren en een alternatief in platte tekst dat voor je wordt gegenereerd.

Afmelden met één klik via List-Unsubscribe-Post, zoals RFC 8058 en inmiddels de grote inboxproviders vereisen. En een controle van de grootte bij publicatie, want Gmail knipt bij ongeveer 102 KB en een geknipt bericht verstopt je afmeldlink onderaan in het deel dat niemand ziet.

SMS

Voor het bericht dat vandaag gelezen moet worden: de afspraak van morgen, de aanbieding die zondag afloopt. Kort, en vrijwel meteen gelezen — precies daarom mag je het niet te veel gebruiken.

Segmenten worden geteld vóór verzending. GSM-7 geeft je 160 tekens; één emoji, een typografisch aanhalingsteken of een Pools diakritisch teken buiten de extensietabel zet het hele bericht om naar UCS-2 met 70 tekens per segment, en een bericht waarvan je dacht dat het er één kostte, kost er ineens drie. Je ziet dat aantal vóór je verzendt, niet op de factuur. STOP en gelijkwaardige woorden worden binnen de dienst gehonoreerd, want in de meeste markten is dat een wettelijke verplichting en geen feature.

Push

Web Push met VAPID-sleutels en payloadversleuteling volgens RFC 8291, iOS via APNs, Android via FCM, en een in-app-kanaal via een socket voor apps die al verbonden zijn.

Het deviceregister houdt één rij per endpoint per app per contact bij, en een 410 of 404 van de provider verwijdert die rij direct. Tokens die nooit worden opgeruimd vergiftigen stilletjes je bezorgingspercentage en maken elke daaropvolgende meting onjuist — daarom is dat opruimen belangrijker dan het verzenden.

Gedrukte brieven

Hetzelfde creatieve document, via print CSS omgezet naar een PDF, geadresseerd en per post verzonden. Voor het jubileum, de klant met hoge waarde, het publiek dat geen e-mail leest — en voor het moment waarop de concurrent van iedereen anders in de inbox zit en jij op de deurmat ligt.

Het is een gewone node. Dezelfde wachttijden staan ervoor, dezelfde doelcontrole annuleert hem, en hetzelfde toestemmingsregister bepaalt of je hem überhaupt mag versturen.

Breng je eigen verzending mee

ClickSomo draait bewust en permanent geen mailserver. Je koppelt een afzenderidentiteit: een adres gebonden aan een manier om het te versturen. Dat is óf je eigen SMTP-postbus — inclusief degene die je hosting al geeft — óf een provider waar je al voor betaalt, zoals SendGrid.

Een project kan er meerdere bevatten. Een postbus voor transactionele mail, een provider voor bulk, en een funnel-node kiest welke hij gebruikt. Elke identiteit heeft een eigen snelheidslimiet, want een kleine postbus heeft een lage limiet, en die te hard belasten leidt ertoe dat het account wordt geschorst in plaats van slechts begrensd.

Er is één regel die het systeem je niet laat overtreden: bulkverkeer verlaat nooit een domein dat als transactioneel is gemarkeerd. Als inlogmails en bonnen via een domein gaan, mag daar geen bulkidentiteit worden aangemaakt. Eén slechte campagne — van jou of van wie dan ook — mag je eigen wachtwoordresets niet plat kunnen leggen.

Het gevolg, en dat is het punt: geen gebundelde kosten per bericht, want er valt niets te bundelen. Je reputatie is alleen van jou en wordt niet met vreemden gedeeld.

Een postbus koppelenAfzenderidentiteit
  • 1Adres en hostHost, poort, inloggegevens, TLS-modus en een snelheidslimiet die je zelf instelt.
  • 2DNS gecontroleerdDe SPF-, DKIM- en DMARC-records die je nodig hebt, daarna geverifieerd — en later opnieuw gecontroleerd, want records schuiven wanneer iemand een zonebestand netjes maakt.
  • 3RetourpadGericht op een echte postbus die bouncemeldingen ontvangt, parseert en classificeert. SMTP heeft geen webhook; zo krijgt een kleine afzender echte bounce-afhandeling.
  • !AfgewezenEen bulkidentiteit op een domein dat als transactioneel is gemarkeerd. Eén regel beleid nu, een onherstelbare puinhoop later.

Jouw adresJouw reputatieGeen opslag

Vier manieren om binnen te komen. Het bericht kiest degene die past.

Het deel dat echt nuttig is

Eén bezorgingsvocabulaire, ongeacht welke provider het bericht vervoert

Elke provider rapporteert bezorging anders. SendGrid verstuurt ondertekende JSON-webhooks. Een gewone SMTP-account verstuurt helemaal niets, en de bounces komen aan als e-mail geschreven voor een mens om te lezen. Beide worden genormaliseerd naar dezelfde elf gebeurtenissen voordat iets verderop in de keten ze te zien krijgt.

De gebeurtenisvocabulaireDie van ons, niet die van een provider
  • 1in wachtrij · verzonden · bezorgd · uitgesteldDe voortgang van het bericht, in woorden die bij elke provider hetzelfde betekenen.
  • 2geopend · gekliktMet de URL voor een klik. Botverkeer wordt in rapportages gescheiden in plaats van verborgen.
  • 3soft_bounce · hard_bounce · klachtEen hard bounce en een complaint schrijven beide een suppressie weg, permanent.
  • 4unsubscribe · failedEen uitschrijving wordt overal tegelijk gerespecteerd, ook binnen de verzendservice.
  • iWaarom het uitmaaktVan provider wisselen verandert niets stroomopwaarts — geen rapport, geen segment, geen trechtervoorwaarde. Het dialect stopt bij de deur.

Dezelfde events voor SMS en push

Wat er gebeurt als het versturen misgaat

Herhalingen gebruiken exponentiële backoff en eindigen in een dead-letter queue in plaats van in stilte. Een 4xx van een provider wordt opnieuw geprobeerd; een 5xx die betekent dat het bericht onaanvaardbaar is, niet — want oneindig opnieuw proberen is precies hoe een account geschorst raakt.

Suppressie wordt ook binnen de verzendservice afgedwongen, dus van provider wisselen kan een adres dat je twee jaar geleden hebt onderdrukt niet weer tot leven wekken. En per-identiteit gelijktijdigheidslimieten zorgen dat een grote campagne zichzelf afremt op een klein postvak in plaats van het in de eerste dertig seconden te overspoelen.

Wat bewust niet gebouwd is: geen eigen mail transfer agent, geen dedicated IP-pools, geen warm-up-planner, geen feedback-loop-inschrijving. Dat is echt werk en het hoort bij de partij wiens reputatie op het spel staat — je provider, of je eigen postvak. Het hier bouwen zou betekenen dat je verzending met vreemden deelt, en dat is precies wat dit ontwerp weigert te doen.