Voice

How Customer.io UI sounds — sentence case, direct verbs, no marketing tone.


Voice

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.

Apply everywhere

  • 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.

Voice violations to never ship

  • 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.

Buttons

  • 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".

Empty states

  • 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.

Error messages

  • 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.

Confirmations

  • 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.

Tone by severity

table
SeverityToneExample
Critical errorDirect, factualConnection lost. Reconnect to resume sending.
CautionDirect, briefSending limit at 90% of monthly quota.
InformationNeutralRecipients added to segment.
FeatureConversational, calmMultivariate testing is now available for campaigns.
SuccessQuietSegment saved.