Creatief
Een document, geen template
Wat je schrijft is een blokkenboom met een gepubliceerd schema. Wat eruit gaat is dat document, gerenderd voor een doel — e-mail, pagina, formulier, sms, push of drukwerk. Die twee zijn met opzet gescheiden, want de editor is vervangbaar en de rendering niet, en alsof dat niet zo is, is precies hoe een marketingtool eindigt met zes versies van dezelfde boodschap die elkaar niet meer bijhouden.
Zes doelen, één bron
Elk doel heeft beperkingen die geen smaakkwestie zijn, en de renderer kent ze zodat jij ze niet hoeft te kennen.
E-mail betekent tabellen en geïnline CSS, geen flex en geen grid omdat Outlook mail nog steeds met Word opmaakt, een platte-tekstalternatief dat voor je wordt gegenereerd, kleuren die een dark-mode-client die dingen omkeert overleven, en een groottewacht op zo'n 102 KB waar Gmail begint met afknippen.
Pagina betekent gewoon moderne responsive HTML, gepubliceerd onder een slug, op je eigen domein als je dat wilt. Formulier is een pagina plus veldkoppelingen, validatie, een honeypot en een snelheidslimiet — en het is de enige route naar je contacten die terecht een consent-grondslag kan opleveren.
SMS telt segmenten terwijl je typt. Push is een titel, een body, een icoon, acties en een deep link. Brief is print-CSS gerenderd naar een pdf, geadresseerd en verstuurd.
Het document zelf wordt opgeslagen als setup met een gepubliceerd schema, in de documentservice van het ecosysteem in plaats van verstopt in een privétable. Dat betekent dat er, zodra er een betere editor komt, dezelfde documenten mee worden bewerkt en er stroomopwaarts niets verandert.
- 1e-mailTabellen, geïnline CSS, tekstalternatief, dark-mode-veilig, wacht op ~102 KB.
- 2paginaResponsive HTML onder een slug, op je eigen domein.
- 3formulierPagina plus koppelingen, validatie, honeypot, snelheidslimiet.
- 4smsTekst met een live GSM-7 / UCS-2-segmentteller.
- 5pushTitel, body, icoon, acties, deep link.
- 6briefPrint-CSS → pdf.
- iDe naadDe editor is vervangbaar; de doelen niet. Daarom heeft het document een gepubliceerd schema.
Gerenderde uitvoer gecached per doel
Merge-variabelen
Een onbekende variabele faalt bij publicatie, niet stilletjes bij verzending
Het standaardgedrag van elke templatingtaal bij een ontbrekende sleutel is niets renderen. In een mail betekent dat "Hallo ," naar veertigduizend mensen, en niemand merkt het tot de antwoorden binnenkomen. Daarom wordt een document gevalideerd tegen de variabelenvocabulaire voordat het überhaupt gepubliceerd kan worden.
Wat je kunt interpoleren
De e-mail, naam, telefoon en landinstelling van de contactpersoon; attrs.*, dat open is omdat de attributen van jou zijn; de naam en het postadres van je organisatie; de afmeld- en voorkeurenlinks; en het eigen onderwerp en de preheader van het bericht.
Bewust een lijst in plaats van "alles uit het record". Een contactrij bevat ook interne identificatoren, en daar horen er geen van in een bericht thuis.
Een fallback is geen ontbrekende variabele
{{first_name | default:there}} is een bekende variabele die deze specifieke contactpersoon toevallig niet heeft — een geïmporteerde lijst waar de helft van de rijen geen naam had. Dan wordt de fallback gerenderd en dat is helemaal prima.
Wat geweigerd wordt is {{frist_name}}: een variabele die voor niemand bestaat. Op verzendmoment zien de twee er identiek uit. Op publicatiemoment kunnen ze niet meer van elkaar verschillen, en daarom vindt de controle daar plaats.
Hetzelfde vocabulaire werkt op elk doel, dus een zin die voor een e-mail is geschreven, rendert in de sms en op de landingspagina zonder herschreven te worden. En first_name wordt bij het renderen afgeleid uit de volledige naam in plaats van opgeslagen — want een opgeslagen splitsing is een verkeerde splitsing die wacht op de persoon wiens naam niet in de aanname past.

Schrijf het één keer. Het komt aan, gekleed voor het kanaal.
Voordat het de deur uit gaat
De controles die plaatsvinden terwijl je dingen nog kunt repareren
Het Gmail-afknippen
Boven ongeveer 102 KB knipt Gmail het bericht af en verbergt de rest achter een link die bijna niemand ooit aanklikt — inclusief, helemaal onderaan, je afmeldlink. De renderer meet en waarschuwt bij publicatie.
Beeldgewicht
Een hero-foto van vier megabyte overschrijdt het groottebudget en rendert slecht op een telefoon. Afbeeldingen worden bij upload geschaald en geconverteerd, wat een kwestie van deliverability is in plaats van een luxe.
Inboxvoorbeeld
Het bericht wordt gerenderd en gefotografeerd op desktop- en mobiele breedte, zodat de lijstweergave laat zien hoe het ding er echt uitziet in plaats van hoe het heet. Geen betaalde previewservice aan te pas.
Een echte testverzending
Stuur het naar jezelf, via dezelfde renderer en dezelfde verzendidentiteit die een echte ontvanger zou krijgen. Een preview die een andere codepad volgt bewijst niets over het bericht dat verstuurd wordt.
Geplakte HTML wordt opgeschoond
Content die ergens anders vandaan wordt geplakt, gaat eerst door een sanitizer voordat het wordt opgeslagen, want een marketingmail is niet de plek om erachter te komen wat er in iemands klembord zat.
Markdown, als je dat liever hebt
Schrijf in Markdown en laat het renderen. Veel betrouwbaarder dan een model om e-mail-HTML vragen, en het is wat een agent die een bericht schrijft een werkbaar idee maakt in plaats van een demo.
Beginnend bij je eigen website
Plak bij je eerste gebruik een URL in. ClickSomo leest de pagina uit voor het logo, de iconen, het manifest en de gemeten kleuren — niet kleuren die iemand geraden heeft — en bouwt een eerste e-mail die er al uitziet als die van jou. Het detecteert ook het platform, wat meestal genoeg is om een funnel voor te stellen die de moeite waard is: een winkel krijgt een verlaten winkelwagen, een uitgever een nieuwsbriefwelkom.
Elke fetch van een URL die jij opgeeft gaat door een beveiligde fetcher: alleen HTTP en HTTPS, letterlijke adressen rechtstreeks gecontroleerd, elk DNS-antwoord verplicht openbaar, en elke redirect-hop opnieuw gevalideerd. Willekeurige URL's namens een klant ophalen is een van de makkelijkste manieren om een gat in je eigen netwerk te bouwen, en het is niet iets dat je twee keer schrijft.
Het eerlijke verhaal: een eerste template die van je website is gegenereerd is een goede start, geen afgerond ontwerp. Het krijgt het logo, de kleuren en het lettertype ongeveer goed zodat je eerste verzending er niet uitziet als een demo — en daarna pas je het aan, wat een veel betere klus is dan naar een leeg canvas staren.