Kontakty a souhlasy
Seznam, který dokážete obhájit, ne jen seznam, který máte
Kdokoli může mít deset tisíc e-mailových adres. Otázka, která skutečně záleží — ta, kterou kladou regulátor, poskytovatel i vaše vlastní svědomí, každý trochu jinými slovy — zní, odkud každá z nich pochází a na jakém základě smíte psát. ClickSomo z toho dělá uložený fakt, nikoli něco, co byste museli rekonstruovat.
Identitou je e-mailová adresa
Jeden kontakt na adresu na projekt, vynucené databází, nikoli nadějí. Adresy se normalizují při zápisu, nikdy při čtení — normalizace při čtení z omezení dělá jen dekoraci, která pustí Anna@ i anna@ obě.
Telefonní čísla se ukládají ve formátu E.164, pokud existují, ale telefonní číslo je atribut, nikoli identita. Neexistuje žádný graf řešení identit, žádný slučovací protokol ani auditní stopa slučování, protože každý kontakt sem přichází kanálem, který už adresu má: importem, formulářem, přihlášením k odběru nebo vaším vlastním kódem.
Jméno se ukládá vcelku
display_name se uchovává přesně tak, jak bylo zadáno, a nikdy se nerozděluje na části. Dělení jmen je továrna na chyby — „van der Berg“, „Kim Min-jun“, jednoslovná jména, tituly a každá konvence pořadí, která není anglosaská — a špatné dělení se projeví v merge tagu jako „Vážený pane van,“, což je horší než žádná personalizace.
Strukturované části existují jen pro zdroje, které je dodávají už rozdělené. Nic je neodvozuje. A jméno, které někdo zadal sám, nikdy nepřepíše pozdější CSV, které si náhodou všimlo něčeho jiného, protože pravidlo posledního zápisu vítězí nechá vyhrát nejnedbalejší import.
- 1IdentitaE-mail, normalizovaný. Unikátní v rámci projektu.
- 2JménoUložené vcelku.
first_namese odvozuje při vykreslení, nikdy se neukládá. - 3AtributyCokoli chcete, jako JSON. Vaše a interpolovatelné jako
attrs.*. - 4Štítky a seznamyŠtítky jsou plnohodnotné a žijí v jednom úložišti; seznamy jsou explicitní členství.
- 5SouhlasJeden řádek na kanál, s právním základem a jeho důkazem.
- 6UdálostiLog pouze pro přidávání všeho, co tato osoba udělala. Tabulka, na které celý produkt stojí.
- ×NikdyŽádné heslo, žádný hash, žádná relace, žádný API klíč. Sloupec, který by někoho autentizoval, by byl incidentem, ne funkcí.
Vázané na tenanta i projekt, na obojí
Evidence souhlasů
Nepřítomnost není povolení
Jeden řádek na kontakt na kanál — e-mail, SMS, dopis, push — každý nese stav, právní základ, zdroj, důkaz, časová razítka a jurisdikci. Kontaktu bez řádku se základem pro daný kanál nelze na tomto kanálu nic poslat. Ne „je označen“. Nelze.
consent
Někdo se aktivně zeptal. Odeslání formuláře s uloženým důkazem, double opt-in, zaškrtávací pole, které si zaškrtli sami. Toto je nejsilnější základ a jediný, který formulář může vytvořit.
legitimate_interest
Nejlepší, čím CSV import může skončit. Tabulka si nemůže pamatovat, že s někým něco souhlasil, takže se nikdy nesmí vydávat, že ano — a opětovné nahrání téhož souboru to neupgraduje.
contract
Píšete jim kvůli něčemu, čeho se oba účastníte. Připomínka služby, oznámení o obnovení, věc, kterou by jim chyběla, kdyby ji nedostali.
Před odesláním kampaně vidíte složení základů jejího publika: kolik z těchto lidí o to požádalo, kolik oslovujete na základě oprávněného zájmu a kolik je tam kvůli smlouvě. Je to jedno číslo, které zastavilo více špatných rozesílek než jakýkoli varovný banner, jaký byl kdy napsán.
Proč je to přísnější, než pro vás musí být: ve skutečnosti nejde o vás. Pověst hromadného rozesílání je sdílený zdroj a jedna nedbalá lista otráví studnu všem, kdo posílají ze stejné infrastruktury. Míry stížností a vrácení na tenanta se sledují a účet, jehož míry překročí práh, je zde zpomalen — dřív, než to poskytovi udělá všem najednou.

