How Customer.io UI sounds — sentence case, direct verbs, no marketing tone.
The product is a tool, not a brochure. Copy is the part of the design system that drifts most often when AI agents or engineers ship UI without a designer in the loop. These rules give every surface the same voice without requiring per-screen review.
- Sentence case throughout — titles, labels, headers, columns, button labels.
- Imperative for buttons. "Save segment", not "Click here to save".
- Single action verb per button label. Prefer one verb over a phrase.
- Add an ellipsis when the action requires an additional step ("Export…").
- No exclamation marks anywhere in product UI.
- Say "people", not "users".
- Numbers as plain numbers (
12,403, not 12.4K) in body copy. Abbreviate only in badges above 1k (1.2k, 42.7k, 1.4M).
- Tabular numerals on all numbers (
font-variant-numeric: tabular-nums).
- No "please", "sorry", "oops", "easy", "simply", or "just".
- Match tone to severity. Direct and factual for errors and warnings. Conversational for features and info.
- Exclamation marks anywhere in product UI.
- "Click here" or any pronoun-led button label.
- Marketing-tone copy: "Awesome", "Amazing", "Just", "Simply".
- "Sorry" or "Oops" in error messages. Apologize by fixing the underlying issue.
- "Users" — say "people".
- Title case mixed with sentence case in the same surface.
- Use a specific verb that matches the action. "Delete campaign", not "OK" or "Submit".
- One verb. "Save and continue" is rare and reserved for save-with-redirect; for everything else, pick one.
- For destructive actions, the button label names the destruction. "Delete", "Archive", "Revoke" — never "Confirm".
- Lead with the noun. "No segments yet", not "There's nothing here".
- One-line "what this is" plus a single primary CTA with a verb.
- Never "Nothing to show" or blank.
- What went wrong + why (if knowable) + the action that moves forward.
- Never raw API errors or stack traces.
- Primary action is a recovery path. "Re-upload corrected file", "Reconnect account" — never "Dismiss" or "OK".
- For partial results, lead with what succeeded: "8,556 of 12,403 rows imported". Then the gap. Then the action. "Failure" framing overstates the damage when most of the operation worked.
- Action-oriented title. "Delete campaign", never "Are you sure?".
- Body names the consequence — what breaks, what data is lost.
- Footer verb matches the title's verb.
table| Severity | Tone | Example |
|---|
| Critical error | Direct, factual | Connection lost. Reconnect to resume sending. |
| Caution | Direct, brief | Sending limit at 90% of monthly quota. |
| Information | Neutral | Recipients added to segment. |
| Feature | Conversational, calm | Multivariate testing is now available for campaigns. |
| Success | Quiet | Segment saved. |