How I brought clarity to Canada Post’s error messages — and why “just fix the copy” wasn’t enough
The challenge: A messy error messaging landscape
When Canada Post asked me to refine some error messages, I thought it’d be a quick fix. Some cleaner copy, a bit of clarity — simple, right? But when I took a closer look, I saw the real problem.
-
No consistency → One product apologized profusely, while another just said, “Oops.”
-
No structure → Some errors explained what went wrong. Others? Not so much.
-
No shared guidance → Each team was writing their “error messaging” version without any alignment.
Sure, I could’ve just polished the wording. But without solving the root issue, the inconsistencies would just pile up again.
That’s when I made the call: we didn’t need better copy: we needed a better system.

Building a case for clarity
The first step? Get people to see the problem.
​
Since error messaging wasn’t on anyone’s radar, I pulled together a content audit to show exactly how the inconsistency was playing out. Screenshots, comparisons, and a few “What even is this?” moments made it clear — we couldn’t keep writing in circles.
​
Next, I brought the challenge to the Content Operations team, a group of UX writers from across Canada Post. They weren’t just bystanders; they’d be the ones applying whatever we built.
​
But instead of just presenting a solution, I made them part of it.
​
We ran a workshop to tackle it together.
​
-
What makes an error message helpful?
-
Where do users get stuck?
-
What’s the tone when something goes wrong?
​
By the end of it, we weren’t just aligned, we were ready to build something that worked.

The solution: A framework that scales
We built a scalable error messaging framework that gave writers clear guidance without boxing them in.
​
-
Standardized categories → Every error now had a “why” and a “what’s next.”
-
Tone and voice principles → Empathy when it’s needed, clarity always.
-
Message templates → Easy-to-follow patterns that ensured consistency across products.
No more second-guessing. No more “Is this how we do it?” Just clear, helpful messages from every team, for every user.

The impact: more clarity, fewer roadblocks
With the framework in place:
​
-
UX writers had the confidence to create clear, actionable error messages.
-
Cross-functional teams spoke the same language — literally.
-
Users faced fewer dead ends and more helpful solutions.
And maybe most importantly? We built a lasting system. One that didn’t just fix the problem for today but made sure teams could keep writing error messages that actually work.

My takeaway
This project reminded me that content design is never just about the words. It’s about finding the root of the problem, bringing people together, and building solutions that last.
Because when something goes wrong, whether it’s a missing address or a payment error, users deserve more than just “Oops.” They deserve clarity.
And that’s what we gave them.