Za každým řádkem v seznamu stojí někdo, kdo řekl ano.
Čtyři cesty in
Každá cesta do vašeho seznamu jste vy, jednající se svými vlastními daty
Neexistuje žádná ingestní cesta se servisním tokenem a žádný sourozenecký produkt, který by tiše zapisoval do vašich kontaktů. Pokud chcete někoho na seznam, jednu z těchto čtyř cest tam dostala.
Import CSV
Mapováno sloupec po sloupci, normalizováno při zápisu, MX-kontrolováno, takže mrtvé a překlepnuté domény jsou zachyceny dřív, než se tvrdě vrátí, a uloženo se základem, který explicitně nastavíte. Import dostane id a každý kontakt, který vytvořil, na něj ukazuje zpět.
Formulář ClickSomo
Vykresleno ze stejného dokumentu jako vše ostatní, s validací, honeypotem a omezením frekvence. Odeslání formuláře je jediná cesta, která legitimně může vytvořit consent, protože je to jediná, při které je osoba přítomna.
Stránka, kterou jste si vytvořili v dash-b
Návrhář dashboardu publikuje stránky; formulář na některé z nich odesílá data sem s vašimi vlastními přihlašovacími údaji. Stejná validace, stejná práce se souhlasem, žádná druhá integrace k údržbě.
Veřejné API
POST /v1/contacts s vaším vlastním tokenem, sémantika upsert, respektování idempotency klíče. Vaše aplikace už ví, kdo se zaregistroval; tohle je nejkratší cesta od této skutečnosti k funnelu.
Segmenty jsou predikát, zkompilovaný
Segment je uložený strom predikátů nad poli kontaktů, atributy, štítky, členstvím v seznamech a chováním, zkompilovaný do SQL a uložený v mezipaměti s počtem. Operátory jsou ty obvyklé — rovná se, nerovná se, je v, není v, začíná na, končí na, obsahuje, je nastaveno, není nastaveno — kombinované pomocí and, or a not do libovolné hloubky, kterou potřebujete.
Před použitím si jej nechte zobrazit v náhledu. Koncový bod vrací skutečné kontakty, takže otázku „kdo zde skutečně je“ zodpovíte pohledem, nikoli odesláním a zjišťováním.
Segmenty pak plní dvojí roli: jako publikum pro kampaň, jako podmínka na větvi funnelu a jako spouštěč samy o sobě — segment_enter spustí běh v okamžiku, kdy se někdo stane způsobilým.
- 1Štítek
tags contains "regular" - 2Atribut
attrs.total_orders >= 3— vaše pole, váš název pro něj. - 3ChováníŽádná událost
order.paidza posledních 90 dní. - 4SouhlasPoužitelný e-mailový základ. Kontakty bez něj nejsou v počtu zahrnuty, protože jim stejně nelze odesílat.
- aNáhled412 kontaktů, vypsaných. Započítáno znovu při odeslání, protože segment je otázka, nikoli snímek.
Zkompilováno do SQLPočet v mezipaměti, odpověď živá
Potlačení a kdy se kontroluje
Potlačení mají rozsah projektu i globální rozsah: tvrdé odmítnutí (hard bounce), stížnosti, odhlášení odběru, ruční záznamy a adresy rolí. Kontrolují se ve chvíli odeslání a poté ještě jednou uvnitř samotné odesílací služby.
To druhé slovo dělá tu práci. Funnel s třídní čekací dobou má třídní okno, během kterého se někdo může odhlásit, a systém, který potlačení zkontroloval při zařazení zprávy do fronty, mu zprávu stejně pošle. Kontrola při odeslání je rozdíl mezi respektováním odhlášení a jeho pouhým zaznamenáním.
Výmaz funguje stejným způsobem: žádost o smazání odstraní kontakt a jeho historii zpráv zde a prostřednictvím stejného interního kanálu, který používá celá rodina, se dostane ke každé sesterské službě, která držela kopii. Existuje jedno místo, kde se ptát, a jedna věc, která se stane.