the SMS bill that nearly ate my margin (it was one emoji)
quick story because it cost me actual money and i havent seen it written down anywhere in plain english.
my app sends a reminder text the day before each grooming appointment. i priced the plan at £29 a month with "unlimited reminders" because a groomer does maybe 8 dogs a day and SMS is a few pence. then my july invoice from the SMS provider came in at nearly 3x what i'd modelled and i genuinely thought i'd been hacked.
i hadnt. one customer had edited her reminder template to add a 🐶 at the end. cute. expensive.
heres the thing i didnt know. SMS has two encodings. normal messages use GSM-7 and fit 160 characters in one message (153 per part once it gets split). the moment your message contains a single character outside that alphabet, like an emoji, the WHOLE message switches to UCS-2 and you only get 70 characters, or 67 per part. her reminder was about 150 characters. with the dog it went from 1 segment to 3, and you pay per segment.
and its not only emoji. a curly apostrophe ’ instead of a straight one ' does the same thing. so if people paste their template from word or the notes app on their iphone, boom, triple cost, and you will never spot it by eye.
what i changed:
- the template editor shows a live "this will send as X texts" counter and goes orange above 1
- smart quotes get swapped for plain ones on save (with a little note so it doesnt feel like magic)
- emoji are still allowed, the counter just tells you what they cost
- the plan now includes 300 texts a month, then 4p each. nobody has complained, most people use about 180
"unlimited" is a lovely word on a pricing page and a terrible word on an invoice. lesson learnt
Written by
Chloe Barnes
bootstrapping a tiny scheduling SaaS for dog groomers from manchester. ex agency dev. sharing the revenue numbers, the mistakes and the occasional win. tea > coffee
Get the best of #bootstrapped_and_broke weekly
One email each Monday with the most useful posts. No spam; unsubscribe in one click.
Comments
Sign in to join the conversation.
Sign in to comment