Skip to content
Corresso

Customer complaint response email templates for stores

A four-part structure for complaint replies (acknowledge, answer, fix, follow up) and six templates for the complaints a small online store meets most: damaged, late, wrong, disappointing, slow service and a missing refund.

By Max Lindberg · · 7 min read

A good reply to a customer complaint does four things, in this order: it acknowledges the specific problem, answers it with facts from the order, says what you will do to fix it and by when, and follows up when you said you would. Everything else, including most of the apology, is optional.

Below is that structure, six templates for the complaints a small store gets most, and the lines to keep out of a complaint reply. Words in double braces, like {{order_number}}, are blanks: fill each one from the order, never from memory.

The four parts of a complaint reply

Part What it does Example line
Acknowledge Shows you read their email, not just the subject line "Your {{product_name}} arrived with a cracked {{part}}."
Answer Gives the facts you checked "I can see it left us on {{ship_date}} and was delivered on {{delivery_date}}."
Fix Says exactly what happens next, and when "A replacement leaves us on {{replacement_ship_date}}."
Follow up Closes the loop A short second email when the fix has happened.

If you can only do the first two today, send them and give a date for the third. A complaint reply that promises a fix you haven't checked is the one that turns into a second complaint.

Before you reply: check the order

Open the order in your Shopify admin before you type anything. Check:

  1. Which order it is. A customer with more than one order may be writing about a different one than you assume, or about two at once.
  2. What happened to it. Fulfilment status, tracking, delivery date, any refund already issued.
  3. What has already been said. Earlier emails, and any note a colleague left.
  4. What your policy says. Your returns and refund policy, word for word, if the fix depends on it.

Then record the complaint where the next person will see it. In Shopify you can add a comment to the order's Timeline: open the order, click Leave a comment..., write what the customer reported and what you promised, and click Post. Shopify says Timeline comments on an order can only be read by you and other staff, and you can also comment on the customer record.

Template 1: the item arrived damaged or faulty

Hi {{first_name}},

Thank you for the photos — I can see the {{product_name}} from order {{order_number}} arrived {{what_is_wrong}}. I'm sorry; that's not how it should have reached you.

{{fix_offered}}. {{what_customer_needs_to_do}}

I'll email you again on {{follow_up_date}} to confirm it's done.

{{your_name}}

Fill {{fix_offered}} from your policy: a replacement, a refund, or the customer's choice. For the full set of damaged, wrong and missing item replies, see damaged item email templates.

Template 2: the order is late

Hi {{first_name}},

You're right to chase this. Your order {{order_number}} {{current_status}}, and it should have reached you by {{promised_date}}.

{{what_happens_next}}. If you'd rather not wait, reply and I'll {{alternative_offered}}.

{{your_name}}

{{current_status}} is what the tracking actually says today, such as "left us on {{ship_date}} and is with {{carrier_name}}". If it hasn't shipped, use a shipping delay email instead; if the parcel has gone quiet in transit, use a where is my order reply.

Template 3: wrong item or missing item

Hi {{first_name}},

I'm sorry — your order {{order_number}} should have contained {{item_ordered}}, and {{what_arrived_instead}}. That was our mistake.

I've arranged {{fix_offered}}, and it will leave us on {{ship_date}}. {{return_instructions_or_keep_it}}

{{your_name}}

Say whether they need to send the wrong item back before you promise anything. If you don't want it back, say so in the same email, so they aren't left holding it and waiting.

Template 4: the product isn't what they expected

The item isn't faulty; the customer just doesn't like it. Don't argue about whether they should like it. Point them to what your policy allows.

Hi {{first_name}},

Thank you for telling us — I'm sorry the {{product_name}} wasn't what you hoped for{{specific_point_they_raised}}.

You can return it within {{return_period}} of delivery for {{refund_or_exchange}}. {{how_to_start_a_return}}

If it would help, I'm happy to suggest {{alternative_product}} instead.

{{your_name}}

{{return_period}} comes from your published returns policy. If the customer is in the EU or UK, they may have a statutory right to cancel that doesn't depend on your policy: see the EU right of withdrawal and UK refund rules for online orders.

