Use CSAT for the day-to-day and NPS for the relationship-level check-in. They're not competing metrics — they measure different things, at different frequencies, for different audiences. Most of the "NPS vs CSAT" confusion in MSP forums comes from trying to make one number do both jobs.
CSAT (a 1–5 or thumbs-up/down rating tied to a ticket) tells you whether a specific interaction went well. It's transactional, high-volume, and immediate — a client rates the tech who just closed their ticket, while the experience is fresh. NPS ("how likely are you to recommend us, 0–10") tells you how the client feels about the whole relationship: your billing, your account manager, your last three outages, your pricing conversation, all of it baked into one score. It's relational, low-volume, and retrospective.
If you're only going to run one program, run CSAT on ticket close. It's the metric that actually catches problems while you can still fix them. A tech has a bad interaction on Tuesday, the client rates it 2/5 on Tuesday, and you can call them Wednesday. That loop is tight enough to matter.
CSAT also gives you the data that's operationally useful day to day: per-technician trends, per-client trends, and a way to catch a slipping relationship before it shows up as churn. It's granular enough to act on immediately, which is the whole point of embedding it in ticket-close emails rather than sending a separate survey later.
NPS is worse at catching operational problems and better at predicting churn and referrals. A client can rate every individual ticket 5/5 and still give you a 6 on NPS because they think you're overpriced, or because their internal champion is unhappy with the relationship for reasons that never show up in a support ticket. That's information CSAT will never surface, because CSAT only samples people who just had a support interaction — it misses the CFO who never opens a ticket but signs the renewal.
Run NPS quarterly or twice a year, sent to a short list of decision-makers and champions at each account — not every end user, and not tied to a ticket. Keep it to the one question plus an open comment field. The comment field is honestly where most of the value is; the 0–10 score by itself just tells you who to worry about.
The most common mistake is running NPS too often and CSAT too rarely, or the reverse. NPS fatigue sets in fast — send it monthly and response rates collapse, and the people who do answer are disproportionately the ones who are annoyed. Quarterly or semi-annual keeps it meaningful. CSAT, on the other hand, should be nearly automatic: attach it to every ticket close (or every close above a certain priority/time threshold) so you're not relying on anyone to remember to send it.
The second most common mistake is treating NPS detractors like CSAT complaints — dispatching a technician to "fix" a 4/10 NPS score. A low NPS is usually a business-relationship problem (pricing, scope, communication with leadership), not a support problem, and it needs the account manager or owner, not the help desk.
Start with CSAT. It's cheaper to implement, gives you a feedback loop measured in days instead of months, and directly supports the things MSPs are already trying to do — catch bad tickets, coach technicians, flag at-risk accounts. NPS is a good second layer once CSAT is running cleanly, because by then you'll already have the per-client CSAT trend to cross-reference against NPS scores, which is where the real insight shows up: a client with solid CSAT but a low NPS is telling you the problem isn't your service delivery, it's something else entirely.
We built InsideLoop around this split — one-click CSAT on every ticket close, feeding straight back into Autotask, because that's the loop that needs to be automatic. NPS can stay a quarterly manual outreach from your account managers; it doesn't need the same infrastructure, because it isn't solving the same problem.
InsideLoop embeds a one-click satisfaction survey in your ticket-close emails, writes ratings back to the ticket, and alerts you the moment a client is unhappy.