The number is the message
An anniversary message has one advantage a birthday message does not: the number carries real weight on its own. Nobody needs telling that forty years is a long time. That means the most effective line is often the plainest one, stating the number and then stopping, rather than reaching for something poetic that the number already said better.
It also means the milestone years deserve different writing from the ordinary ones. A seventh anniversary is a nice thing to acknowledge. A fiftieth is an event, and a message that treats it like any other year will read as though you did not notice which one it was.
Who is receiving it changes everything
The groups on this page are split by recipient rather than by mood, and that is deliberate. The same sentence sent to your partner, to your parents and to a colleague produces three completely different impressions. A line about the hard years is honest between two people and intrusive from a coworker.
The quickest test is whether the message could be sent to anyone else without editing. If it could, it will read as though it was, because it almost certainly was. One detail that only applies to them fixes it faster than a longer message does.
Why your text turned into three texts
This catches people out constantly and almost nobody explains it. Plain SMS uses a 7 bit alphabet called GSM-7, which fits 160 characters into one segment. The moment your message contains a single character outside that alphabet, the entire message is re-encoded as UCS-2, and a UCS-2 segment holds 70 characters rather than 160.
Every emoji is outside the alphabet. So is the curly apostrophe that some phones insert automatically in place of a straight one. A 150 character anniversary message costs one text. Add a single ๐ฅ and the same message needs three, because 150 characters no longer fit in 70 and multipart segments drop to 67 each to make room for the headers that stitch them back together.
On WhatsApp or iMessage none of this matters. On SMS to a grandparent abroad it can be the difference between one charge and three, which is why the counter above names the character that caused the switch rather than just showing a number.
Sending it late
A late anniversary message is worth sending and the lateness is worth naming. Pretending you were on time when the date is visible to everyone reads worse than simply being late. Say it is late, say the real reason if there is one, and the message recovers most of what it lost.
The one thing not to do is send the generic line a week late. On the day, a short generic wish is a social nicety and passes without comment. A week late, it reads as an afterthought, because that is exactly what it is.
