Personalizace SMS: jak používat proměnné správně
Šablony s {jmeno}, {castka}, {datum} a další proměnné. Jak připravit databázi, na co dávat pozor, šablony pro různé use case a praktické chyby.
Generická SMS Vážený zákazníku, máte slevu má CTR 5 %. Personalizovaná Pavle, sleva -25% jen pro tebe má CTR 14 %. Rozdíl je pár znaků v textu — ale ten rozdíl dělá víc než cokoliv jiného v SMS marketingu.
V tomto článku ukážu, jak personalizace v SMS funguje v TopSMS — od základních proměnných po pokročilé techniky.
Co to je proměnná v SMS šabloně
Šablona má místo konkrétních dat placeholdery:
{jmeno}, vase objednavka #{cislo} dorucena.
Faktura: {odkaz}
Při odesílání kampaně systém každou SMS personalizuje podle dat příjemce v databázi:
Pavle, vase objednavka #12345 dorucena.
Faktura: tsms.cz/l/fa12345
Karle, vase objednavka #12346 dorucena.
Faktura: tsms.cz/l/fa12346
Základní proměnné v TopSMS
V šablonách podporujeme standardní placeholdery:
| Proměnná | Příklad obsahu |
|---|---|
{jmeno} | "Pavel" |
{prijmeni} | "Novák" |
{firma} | "ABC s.r.o." |
{email} | "pavel@example.cz" |
{telefon} | "+420608030884" |
Plus vlastní pole přidaná k Contact:
| Proměnná | Příklad |
|---|---|
{customId} | "VIP-001" (vaše interní ID) |
{note} | poznámka |
Pro dynamický obsah z API můžete dosadit cokoliv:
POST /api/sms/send
{
"to": "+420...",
"text": "Pavle, sleva 25% jen pro tebe: tsms.cz/l/akce"
}
(Personalizaci řeší vaše aplikace před voláním API.)
Příprava databáze
Bez čisté databáze personalizace nefunguje. Co dělat:
1. Čistě validovaná čísla
Validátor čísel zdarma vám projde CSV a označí neplatná čísla. Před hromadným odesláním vyhoďte ta, která nemají E.164 format.
2. Konzistentní jména
Pavel, pavel, PAVEL, Pavel (s mezerou) — to jsou 4 různé hodnoty pro databázi. SMS se pak personalizuje jako pavel , vase sleva. Vyčistěte databázi:
- Trim mezer (před / po jméně)
- Capitalize first letter, lowercase rest (
pavel→Pavel) - Specifické case:
cs-CZmá vlastní pravidla proMacvsMacGrégor
3. Fallback pro chybějící data
Co se stane, když databáze nemá {jmeno}? Bez fallbacku dostane příjemce:
, vase sleva -25%
S fallbackem:
Vazeny zakazniku, vase sleva -25%
V TopSMS API si fallback řeší vaše aplikace před voláním. V dashboardu při hromadném odesílání systém nahrazuje prázdné {jmeno} výchozím "zákazníku" (lowercase). Pokud chcete jinou logiku, použijte API.
4. Plačený-vokativ pro CZ
V češtině oslovujete v 5. pádu (Pavle, Marie, Jane), ne 1. (Pavel, Marie, Jan). Pokud databáze obsahuje 1. pád, personalizace vypadá divně:
❌ Pavel, vase sleva (gramaticky špatně)
✅ Pavle, vase sleva (správně)
Buď:
- Sběr v databázi vokativ rovnou
- Použijte knihovnu pro CZ vokativ (např. petrsloup/czech-deklinace)
- Nebo se obejděte bez oslovení:
Diky za nakup u {firma}!
Pokročilé techniky
Segmentace + per-segment šablony
Místo jedné šablony posílejte různé na různé segmenty:
| Segment | Šablona |
|---|---|
| VIP zákazníci | {jmeno}, VIP sleva -30% jen pro tebe: {odkaz} |
| Noví zákazníci | Diky za prvni nakup u {firma}! Sleva -20% na dalsi: {odkaz} |
| Inaktivní | {jmeno}, davno jsme tu nebyli. -25% komeback: {odkaz} |
To zvedá CTR o 10-25 % proti jedné generické šabloně.
Dynamický obsah z API
Pro plně personalizované SMS (např. e-shop s konkrétními doporučeními):
import requests
def send_personalized_sms(user):
text = f"{user['name']}, doporucujeme: {user['recommendation']}. tsms.cz/l/{user['slug']}"
requests.post(
'https://www.topsms.cz/api/sms/send',
headers={'Authorization': f'Bearer {API_KEY}'},
json={'to': user['phone'], 'text': text}
)
Vaše aplikace přečte data z DB, sestaví text per uživatele a pošle API call.
Personalizace s emoji (pozor!)
Emoji = 2 byte → SMS s emoji zabírá víc znaků, ale většina operátorů ji posílá v Unicode, což znamená limit 70 znaků místo 160.
Použijte emoji jen pokud je SMS krátká:
✅ Pavle 🎁 sleva -25%: {odkaz} (35 znaků) — OK i v Unicode 70-znakovém limitu
❌ Vážený Pavle, dovolujeme si Vás informovat... 🎁 — 1 SMS by se vešla bez emoji, s emoji je to 2 SMS
V dashboardu vidíte při psaní šablony počet SMS a typ kódování v reálném čase.
Šablony pro typické use case
E-shop / objednávka
{jmeno}, objednavka #{cislo} prijata
({castka} Kc). Doruceni {datum}.
Tracking: {odkaz}
E-shop / doručení
{jmeno}, zasilka #{cislo} byla dorucena
v {misto}. Diky za nakup u {firma}!
Restaurace / rezervace
{jmeno}, pripominame rezervaci v {restaurace}
dnes v {cas} pro {pocet} osob.
Zruseni: {odkaz}
Doktor / připomínka
Dobry den {jmeno}, pripominame schuzku
v ordinaci {nazev} dne {datum} v {cas}.
Zmena: tel {telefon}
Autoservis / STK
{jmeno}, STK vozu {SPZ} konci {datum}.
Rezervace: {odkaz}
Bank / OTP
{jmeno}, vas overovaci kod: {kod}
Plati 5 minut. {firma}
Časté chyby
1. Personalizace bez {jmeno} v databázi
Pokud databázi tvoříte ze starých kontaktů bez jmen, {jmeno} nepomůže. Buď doplňte (vyžádat při webform), nebo používejte šablony bez jména.
2. Personalizace v marketingu pro neznámého
Nový zákazník vás zná jako "tu firmu, co u ní jsem nakoupil". Pokud okamžitě dostane Pavle, mas tu novinku!, je to creepy. Nechte vztah trochu uzrát (alespoň 2-3 emaily) než přejdete na familiární SMS.
3. Hardcodovaný text místo placeholderu
Pavle, vase sleva -25%
→ Pošle se všem Pavlům v databázi. Zbytek dostane stejný text s "Pavle" — což zní hloupě, pokud se jmenují Karel.
Vždy používejte {jmeno}, nikdy hardcodované jméno.
4. Personalizace v citlivém kontextu
V zdravotnictví: Pavle, vase HIV vysetreni je negativni — nikdy. Personalizace ano, ale citlivý detail NIKDY v SMS. Detaily v SMS pro lékaře.
5. Duplicitní SMS
Pokud databáze obsahuje duplicity (stejný telefon 2× se 2 různými jmény), příjemce dostane 2 SMS. Deduplikujte podle telefonu před odesláním.
Měření efektu personalizace
A/B test: 1 000 příjemců, dvě varianty (s jménem vs bez):
| Varianta | CTR |
|---|---|
Sleva -25% jen dnes: {odkaz} | 7,2 % |
{jmeno}, sleva -25% jen pro tebe: {odkaz} | 12,1 % |
Rozdíl +4,9 procentních bodů = +68 % relativně. Statisticky významné (p < 0.001).
Praktický doporučení: vždy personalizovat, kde můžete. Náklad je 0 (jen šablona se změní), zisk je 60-70 % CTR.