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 splyne s desítkami podobných zpráv v mobilu. Personalizovaná Pavle, sleva -25% jen pro tebe zaujme na první pohled. 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: topsms.cz/l/fa12345
Karle, vase objednavka #12346 dorucena.
Faktura: topsms.cz/l/fa12346
Proměnné v TopSMS
Vestavěné proměnné fungují v kampaních v dashboardu:
| Proměnná | Obsah |
|---|---|
{jmeno} / {name} | jméno příjemce |
{telefon} / {phone} | telefonní číslo příjemce |
A hlavně: vlastní proměnné z CSV. V kampani vložte příjemce jako CSV s hlavičkou — a každý sloupec se automaticky stane proměnnou:
telefon;jmeno;castka;vs
+420601111222;Pavel;1 500;2026001
+420602333444;Karla;890;2026002
Text {jmeno}, faktura {vs} na {castka} Kc je po splatnosti. se pak každému příjemci doplní z jeho řádku. Sloupců může být kolik potřebujete — {firma}, {datum}, {odkaz}… přesně podle vašeho exportu z účetnictví nebo CRM.
Pro dynamický obsah z API můžete dosadit cokoliv:
POST /api/sms/send
{
"to": "+420...",
"text": "Pavle, sleva 25% jen pro tebe: topsms.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 se prázdná proměnná tiše vynechá a přebytečné mezery se zahladí — nepříjemné ", vase sleva" tedy nevznikne, oslovení prostě chybí. Fallback (např. „zakazniku") si doplňte přímo v datech před importem, nebo personalizujte přes API ve vlastní aplikaci.
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 dlouhodobě funguje líp než jedna generická šablona pro všechny.
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']}. topsms.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
Nejjednodušší je vlastní A/B test: části příjemců pošlete generickou verzi bez jména, zbytku personalizovanou s {jmeno}, a prokliky porovnejte přes zkracovač odkazů s měřením — na vlastní databázi uvidíte skutečný rozdíl, ne cizí čísla z internetu.
Praktické doporučení: vždy personalizovat, kde můžete — náklad je nulový (mění se jen šablona), přínos v prokliku bývá citelný.