Template 5: they're complaining about your service

Slow replies, a colleague who got it wrong, an email that went unanswered. Own it without blaming the person.

Hi {{first_name}},

You're right, and I'm sorry: you wrote to us on {{first_contact_date}} and didn't get a proper answer. That isn't the service we want to give.

On your actual question: {{answer_to_original_question}}.

{{your_name}}

The second paragraph matters more than the first. A service complaint is usually still about the original problem.

Template 6: the refund hasn't arrived

Hi {{first_name}},

I've checked order {{order_number}}: we refunded {{refund_amount}} to {{refund_method}} on {{refund_date}}.

Banks usually take {{refund_processing_time}} to show a refund on a statement. If it isn't there by {{check_again_date}}, reply to this email and I'll look into it with you.

{{your_name}}

Fill {{refund_processing_time}} from your payment provider, not from a guess. If the refund was never issued, say so plainly and issue it before you reply.

The follow-up email

The fourth part of the structure is the one that gets skipped. Send it when the fix has happened, not before.

Hi {{first_name}},

A quick update on order {{order_number}}: {{what_was_done}}, on {{date_done}}.

If anything still isn't right, just reply to this email.

{{your_name}}

What to leave out of a complaint reply

Don't write Why
"As per our policy..." as the first line It answers a question they didn't ask. Lead with their problem; quote the policy where the fix depends on it.
A date, tracking number or amount you haven't checked A wrong fact in a complaint reply creates a second complaint.
"This has never happened before" They don't care, and you probably can't prove it.
Blame on the courier or a supplier, without facts If the courier lost it, say what the tracking shows. Otherwise the problem is yours to fix.
A promise someone else has to keep If the refund needs the owner's approval, say you are checking, not that it's done.
A partial refund presented as final, when the customer asked for a full one It may not close the matter (see below).

Why a complaint reply matters later

A complaint that isn't resolved by email can come back as a chargeback. Among the practices Shopify lists for keeping a chargeback rate low is to "respond promptly to customer inquiries and complaints". For a dispute about an unacceptable product, the evidence Shopify suggests submitting includes "any messages where the customer described the issue, and your responses offering resolution".

Two more points from Shopify's help pages are worth knowing before you settle a complaint with money:

  • When you partially refund an order, the customer can still open a chargeback for the full value of the order.
  • Once a chargeback has started, you can't refund that order's payment through Shopify.

So write every complaint reply as if the customer's bank may read it one day, because it may. For the dispute itself, see the chargeback email to a customer.

When AI drafts the complaint reply

Complaint replies are where a confident wrong fact does the most damage: a made-up delivery date or a refund nobody approved. Corresso drafts a reply to every incoming email from documents your store approved, such as your returns policy and shipping page, and each fact in the draft cites the document it came from. Rules written in code hold any draft that promises a refund or replacement without citing a document allowed to offer one, and any draft with an order number, tracking number or date the AI wrote itself. With Shopify connected, the person answering fills those blanks from the order beside the email in one click. A person always reads the draft and presses Send. See how it works.

Questions people ask

How do you respond to a customer complaint email?
Acknowledge the specific problem in one line, answer it with the facts from the order, say what you will do and by when, and then do it and write again. Leave out the long apology and the explanation of how your warehouse works.
Should I apologise in a complaint reply?
Yes, once and plainly, for the thing that went wrong. An apology works when it names the problem. Repeated apologies with no fix read as stalling.
What if I need time to look into the complaint?
Send a short holding reply that says what you are checking and the date you will write again, then write on that date even if the answer is not ready. Silence after a complaint is worse than a slow answer.
Should I offer a discount to settle a complaint?
Only after the actual problem is fixed, and only if your store has decided it offers one. A discount code in place of a replacement or refund the customer is owed doesn't fix the problem they wrote about.

Let the next email arrive with its first draft done.

Forward your support address today. 14 days free, then $75 a month. Cancel before day 15 and you pay nothing.

Start free trial