Go Back

How to Calculate CSAT for Shopify Support: Counting Rules by Ticket Type

CSAT is the share of customers who rate a support conversation 4 or 5 out of 5. For a Shopify store, the math is the easy part. What makes the number useful is deciding which tickets get a survey, when it goes out compared with delivery, and which ratings count.

This guide is for merchants who answer support themselves or run a small team. It skips the theory and covers the rules that change your score: counting, timing by order status, and a separate score for each ticket type.

The formula in one line

CSAT = (4 and 5 ratings ÷ all ratings received) × 100. A 3 counts in the total but not as satisfied. If you don’t want to do it by hand, the free CSAT calculator runs in your browser and also shows your average rating.

For why CSAT should rate the ticket and not the brand, and how AI support changes what you survey, read Shopify AI support and CSAT surveys. The rest of this guide is about the part most stores get wrong: the counting rules.

Counting rules: what goes into the score

Two stores can use the same formula and get numbers that mean very different things. The difference comes from these rules. Write them down once and keep them every month, or your scores won’t compare.

SituationCount it?Why
Customer rates a closed ticketYesThat’s the measurement
Customer rates 1 because the product broke, not the supportYes, with a tagRemoving it hides a problem. The tag lets you split it out
Survey opened, no rating givenNoIt isn’t an answer
Same customer rates three tickets about one issueOnceOtherwise one angry customer weighs three times
Spam, wholesale or partner emailsNo surveyThey aren’t customer conversations
Ticket reopened after the ratingKeep the first ratingTrack reopens as a separate number
Customer rates before the issue is actually fixedYes, but flag itIt tells you your survey went out too early

Two habits keep the number honest:

  • Always show the response count next to the score. “86% (14 responses)” reads very differently from “86% (400 responses)”. With few answers, read the comments before you trust the percentage.
  • Look at the 1s and 2s, not only the percentage. That’s where refund requests, payment disputes and bad reviews start.

When to send the survey: match it to the order status

A survey sent too early measures hope, not help. On Shopify, the right moment depends on where the order is. The rule: send the survey once the customer has the outcome they asked for, not when you hit “close”.

Ticket typeSend the survey whenDon’t send it when
Where is my order, order not shipped yetThe order is fulfilled and the customer has trackingYou’ve only said “it ships soon”
Where is my order, in transit or lateTracking shows the parcel as deliveredThe parcel is still moving or stuck
Delivered but not receivedThe case is settled: found, reshipped or refundedYou’re still waiting on the carrier
Return or exchangeThe refund is issued or the replacement shipsThe return label is sent but nothing is back yet
Order change (address, cancellation)The change is confirmed in the orderThe order already shipped and you’re still trying
Product question (size, material, fit)Right after your final answerNever wait here, the answer is the outcome
Damaged or faulty itemThe replacement or refund is doneThe customer is still sending photos

Late orders are the trap. If you survey a “where is my order” ticket the minute you send tracking, a customer whose parcel then sits for a week rates you on a promise that didn’t hold. Wait for delivery, and the score reflects the full experience. Our guide to WISMO automation and its 5 triggers covers how to answer each of those order states before the customer asks twice.

A few more timing rules:

  1. One survey per ticket. Not one per reply.
  2. Not more than one survey per customer in a short window. People who get surveyed after every email stop answering.
  3. One question plus an optional comment. The comment tells you why the score moved.

Let Relay answer order status, returns and order changes from your live Shopify orders, following your rules.

Split the score by ticket type

A single CSAT for the whole store hides where the trouble is. Tag every ticket with its type, then calculate CSAT for each tag with the same counting rules. Here’s what a low score usually means for each type:

  • Where is my order. The reply came late or gave no real tracking detail. Check if the low ratings cluster on delayed parcels: then the carrier is the cause, not the reply.
  • Returns and exchanges. The policy is unclear or refunds take too long after the item arrives back.
  • Order changes. Speed. The window closes when the order ships, so a slow reply turns into a “no”.
  • Product questions. Missing information on the product page. The fix is often on the page, not in the inbox.
  • Damaged or faulty items. These score lower than other types by nature. Compare them with their own past months, not with the rest of the inbox.

The split also tells you what to hand off first. A ticket type with lots of volume, a simple answer and a decent score is a good candidate for automation. A ticket type with low scores and messy decisions needs clearer rules before anyone, a person or software, can answer it well.

Turn a low score into a fix

Each low rating should lead somewhere. A weekly routine that takes little time:

  1. Pull every 1 and 2 from the week, by ticket type.
  2. Name the cause in one word: slow, wrong, policy, product or carrier.
  3. Fix the cause, not the ticket. “Slow” means first replies take too long. “Wrong” means saved replies or your knowledge base are out of date. “Policy” means the rule itself annoys customers. “Product” goes to whoever owns the product page. “Carrier” goes into your shipping choices.
  4. Check hand-offs. If low scores pile up on tickets that waited for someone to decide, the escalation rules are the problem. The ecommerce support escalation checklist helps you tighten them.

If “slow” keeps coming back because there’s more volume than people, put a number on it. The Shopify support cost calculator shows what your ticket load costs in hours and salary.

Where Relay fits

Relay is an AI support agent that understands your product, answers customer questions, takes action, and knows when to bring in your team. It finds the order in Shopify, applies your store’s rules and acts within the permissions you give it. When a ticket needs a person, it goes to your team.

Your Relay statistics show the resolution rate, the time saved and what you save on support staffing. Read them next to your CSAT by ticket type. You’ll see which tickets Relay should take next, and which ones need better rules first.

FAQ

When should I send a CSAT survey for a late order?

Wait until tracking shows the parcel as delivered, or until the case is settled with a reshipment or refund. A survey sent with the tracking link rates a promise, and the customer may change their mind a week later.

Should I exclude tickets about a broken product from CSAT?

No. Keep them in the score and tag them, so you can split out product problems from support problems without hiding either.

A customer wrote three times about the same order. How many ratings count?

Count one rating per customer per issue. Otherwise one unhappy customer counts three times and your score swings for no real reason.

Should tickets answered by AI and by my team share one CSAT?

Calculate one overall score, then split it by ticket type with the same counting rules. Comparing the same ticket type across both shows you where each one does better, which is more useful than comparing two overall numbers.

Ready to replace your first support hire?

Join fast-growing Shopify stores automating 80–95% of customer support in under 10 minutes.

Start Free Trial

From $59/month • 14-day trial