
Key takeaways
- The button should name the action and what happens next — not enthusiasm, not brand mood.
- An interface copy inventory finds risk where a verb hides obligation, cost, or confusion.
- Empty states, errors, and confirmations are UX writing. They ship with the layout or the path breaks.
They read the hero. The button said "Let's go!" They did not know if that meant book, buy, download, or join a mailing list. They left.
UX writing is not a polish pass on a finished layout. Microcopy is the part of the interface that tells someone what will happen when they act — the label on the field, the name on the button, the line under the error, the sentence in an empty state. When that copy names mood instead of consequence, the page looks finished and the path still fails.
Writing web copy a buyer can finish is the same discipline on marketing surfaces: claim, reason, one next step. Interface copy is where that sentence meets a control someone has to press.
The verb is where the risk lives
Marketing copy can carry a little atmosphere. Interface copy cannot afford guesswork. The reader is already halfway through a task. They need to know what the control does, what they are giving up, and what they will see on the other side.
"Submit" is not a crime. It is a blank. "Get started" is worse when every page uses it for a different job. "Learn more" is a deferral wearing a button. "Let's go!" is enthusiasm with no destination.
Button copy that converts names the action and its consequence in words the buyer would use. "Request a quote" tells them what they are about to send. "See pricing for your team size" tells them what opens next. "Create account" tells them they are signing up, not merely "continuing."
The same rule holds for labels, helper text, confirmations, and empty states. A label is the field's name. Helper text is a constraint or format hint. A confirmation states what changed. An empty state names why the screen is blank and what to do about it. Skip any of those and you did not "keep the UI clean." You made the UI a puzzle.
Run the interface copy inventory
Audit one high-value route before you redesign the hero again. Pick the path that should produce a lead, a booking, a purchase, or an account — the send on a quote form, the confirm on checkout, the save on a settings panel.
List every string a person must read to finish. Not the blog. Not the footer. The route.
| Surface | What to capture | Risk if vague |
|---|---|---|
| Primary button | Exact label on the main action | Wrong expectation; abandon at the next screen |
| Secondary actions | Links and ghost buttons on the same screen | Two equal asks; none chosen |
| Field labels | Visible names on inputs | Wrong data; errors at send |
| Helper text | Format hints, limits, optional markers | Surprise failure after effort |
| Errors | Text tied to the failing control | Repeat send; tab close |
| Confirmations | Success, pending, and undo copy | Duplicate submissions; support tickets |
| Empty states | First-use panels with no data yet | Dead screen; no second step |
| Destructive actions | Delete, cancel plan, remove user | Accidental loss |
Work top to bottom on the live URL, not the Figma spec. Placeholders and toast text count.
Rank what you find:
| Priority | Example |
|---|---|
| Blocker | Button promises a download; the next screen asks for payment |
| Major | Error appears without naming the field; success is only a color change |
| Friction | Every button says "Continue"; user cannot tell which step they are on |
| Polish | Passive voice, jargon, or tone that fights the brand without blocking the task |
Fix blockers and majors on the route before you rewrite body copy elsewhere. Traffic multiplies a button that lies.
Nielsen Norman Group — Error-Message Guidelines and W3C — Understanding Labels or Instructions treat visible names and plain error text as requirements, not decoration. That is the standard side of the same inventory.
Redline the lines that fail the verb test
Take the five highest-risk strings from the table. Rewrite each as action plus consequence. Read them beside the control, not in a document.
| Before | After | Why |
|---|---|---|
| Let's go! | Request a quote | Names the send and the business reply |
| Submit | Send message | Names what leaves the page |
| Get started | Create your account | Names signup, not mood |
| Error: invalid input | Enter an email like name@company.com | Names the field and the fix |
| No items yet | No projects yet. Create one to invite your team. | Names the empty state and the next step |
| Are you sure? | Delete this project? Team members will lose access. | Names the loss, not a shrug |
If you cannot write the "after" column in one line, split the step or rename it. Microcopy is not cleverer adjectives. It is a shorter path.
Accessible forms is the form-specific teardown: labels that stay visible, errors that stay until fixed, keyboard recovery on the send. This inventory is the wider pass — every button, state, and confirmation on the route, not only inputs.
Empty states and confirmations count as copy
Teams treat these as engineering leftovers. They are UX writing examples that show up exactly when the user is confused or anxious.
An empty state should answer two questions: why is this blank, and what is the one action that makes it not blank? "No data" is not an answer. "No invoices yet" plus "Upload your first invoice" is.
A confirmation should state what changed and what is still possible. "Saved" is thin. "Settings saved. Changes apply on the next login." is a contract. Destructive confirmations should name the object and the loss. A modal that only says "Are you sure?" is asking the user to supply the risk model.
Helper text belongs near the constraint, not in a tooltip someone will never open. If the limit matters, show it before the failure. If the field is optional, say optional in the label or helper line — not only in the error.
How to structure a homepage keeps the marketing screen honest: outcome, proof, one next step. Interface copy on that same URL should use the same vocabulary on the button that the hero promised. If the hero says "scoped proposal this week," the button should not say "Learn more."
What you can fix alone — and what still needs a lane
You can run the inventory, rank the risks, and redline the worst lines in a afternoon when the strings live in code or a CMS you control. That is enough to stop a button from lying and an error from guessing.
What stays unfinished on most small teams is consistency across routes — the same verb on the campaign landing page and the form embed, errors that match web design hierarchy, and search-facing pages that still read like a person finished the task. SEO content is not separate from UX writing when the title promises an action the interface cannot complete.
If one high-intent URL already receives traffic and only the contact path fails — vague buttons, missing labels, errors that vanish — that is conversion repair: one page, one route, copy and controls inside that boundary. If the offer needs a dedicated ask with one proof block and one honest button, start with a landing page built as a finishable path, not a template where every control still says "Submit."
We have shipped finishable interfaces since 2014 — twelve-plus years, fifty-plus businesses, a hundred-plus websites.
Run the inventory on the route that should produce the lead. Redline the verbs. Then start a scoped proposal if the same broken labels keep shipping on every new page.



