Skip to main content
When you collect a customer’s name — from a signup form, a checkout, or a CSV import — the data is rarely clean. People type “john,” “JOHN,” or “john smith” with extra spaces. Maestra automatically standardizes names so your emails and SMS don’t go out looking sloppy.

What characters are allowed

By default, name fields accept:
  • Letters (A–Z, a–z)
  • Apostrophes (') — for names like O’Brien
  • Hyphens (-) — for names like Mary-Jane
  • Spaces
Each field has a 100-character limit. If a value contains characters outside this set (numbers, emojis, symbols), the field stays empty rather than saving bad data.
Need to support accented characters (José, Zoë, Müller) or non-Latin alphabets? Reach out to support to enable extended character sets for your project.

Two ways to send a name

Option 1 — Send the parts separately

Pass FirstName and LastName as individual fields. Maestra stores exactly what you send, with no parsing.
{
  "firstName": "Sarah",
  "lastName": "Thompson"
}
Use this when your form already splits the name into separate inputs. It’s the most reliable option.

Option 2 — Send a single full-name string

Pass the whole name in one FullName field. Maestra splits it into first and last automatically by checking the first token against its name dictionary.
{
  "fullName": "Sarah Thompson"
}
Use this when your source system only stores one combined name field.

Automatic capitalization

Whatever case you send, Maestra normalizes it on import:
You sendStored as
michaelMichael
MICHAELMichael
mary-janeMary-Jane
o'brienO'Brien
The first letter of each name (and each part after a hyphen) is uppercased; the rest is left alone. This way, Hi {{ first_name }} always renders cleanly in your templates.

Standard vs. non-standard names

Maestra keeps a dictionary of common names. When a name matches the dictionary, it’s marked as standard. Names that don’t match (nicknames, unusual spellings, typos, or junk like “asdf”) are marked non-standard and stored as-is. This matters when you pick a personalization variable in a template:
  • Recipient.FirstName — uses whatever is on file, standard or not. Best for maximum reach.
  • Recipient.OnlyStandardFirstName — only fills in if the name is recognized. Best when you’d rather show a generic greeting than risk sending “Hi xxxxx” to subscribers with junk data.
For welcome flows where personalization quality matters more than coverage, use OnlyStandardFirstName with a fallback like “Hi there” so unrecognized names don’t break your greeting.

Quick checklist

  • Decide whether to send name parts separately or as one string.
  • Strip numbers and special characters at the source if possible.
  • In templates, choose FirstName for reach or OnlyStandardFirstName for quality.
  • Always set a fallback value on personalization tags.