Channels
Four ways to reach somebody,from the same graph.
The reminder goes by SMS because people read those within minutes. The story goes by e-mail because it has room. The tap on the shoulder goes by push. The customer worth a stamp gets something printed and posted. Which one a message uses is a property of the node — not of a separate tool you had to buy, learn and reconcile.
Rendered from your document into the shape e-mail clients actually want: tables, inlined CSS, no flex or grid for Outlook, dark-mode-safe colours and a plain-text alternative generated for you.
One-click unsubscribe with List-Unsubscribe-Post, as RFC 8058 and now the large inbox providers require. And a size check at publish, because Gmail clips at around 102 KB and a clipped message hides your unsubscribe link at the bottom of the part nobody sees.
SMS
For the message that has to be read today: the appointment tomorrow, the offer that ends on Sunday. Short, and read almost immediately, which is exactly why it must not be overused.
Segments are counted before send. GSM-7 gives you 160 characters; a single emoji, a curly quote or a Polish diacritic outside the extension table switches the whole message to UCS-2 at 70 characters a segment, and a message you thought cost one now costs three. You see that number before you send, not on the invoice. STOP and its equivalents are honoured inside the service, because in most markets that is a legal requirement and not a feature.
Push
Web Push with VAPID keys and RFC 8291 payload encryption, iOS through APNs, Android through FCM, and an in-app lane over a socket for apps that are already connected.
The device registry holds one row per endpoint per app per contact, and a 410 or 404 from the provider prunes the row immediately. Tokens that are never pruned quietly poison your delivery rate and make every subsequent measurement wrong — which is why the pruning matters more than the sending.
Printed letters
The same creative document, rendered through print CSS into a PDF, addressed and posted. For the anniversary, the high-value customer, the audience that does not read e-mail — and for the moment when everybody else's competitor is in the inbox and you are on the doormat.
It is an ordinary node. The same waits sit in front of it, the same goal check cancels it, and the same consent ledger governs whether you may send it at all.
Bring your own sending.
ClickSomo runs no mail server, deliberately and permanently. You connect a sender identity: an address bound to a way of sending it. That is either your own SMTP mailbox — including the ones your hosting already gives you — or a provider you already pay for, such as SendGrid.
A project can hold several. A mailbox for transactional mail, a provider for bulk, and a funnel node picks which one it uses. Each identity carries its own rate cap, because a small mailbox has a low one and hammering it gets the account suspended rather than merely rate-limited.
There is one rule the system will not let you break: bulk traffic never leaves on a domain flagged transactional. If sign-in mail and receipts go out on a domain, a bulk identity may not be created there. One bad campaign — yours or anyone's — should not be able to take down your own password resets.
The consequence, which is the point: no bundled per-message cost, because there is nothing to bundle. Your reputation is yours alone and is not pooled with strangers.
- 1Address and hostHost, port, credentials, TLS mode and a rate cap you set.
- 2DNS checkedThe SPF, DKIM and DMARC records you need, then verified — and re-checked later, because records drift when somebody tidies a zone file.
- 3Return pathPointed at a real mailbox that receives, parses and classifies bounce notices. SMTP has no webhook; this is how a small sender gets genuine bounce handling.
- !RefusedA bulk identity on a domain marked transactional. One line of policy now, an unrecoverable mess later.
Your addressYour reputationNo markup
Four ways in.
The message picks the one that fits.
The part that is genuinely useful
One delivery vocabulary,
whichever provider carries the message.
Every provider reports delivery differently. SendGrid posts signed JSON webhooks. A plain SMTP account posts nothing at all, and its bounces arrive as e-mail written for a human to read. Both are normalised into the same eleven events before anything upstream sees them.
- 1queued · sent · delivered · deferredThe message's progress, in words that mean the same thing on every provider.
- 2open · clickWith the URL for a click. Bot traffic is separated in reporting rather than hidden.
- 3soft_bounce · hard_bounce · complaintA hard bounce and a complaint both write a suppression, permanently.
- 4unsubscribe · failedAn unsubscribe is honoured everywhere at once, including inside the sending service.
- iWhy it mattersSwitching provider changes nothing upstream — not a report, not a segment, not a funnel condition. The dialect stops at the door.
Same events for SMS and push
What happens when sending goes wrong.
Retries use exponential backoff and end in a dead-letter queue rather than in silence. A 4xx from a provider is retried; a 5xx that means the message is unacceptable is not, because retrying it forever is how an account gets suspended.
Suppression is enforced inside the sending service as well as here, so switching provider cannot resurrect an address you suppressed two years ago. And per-identity concurrency limits mean a large campaign paces itself against a small mailbox instead of overwhelming it in the first thirty seconds.
What is deliberately not built: no mail transfer agent of our own, no dedicated IP pools, no warm-up scheduler, no feedback-loop enrolment. Those are real work and they belong to the party whose reputation is on the line — your provider, or your own mailbox. Building them here would mean pooling your sending with strangers, which is precisely the thing this design refuses to do.
Tell us what you send today,
and to how many.
We will show you what it looks like here — usually with the funnel drawn, because that is faster than a paragraph about it.
Open ClickSomo Talk to a person