A customer service email answers the question in its first two lines, then says what happens next and who owns it. Use a subject line that names the order and the topic, greet the customer by name, keep sentences short (25 words at most) and sign off with a real name. Fill every placeholder with checked order data before sending.
What is a good customer service email?
A good customer service email, also called a customer care email, gets the customer to their answer before they scroll. It is built from six parts, and each has a job. The table below shows them with an example for an online store. Our templates hub links the rest of this set.
Nielsen Norman Group says that in the inverted pyramid the “most important information (or what might even be considered the conclusion) is presented first”, so readers who stop early still get the main point, according to NN/g. An email is read in a preview pane or on a phone, so that is exactly how it gets read.
| Part | What it does | Example (online store) | Rule |
|---|---|---|---|
| Subject line | Names the order and the topic | Order #1042: your refund is on its way | 9 words and 60 characters at most (Mailchimp) |
| Greeting | Addresses the person | Hi Sam, | Use the customer’s first name, no “Dear valued customer” |
| Answer | Carries the point | Your refund of £48.00 was issued today. | Ours, based on the inverted pyramid (NN/g) |
| Detail | Gives what the customer needs to act | Amount, method, tracking link, date | Only what they need to act |
| Next step | Says who does what by when | It should show on your card within [days] days. | One step, one owner, one date |
| Sign-off | Names a person and a way to reply | Priya, Customer Care. Reply to this email. | A named person, never “the team” |
In this table only the subject-line rule comes from an outside source, Mailchimp. The answer-first rule is ours, built on NN/g’s inverted pyramid, and the greeting, detail, next-step and sign-off rules are our own guidance.
Mailchimp’s guidance is “no more than 9 words and 60 characters” for a subject line, because for many readers “especially those reading your emails on mobile devices, shorter is often better”, according to Mailchimp.
Our view: the part most templates get wrong is the answer. A template cannot know the order status, so it leaves a blank or guesses.
How do you write a support email?
To write a support email, read the order and the policy first, write the answer as the first sentence, add only the detail needed to act, give the next step with a date and sign with a name. The steps:
- Check the order, payment and fulfilment status before you type. Shopify lists separate order, payment, fulfilment and return statuses, according to Shopify, so one status is never the whole picture.
- Write the answer sentence first.
- Keep to one issue per email. Mozilla’s bug-writing guidance says “If you have multiple issues, please file separate bug reports”, according to Mozilla, and the same logic holds for support.
- Replace every
[placeholder]and re-read the email once. - Give one next step with an owner and a date.
- Sign off with a real name.
Here is the reusable skeleton:
Subject: Order #[number]: [answer in under 9 words]
Hi [first name],
[The answer in one sentence.]
[One to three lines of detail: amount, date, tracking link.]
[Next step: who does what, by when.]
[Sign-off name], [role]
Reply to this email and I will pick it up.
For wider habits such as tone and speed, see our guide to better replies, which owns the full set of tips. This page stays on the email itself.
How long should a support email be?
A support email should be short enough that the answer is visible on a phone screen without scrolling. Litmus says mobile devices continue to be the primary reading environment for the majority of subscribers, according to Litmus. Writing for a phone screen is our own guidance. The table separates sourced rules from ours.
| Element | Rule | Why | Source |
|---|---|---|---|
| Subject line | 9 words, 60 characters | Shorter reads better on mobile | Mailchimp |
| Subject punctuation | 3 marks at most | More looks like spam | Mailchimp |
| Sentence | 25 words or fewer | Longer sentences are harder to follow | GOV.UK style guidance, 2014 |
| Opening | Answer in the first two lines | Readers who stop early still get the point | Ours, based on the inverted pyramid (NN/g) |
| Issues per email | One | One problem per message is easier to answer | Mozilla’s one-issue rule |
| Paragraphs | 1 to 3 sentences | Easy to scan on a phone | Ours |
| Whole email | Aim to fit one phone screen | The answer and next step stay visible | Ours |
| Tone | Plain words, contractions, no exclamation marks, a named writer | Sounds like a person | Ours |
| Apology | Once, specific, never in the subject | A repeated apology buries the answer | Ours |
The 25-word limit comes from GOV.UK’s 2014 style guidance, which says to try to break up or condense sentences longer than 25 words. The same post cites research by Ann Wylie that at a 14-word average sentence readers understand more than 90% of what they read, and at 43 words comprehension drops to less than 10%, according to GOV.UK. That post carries a notice that it may now be out of date, so treat it as guidance, not law.
Customer service email templates for an online store
These templates cover the order questions an online store gets most, and each has blanks only the order can fill. The first automatic reply that confirms receipt is a different job, covered in our acknowledgement templates. Replace every bracket before you send.
Where is my order (shipped)
Subject: Order #[number]: shipped with [carrier]
Hi [first name],
Your order #[number] left our warehouse on [date] with [carrier].
Track it here: [tracking link]. It should arrive by [date].
[If split order: The [item] is on its way now. The [item] ships separately on [date].]
If it has not arrived by [date], reply to this email and I will chase the carrier.
[Name], [role]
Shopify marks an order “Partially fulfilled” when only part of the items are fulfilled, so a plain “your order has shipped” is wrong for a split order. The branch line handles it. The order status use case shows the full picture.
Order delayed or on hold
Subject: Order #[number]: a delay, and the new date
Hi [first name],
Your order #[number] will now leave us on [new date], not [old date].
[One line on the reason, if you know it.]
I will update you by [date] either way. You can also cancel for a full refund by replying here.
[Name], [role]
Shopify’s status guide says an order is on hold when you or an app marks it that way, so find out why before you write the reason.
Return request inside the window
Subject: Order #[number]: how to return your [item]
Hi [first name],
Yes, you can return the [item]. Your return window runs until [return by date].
1. Pack the item in its original packaging.
2. Print the label: [label link].
3. Drop it off with [carrier] by [return by date].
I will confirm your refund as soon as it arrives back with us.
[Name], [role]
Refund confirmed
Subject: Order #[number]: your refund is on its way
Hi [first name],
We have issued a [full / partial] refund of [amount] to your [payment method].
It should appear within [days] days. [For a partial refund: This covers the [item]; the [item] stays with you.]
Reply to this email if it has not arrived by [date].
[Name], [role]
Say “full” or “partial” out loud. Shopify’s payment statuses separate Refunded from Partially refunded, so the email should too. For UK online sales, GOV.UK says “You must refund the customer within 14 days of receiving the item back”, according to GOV.UK guidance. Keep the number of days in the template as a placeholder drawn from your own policy. The refund flow page shows it end to end.
Damaged or wrong item
Subject: Order #[number]: your damaged [item]
Hi [first name],
I am sorry the [item] arrived damaged. I will put it right today.
Please reply with one photo of the damage. Then I will send a [replacement / refund] right away.
You do not need to send the damaged item back. [Or: we will email a return label.]
[Name], [role]
The damaged items use case shows how the resolution is decided.
Request outside your policy
Subject: Order #[number]: about your [request]
Hi [first name],
I cannot [do the request], because [the policy in one sentence].
What I can do is [nearest yes: exchange, credit, repair].
If that works, reply "yes" and I will arrange it today.
[Name], [role]
Say no in the first line, give the reason, then offer the nearest yes.
Product question before purchase
Subject: Your question about the [product]
Hi [first name],
Yes, the [product] [answer in one sentence: fits, is in stock, works with X].
[One line of the specific fact: size, stock level, compatibility.]
You can order it here: [product link]. Reply if you want help choosing between [option] and [option].
[Name], [role]
Specific beats generic: a real product fact, not a brochure line. The product advice use case covers this on a storefront.
Email template for reporting an issue
A good issue report names the order, says what happened and when, what you expected and what you want done, in one email per issue. The subject line is the summary. Mozilla’s bug guidelines say to explain the problem, “not your suggested solution”, and that applies to shoppers as much as to developers.
Customer to support
A shopper or business buyer can copy this one:
Subject: Order #[number]: [problem in under 10 words]
Hello,
Order number: #[number]
Item: [product name]
What happened: [one or two sentences]
When: [date and time]
Photo: attached
What I would like: [refund / replacement / call back]
[Name]
[Phone, if you want a call back]
Colleague to support or operations
The internal version uses the same structure and adds the ticket and the impact:
Subject: [Ticket #number] [problem in under 10 words]
Customer: [name, order #number]
What happened: [one or two sentences]
Ticket: [link]
Customer impact: [late delivery, repeat contact, high-value order]
What I need from you: [action] by [date]
Put it in an internal note on the ticket, not a side email, so the history stays in one place. Our guide to the internal note in Zendesk shows how.
Technical issue email templates
A technical issue email needs the steps that trigger the problem, what should have happened, what happened instead, and the device and browser, so someone can reproduce it. Mozilla’s guidelines say “Steps to reproduce are the most important part of any bug report”, and the templates below follow that.
Reply to a customer reporting a technical problem
Use this for a checkout error, a discount code that will not apply or a login that fails:
Subject: Your [checkout error / discount code / login] issue
Hi [first name],
Thanks for flagging this. I am sorry it is not working.
Please try [one thing: a different browser, clearing the cart, the reset link].
If it still fails, reply with your device, your browser, a screenshot and the time it happened. That lets us find it quickly.
[Name], [role]
Escalation to your developer or platform
Mozilla asks the reporter to describe the actual result and the expected result precisely, and so does this template:
Subject: [Problem in about 10 words, not the fix]
Summary: [the problem, not the fix]
Steps to reproduce:
1. [step]
2. [step]
3. [step]
Expected result: [what should have happened]
Actual result: [what happened instead]
Device, browser, OS: [details]
Orders affected: [numbers or a count]
One issue per email.
Known issue or outage notice
This is the one exception where a single message can go to many customers unchanged:
Subject: [What is broken]: what to do now
Hi [first name],
[What is broken] is not working right now. This affects [who is affected].
For now, [what to do: use another payment method, order by email, wait].
We will send the next update by [time and date].
[Name], [role]
When should you use email instead of chat?
Use email when the answer needs a record, an attachment, a form or time to check something. Use chat when the customer is mid-purchase and the answer is short. The table sorts common situations. For the chat side, see our guides to conversational support and a worked conversation.
| Situation | Better channel | Why |
|---|---|---|
| Sizing question while browsing | Chat | Short answer, the customer is about to buy |
| Return or refund with labels and amounts | Needs a written record | |
| Damaged item needing photos | Needs attachments | |
| Quick order status check | Either | The answer is the same data |
| Technical issue needing steps and screenshots | Needs detail and files | |
| Complaint needing a written record | Needs something to refer back to |
Text, in general, gives you time to read the order and check the policy before you answer, which is why email suits the heavier cases.
What mistakes make a customer service email fail?
We would check facts before tone. An unfilled placeholder, a status the order is not in, or a promise the policy does not allow sends a wrong fact to the customer, and a polite tone does not fix that.
- An unfilled “[Order number]” sent to a customer.
- “Your order has shipped” on a partially fulfilled order.
- A refund date that conflicts with the law or your policy, such as the UK 14-day rule.
- Three issues answered in one email.
- A vague next step such as “we’ll be in touch”.
- No named sender.
- An apology in the subject line.
Even automated templates have blanks. Shopify warns that “some variables might not be applicable” if the data is not yet available when the notification is sent, according to Shopify’s reference, so a field can render empty when the data is not there yet. If you draft with ChatGPT, our prompts guide covers that, and it owns the prompts.
Where does Engaige fit?
Engaige (that’s us) isn’t an inbox or an email tool: it’s the AI support agent that works inside the helpdesk your emails land in. Keep your helpdesk, replace the AI. Engaige AI configures the agent and shows which policies it used. At MR MARVIS, the agent handles over 120,000 questions a year and resolves over 60% of the conversations it’s involved in, as the MR MARVIS case study shows.

The angle here is answering from the order. A template leaves blanks: the order status, the tracking link, the refund amount. Engaige drafts the reply from the live order, so the email states the real status instead of leaving a blank. On Shopify that means Admin API order and fulfilment state, customer profiles and order history, kept live, plus your storefront content and any docs you add.
It checks your help desk, live store data (orders, customers, inventory, pricing) and the storefront content before it answers, and it shows why it replied as it did, with the source. Every answer and action shows why, so your team can check the reasoning rather than trust it.
Hi, where is my order? It's been eight days and the tracking hasn't moved.
Shopify
Order 48219 · fulfilled
Picqer
Still processing Contradicts Shopify
DHL
Returned to depot · 3 delivery attempts
Settles it: the parcel is not with the customer
Reasoning…
Not deliverable. Reship to a confirmed address, booked in Picqer.
Suggested reply
Your parcel went back to the depot after three delivery attempts, so it will not arrive. I have booked a reshipment to the address you confirmed, arriving Thursday.
Within the AI we can see the reasoning, and how it comes to a response. That shows us where information is missing or unclear, and helps us improve our workflow.
You do not need to change your help desk. Engaige drafts replies inside it from store data, the storefront and any docs you add, and nothing closes without a human in Agent Assist.
Every reply your team sends becomes training data, and Engaige AI proposes policy changes for you to approve.
Hello Potential New Client
What would you like to get done today?
Could you analyse this week's conversations and show me some automation opportunities?
Ask Engaige…
Searched and found 4 contact reasons · 2.4s
Your agent resolved 426 of 512 conversations. 86 were handed over, and one contact reason accounts for most of them.
Searched and found 1 policy · 1.6s
Delivery status hands over whenever tracking is older than 24 hours, which is 40 of those 46.
Editing Delivery status · 1.9s
Done. It now handles stale tracking itself. Those 40 a week stay with your agent.
What were the reasons for handover, and how can we improve?
Fix it.
Reply…
Then you flip ticket types to autonomous one at a time. Brands that move quickly reach autonomy in about a week, and Engaige automates up to 90% of supported tickets.
For the wider picture, see how an AI agent compares with a human team and what support ROI looks like. The rest of the set, from acknowledgements to scripts, sits in the templates hub. To see the agent answer from an order of yours, book demo.
Frequently asked questions
What should a customer service email include?
A subject naming the order and topic, the customer’s name, the answer in the first two lines, only the detail needed to act, one next step with a date, and a named sign-off.
How long should a customer service email be?
Short enough to read on a phone without scrolling past the answer: a subject line of no more than 9 words and 60 characters, sentences of 25 words or fewer, and one issue per email.
Is a customer care email different from a customer service email?
No, they are the same thing. The anatomy and the templates here apply to both.
How do I write an email to report an issue?
Give the order number, what happened and when, what you expected, a photo or screenshot and what you want done. Make the subject a short summary of the problem.
What should a technical issue email template include?
Steps to reproduce, the expected result, the actual result, the device, browser and OS, and the orders affected. For a customer, give one thing to try and ask for a screenshot.
When should support use email instead of chat?
Use email when the answer needs a record, attachments, a form or time to check. Use chat for short answers while the customer is still buying.
Can an AI agent write customer service emails from order data?
Yes. Engaige reads live store data (orders, customers, inventory, pricing) and the storefront before it drafts, so it states the real status, and it shows which sources it used.
Do we have to change our help desk to use Engaige?
No. You do not need to change your help desk. Engaige drafts replies inside it from store data, the storefront and any docs you add, and nothing closes without a human in Agent Assist.