Контакти и съгласие
Списък, който можете да защитите, а не просто списък, който имате
Всеки може да притежава десет хиляди имейл адреса. Въпросът, който има значение — този, който регулатор, доставчик и вашата собствена съвест задават с леко различни думи — е откъде идва всеки от тях и на какво основание можете да му пишете. ClickSomo превръща това в съхранен факт, а не в нещо, което би трябвало да възстановявате.
Идентичността е имейл адресът
Един контакт на адрес на проект, наложен от базата данни, а не от надежда. Адресите се нормализират при записване, никога при четене — ако нормализирате при четене, ограничението е само декорация, която пропуска и Anna@, и anna@.
Телефонните номера се съхраняват в E.164, когато съществуват, но телефонният номер е атрибут, не идентичност. Няма граф за разрешаване на идентичности, няма протокол за сливане и няма одитна следа от сливания, защото всеки контакт тук пристига чрез канал, който вече има адрес: импорт, формуляр, абонамент или Ваш собствен код.
Името се съхранява цяло
display_name се пази точно както е било дадено и никога не се разделя на части. Разделянето на имена е фабрика за бъгове — „van der Berg“, „Kim Min-jun“, едноименни, титли и всяка подредба, която не е англосаксонска — а грешно разделяне се появява в merge таг като „Уважаеми van,“, което е по-лошо от никаква персонализация.
Структурираните части съществуват само за източници, които ги предоставят вече разделени. Нищо не ги извежда. И име, което някой е въведен сам, никога не се презаписва от по-късен CSV, който случайно е наблюдавал нещо различно, защото „последният запис печели“ позволява на най-грубия импорт да спечели.
- 1ИдентичностИмейл, нормализиран. Уникален в рамките на проекта.
- 2ИмеСъхранява се цяло.
first_nameсе извежда при визуализация, никога не се съхранява. - 3АтрибутиКаквото си поискате, като JSON. Ваши, и интерполируеми като
attrs.*. - 4Тагове и списъциТаговете са от първи клас и живеят в едно хранилище; списъците са изрично членство.
- 5СъгласиеЕдин ред на канал, с правно основание и неговите доказателства.
- 6СъбитияЖурнал само за добавяне на всичко, което този човек е направил. Таблицата, върху която стои продуктът.
- ×НикогаНяма парола, няма хеш, няма сесия, няма API ключ. Колона, която удостоверява някого, би била инцидент, не функционалност.
Обхват по наемател и проект, и двете
Регистърът на съгласията
Липсата не е разрешение
Един ред на контакт на канал — имейл, SMS, писмо, push — всеки със състояние, правно основание, източник, доказателства, времеви отметки и юрисдикция. Контакт без ред с основание за даден канал не може да получи нищо по този канал. Не „е маркиран“. Не може.
consent
Някой активно е поискал. Подаден формуляр със съхранени доказателства, двойно потвърждение, отметнато от самия него квадратче. Това е най-силното основание и единственото, което формуляр може да произведе.
legitimate_interest
Най-доброто, до което може да стигне CSV импорт. Електронна таблица не може да помни, че някой е съгласил се с нещо, затова никога не ѝ се позволява да твърди това — и повторно качване на същия файл не го надгражда.
contract
Пишете му, защото и двамата сте страни по нещо. Известяването за услугата, уведомлението за подновяване, нещото, което би го подразнило да не получи.
Преди кампанията да бъде изпратена, Виждате разпределението на основанията в нейната аудитория: колко от тези хора са поискали, колко достигате по законен интерес и колко са там заради договор. Едно число, което е спряло повече лоши изпращания, отколкото който и да е предупредителен банер.
Защо това е по-строго, отколкото е нужно за Вас: всъщност не става дума за Вас. Репутацията при масови изпращания е споделен ресурс, и една небрежна списъка отравя кладенеца за всички, изпращащи от същата инфраструктура. Скоростта на оплаквания и отскоци се следи на наемател, и акаунт, чиито показатели надхвърлят прага, се ограничава тук — преди доставчикът да го направи за всички наведнъж.

Зад всеки ред в списъка стои някой, който е казал „да“.
Четири начина за влизане
Всеки път към Вашия списък сте Вие, действащи върху Вашите собствени данни
Няма канал за поглъщане със сервизни токени и няма сроден продукт, който тихо да пише във Вашите контакти. Ако искате някого в списък, един от тези четири начина го е поставил там.
CSV импорт
Картографиран колона по колона, нормализиран при запис, проверен за MX, така че мъртвите и сбърканите домейни да се хванат преди да отскочат трайно, и приет с основание, което задавате изрично. Импортът получава идентификатор, и всеки създаден от него контакт сочи към него.
Формуляр на ClickSomo
Визуализиран от същия документ като всичко останало, с валидация, honeypot и ограничение на честотата. Подаването е единственият път, който може законно да произведе consent, защото е единственият, при който човекът е присъстващ.
Страница, изградена от Вас в dash-b
Дизайнерът на таблото публикува страници; формуляр на една от тях изпраща тук с Вашите собствени идентификационни данни. Същата валидация, същата обработка на съгласие, без втора интеграция за поддръжка.
Публичният API
POST /v1/contacts с Ваш собствен токен, upsert семантика, почитан ключ за идемпотентност. Вашето приложение вече знае кой се е регистрирал; това е най-краткият път от този факт до фуния.
Сегментите са предикат, компилиран
Сегментът е запазено дърво от предикати върху полета на контакти, атрибути, тагове, членство в списъци и поведение, компилирано до SQL и кеширано с бройка. Операторите са обикновените — равно, различно, в, не е в, започва с, завършва с, съдържа, е зададено, не е зададено — комбинирани с „и“, „или“ и „не“ на каквато дълбочина ви е нужна.
Прегледайте го, преди да го използвате. Крайната точка връща реални контакти, така че въпросът „кой всъщност е тук“ се отговаря като погледнете, а не като изпратите и разберете.
Сегментите тогава изпълняват двойна роля: като аудитория за кампания, като условие на разклонение на фуния и като тригер сами по себе си — segment_enter стартира изпълнение в момента, в който някой стане отговарящ на условията.
- 1Таг
tags contains "regular" - 2Атрибут
attrs.total_orders >= 3— вашето поле, вашето име за него. - 3ПоведениеНяма събитие
order.paidпрез последните 90 дни. - 4СъгласиеИзползваема основа за имейл. Контакти без такава не са в бройката, защото така или иначе не могат да им се изпраща.
- iПреглед412 контакта, изброени. Преброяват се отново при изпращане, защото сегментът е въпрос, а не моментна снимка.
Компилирано до SQLБройката е кеширана, отговорът е актуален
Изключвания и кога се проверяват
Изключванията са в обхват на проекта и глобални: твърди отскоквания, оплаквания, отписвания, ръчни записи и служебни адреси. Проверяват се в момента на изпращане, а след това отново в самата изпращаща услуга.
Тази втора проверка върши работата. Фуния с тридневно изчакване има тридневен прозорец, в който някой може да се отпише, а система, която е проверила изключванията, когато съобщението е било в опашка, пак ще му изпрати писмо. Проверката при изпращане е разликата между да уважите отписването и само да го запишете.
Изтриването работи по същия начин: заявка за изтриване премахва контакта и историята на съобщенията му тук, и достига до всяка сестринска услуга, съхраняваща копие, през същия вътрешен канал, който останалата част от семейството използва. Има едно място, където да поискате, и едно нещо, което се случва.