Delivering bad news with better microcopy

I wrote microcopy to deliver bad news to app users. The two scenarios I worked on were a canceled flight and a late delivery. Here's how I created and then improved the copy.

Delivering bad news with better microcopy
Photo by Clay Banks / Unsplash

The project

As part of a UX writing course, I designed and iterated on app microcopy to share important, real-time updates with an eye for clarity and empathy.

Role

UX writer

Language

Italian

Tools

Figma

Timeline

2 days including corrections and revisions


Scenario 1: canceled flight

Passengers are waiting for the last leg of their journey home when their flight suddenly gets canceled due to bad weather.

Task: Write a message from the airline app notifying them of the cancellation and what they need to do next.

  • Header: 45 characters max.
  • Body: 175 characters max.
  • Button(s): 25 characters max.

First iteration

Back translation: Attention! Flight BA2450 has been canceled / We are sorry to inform you that your flight has been canceled due to bad weather. Book your next flight via the app or contact us for support: we’re here to help. / Book new flight — Contact us

In my first attempt, I tried keeping my message as matter-of-fact as possible and using the available space to:

  • apologize
  • explain why the flight was canceled
  • provide two alternative options
  • offer quick access to the alternative options with clickable CTAs

While focusing on empathy and solutions, my microcopy still wasn’t clear and informative enough.

It contained very little information about the canceled flight itself.

My message needed to provide the app user with enough detail for them to make a quick decision — even when stood in a busy airport with poor internet connection.

Improving the copy

Back translation: Your flight KL1777 has been canceled / KLM flight KL1777 (AMS-HAM) scheduled on MON 25 JUL at 06:55 AM has been canceled due to bad weather. Find your next flight through the app or contact us to get back on track as soon as possible. / Book new [flight] — Contact us
Back translation: Your flight KL1777 has been canceled / KLM flight KL1777 (AMS-HAM) scheduled on MON 25 JUL at 06:55 AM has been canceled due to bad weather. Find your next flight through the app or contact us to get back on track as soon as possible. / Book new [flight] — Contact us

In this second attempt, I added visual elements to the header and CTAs to shorten the copy and convey the message more quickly.

I also edited the body to include more contextual information about the flight (airline, flight number, departure and arrival airport codes, date and time).

The message still contains the reason why the flight was canceled and offers the same alternative options to move forward.

This time, though, the focus shifts slightly from ‘How does the user feel?’ to ‘How can we support their needs and goals?’


Scenario 2: late delivery

Someone has placed a last-minute order for a Christmas present on an e-commerce app, but the order can’t be delivered on time.

Task: Write a push notification from the e-commerce app notifying them of the delay and what they can do next.

  • Header: 30 characters max.
  • Body: 100 characters max.
  • Button(s): 15 characters max.

First iteration

Back translation: Your order 406 is late / Your delivery has been moved from 12/24 to 12/27. Do you want to confirm or change the order? / Change — Confirm

In my first attempt, I tried to be as concise as possible and communicate key details such as the order number, the original delivery date and the new delivery date.

Offering solutions is an important part of the message, too, so I included options to adjust the order and confirm the new delivery date.

This iteration can be greatly improved.

  • First of all, the microcopy is a bit repetitive and doesn’t make effective use of the little space available.
  • Secondly, the microcopy didn’t include enough information on which order is late. The user may have placed several online orders for Christmas — they need to be able to identify the relevant order right away.
  • Finally, the microcopy didn’t account for the date variable. Numbers can be preceded by different masculine articles in Italian, and ignoring this will result in broken syntax.

Improving the copy

Back translation: Nike.com — Now / Delayed order O853005753 / NIKE AIR MAX 90 FLYEASE order O853005753 has a new delivery date: 12/27/22. How [would you like] to proceed? / Change — Confirm

In this second attempt, I created a more realistic push notification structure to provide the user with more contextual cues.

I removed function words from the header to allow space for a longer order number.

The body copy now mentions the product name and model, too, and the syntax has been restructured to account for variables such as the delivery date.

The two alternative options offered to the user were preserved.


Key takeaways

  • Lead with the most important piece of information
  • Consider the context.
    • Where is the user in their journey?
    • How do they feel in this step?
    • What is their end goal and how will they achieve it?
    • Where will they see this bit of copy?
  • Offer alternative solutions to help the user solve the issue and move forward
  • Iterate to refine your message

Read more from me:

Elisa Trippetti
I’m Elisa, a content designer from Italy with experience in customer service and localization. This is where I navigate and document my work life in UX and writing.