The anatomy of an error message

Vana R
Bootcamp
Published in
6 min readDec 8, 2021

--

Houston, we have a problem. And that problem has a problem.

A stylised 404 error page set in space with astronauts, asteroids and satellites

They say crisis reveals character.

If so, error messages in digital products are mini-crises that provide the opportunity to reveal a brand’s character.

Working for Asia’s largest bank, that character matters a lot in my work. An error faced while banking can range from mildly annoying to life-changing. As content designers (or UX writers if you prefer), it’s crucial to know how to pre-empt these errors and get ahead of the problem. The next step is figuring out how to present them to customers in a way that is reassuring and helpful.

But this is not a utopian article about how to “write right” and cruise into the rainbow-riddled sunset with a self-approving smirk. It’s a case study on what to do when things don’t go right.

Earlier last year, my team at DBS Bank came across a scathing Reddit thread that shook the very foundations of our self-worth as content designers. This was the error message in question:

Error message title — digibank Alert / Body — Sorry, the system encountered a momentary technical difficulty whilst performing this transaction. We request that you ascertain the successful completion of the transaction before proceeding to repeat the transaction. / CTA — OK

Even the English literature graduates among the team couldn’t fathom how it was possible to craft an error message as complex as that, let alone understand what it meant. And that’s putting it mildly. Here’s what one Reddit user thought. (It was a little less mild.)

Reddit post: How do I sue someone for giving me a stroke?

I could give you a list of excuses speculating how this happened. And I will.

  • No content designer, past or present, wrote this message.
  • An early version of Artificial Intelligence might have been involved.
  • That does not refer to our software engineers.
  • …Unless they were really disgruntled.
  • It was written in a different era, when the use of English was more sophisticated than brinjal emojis.

I can’t know for sure. A content designer’s life goes on. But in which direction? Well, one can choose to feel wounded or become wiser. While the former would be infinitely more entertaining to others, it’s the latter that we get paid to do.

So here’s the plan. With the qualitative feedback provided by the collective wisdom of Reddit, let’s rework this error message as if our Key Performance Indicators depended on it. Ready?

First, context: A customer has tried to complete a financial transaction and there was a disruption midway. Let’s call this customer, Joy.

A girl on a chair, Joy, looks wistfully out the window of her room.
Pictured: Joy, Not in picture: joy

This is Joy. However, she’s anything but joyous. She doesn’t know if the payment for her pet’s vet bills went through, and this is now her life’s most urgent priority. The original error message hasn’t helped her one bit. The phone lines are too busy. She gives up and goes to her nearest bank branch to get her problem sorted. She then uses a different payment service provider for future transactions.

This isn’t ideal. But it happens. Let’s turn the clock back and see how we could have helped Joy. As promised, we’ll look to our critics at Reddit for clues on how to improve the error message Joy saw.

Reddit post: Legit had to read twice to understand

Make the problem clear

When you think about it, this is hardly a clue. Joy didn’t understand what the error message was trying to say. So, let’s have a go at making things clearer.

Updated error message: There has been a technical issue with this request. Check to see if the transaction has already gone through. If it failed, please try again. CTA: OK
Before & after: We defined the problem clearly.

In bold, you’ll see the keywords on the left that clue us in on what the issue is. On the right, we’ve clarified the language and sieved out the core message:

  1. There was a technical issue that could have disrupted the transaction.
  2. Customers need to check if the payment went through.
  3. If it didn’t, they’re advised to try again.

Better? Yes. Good enough? No. Let’s move on to the next Redditor.

Reddit post: Why waste time say lot word when few word do trick

If you heard that while reading it, then you’re probably a fan of this scene from The Office.

A grinning Kevin Malone from The Office television series.
Kevin Malone from The Office

Pop culture isn’t all fluff. We can learn from anywhere. And the lesson here seems to be…

Keep it concise

Stripping down your content to the bare minimum is a worthwhile practice to understand what matters most. K, let’s try.

Updated error message: That didn’t work. Check if your transaction was successful. If not, try again.
Before & after: We summarised.

So short we could tweet it twice. Except…

Reddit post: Noted with thanks

The passive aggression here couldn’t ring any louder. Customers (even hypothetical ones like Joy) don’t want to be spoken down to. They don’t want to feel passive. And why should they be when their money is on the line?

Make it more actionable

There’s something we haven’t spoken about yet. How would Joy check that her transaction went through? Is it reasonable to expect her to know that she has to manually access her transaction history online to check if funds were deducted? Well, it shouldn’t be guesswork. So let’s give Joy her agency back.

Updated error message: Added CTAs “Review Transaction” and “Try Again” instead of “OK”
Before & after: We made it easy to act on the problem.

Here, we introduce an additional call-to-action button. This button redirects Joy to her recent transaction history. Now, with a single tap, Joy will know whether her transaction went through.

It seems like we’ve done good work, huh? We’ve made the error message clearer, shorter and more actionable. Yet, something’s still not quite right.

Reddit post: A tad sheldon cooper or bot-like actually

Honestly, I think Sheldon Cooper wouldn’t mind being compared to a bot.

But seeing that our brand doesn’t reflect the same values as a fictional theoretical particle physicist in a sitcom, we have to rethink our association with bot-speak. And this will be the last step on our journey:

Sound like a human

Every brand has its own approach to voice and tone. Some have rough guidelines. Some have a detailed playbook. Some have a whole department. Some have that one unlucky intern working off a hot desk. Whatever your brand’s approach is, apply that. For us, being friendly and genuine is important.

Final error message: Title — That didn’t seem to work / Body — Sorry, our servers ran into some trouble. Was your transaction successful? If not, try again later while we make things right. / CTA 1 — Check Transaction / CTA 2 — Try Again
Before & after: We infused brand voice.

We shouldn’t have to teach anyone how to sound like a human, but here’s a quick tip. Try reading your content out loud. If it doesn't sound like something you’d say to a friend in real life, start again. That’s what we did.

Our latest version has a personalised header, a better explanation than “technical issue”, a conversational structure and the earnestness to improve. Plus, it still adheres to all the Reddit-inspired principles from before.

TL;DR

See what words do? They work for you.

This image compares the difference between the original error message and the final one, side by side.
We started from the bottom, now we’re here.

Error messages are an opportunity to strengthen your brand. Make the problem clear. Be concise. Provide actionable next steps. Sound human.

If you get it wrong, don’t be afraid to try again. Humans make mistakes. Humans work for brands. Humans can learn from their mistakes. Brands benefit. Joy benefits.

Joy smiling in the outdoors as she embraces her puppy.
Joy with joy.

Acknowledgements
I’d like to thank my mother for the error of having me (though trying again later will not make things right), Reddit for keeping it real and you, the reader, for learning alongside me.

Like what you see?
There’s more to be said on keeping error messages consistent, writing differently for different error message formats, governing the standard of error messages in your organisation and collaborating with non-writers who influence content. This case study is just a drop in the salty ocean. I’ll be overjoyed to splash around more if there are enough claps for this one, so put your digital hands together.

--

--

There’s always a way with words • Senior Content Designer at DBS Bank (https://dbsbank.design)