Many of the customer satisfaction report you'll need come prebuilt in Insights. But if you want to report on satisfaction ratings by agent, you can build a custom report.
For a version of this recipe for Zendesk Explore, see here.
To build a custom report that shows satisfaction ratings by agent
-
Click the Reporting icon (
) in the sidebar, then click the Insights tab.
-
Click the GoodData link in the top right corner of the panel, then select Reports > Create Report.
- Set up the What, How, and Filter for your report as follows, then click Done when you are finished.
-
What: # Solved Tickets, % Satisfaction Response Rate, Satisfaction Score %
- How: Ticket assignee
- Filter:
-
# of Satisfaction Survey Offered is greater than 30
-
Date (ticket solved) is the last 30 days
-
Top 5 ticket assignee by # solved tickets
-
Include a bar for % satisfaction response rate
Insights will not automatically separate your percentage metrics onto their own axes. To do this, you will need to create custom formatting.
To add custom formatting to your report
- To the right of the chat icon options, click the Show configuration link.
- Under the main Configuration heading, click Metric Values from the Vertical (Y) drop-down list.
- Select the following axis for each metric.
- # Solved Tickets as Primary
- % Satisfaction Response Rate as Secondary
- Satisfaction Score % as Secondary
- Click Apply
- Under Advanced Configuration, click the + button next to Axis Y.
- Click the + button next to # Solved Tickets.
- Enter the following settings:
- For Chart type, select Bar Chart
- For the Axis max, select 100
- Check the Name and Labels boxes for Rotation
- Click the + button next to Value, then enter the following settings:
- For Chart type, select Bar cart
- Check the Name and Labels boxes for Rotation.
- Click the + button next to Global Settings, then enter the following settings:
- Check the boxes for Data Labels, Boxed, Legend, Gridlines.
- Check the boxes for Data Labels, Boxed, Legend, Gridlines.
- Click Apply.
Here's how your final report will look.
20 Comments
The filter section. What do I click to get those filters? I can't seem to find it.
Hey, Alexis!
You can add a filter from either of the buttons pointed out here:
The filters can be found in the following areas, respectfully:
1) Numeric Range
2) List of Values
3) Ranking Filter
Hey! Thanks for the tutorial!
For some reason I do not get satisfaction ratings for all my agents even though I think I should.
I usually check satisfaction ratings for all our agents on a monthly or weekly basis under "Reports - Insights - Insights - View Only - Agent Activity" and get a satisfaction %.
In this case I set up the report to check last week as a filter (Date (Ticket Solved) is the last 8 days. And for most agents I get no value on the % satisfaction Score. However when I check under Agent Activity under the same period I get satisfaction scores on everybody.
Any idea what I'm doing wrong here?
Hi Daniel!
Can you post a screenshot of how you built the report?
Hello!


Of course.
Picture 1 is the report I built with a filter of one month back - the underlined (red) is the same agent as in picture 2, two different satisfaction ratings though.
Picture 1:
Picture 2:
Edit: I guess the difference somehow is what date-range the satisfaction is calculated by, if I instead change to "Date (Ticket Last Updated)" I get more results.
Still not the same as under "Insights view only" - Agent activity though. Worth noting is that you more or less always get a satisfaction rating there, even if I choose only today as a value I get a rating for the specific agent. I can't seem to get information regarding what the date-interval is calculated by in the insights dashboard though so I can't replicate it in my own report.
Any ideas of what I might be doing wrong?
I'm using the following:
What:
# Ticket Updates
# Tickets Solved
% Satisfaction Score
How:
Month (Event)
Ticket Assignee
Filter:
1. Ticket Assignee is (41 agents)
2. Channel is (empty value), mail
3. Year (Event) is this year
Updated and solved tickets work but not satisfaction, I get values on some agents but not all I should get (like I get under agent activity during the same time period).
Hi Daniel!
Let's take your question into a ticket to allow for some more back and forth. I will be reaching out to you shortly!
Hi,
I have a report that should show all the reasons and comments from the satisfaction survey. But I have a problem in filtering out the empty answers as there are tickets where a comment was given but no reason and the other way around. I tried to create a custom metric but failed as tickets that were marked as satisfied never have a value in the reason.
Here my current setup (where the tickets that had a reason but no comment are not shown):
Thanks for your help!
Melanie
Hi Melanie!
I'm going to check with some of our Insights gurus to see if I can find an answer on this for you. Sit tight!
Hey Melanie! I just spoke with someone, and before we can answer we'll need a little bit more information.
Are you trying to see Sat results with a reason and a comment, or only Sats with comments? Or something else? This will help us understand where you're getting stuck.
Then, how is your attempt falling short? What result are you expecting, and what are you getting instead?
This is my report:
WHAT:
# Satisfied
# Unsatisfied
% Satisfaction Score
HOW:
Ticket Assignee
Ticket Via
FILTER:
Ticket Assignee isn't (empty value)
Month/Year (Event) is this month
I'm noticing that CSAT (% Satisfaction Score) is incorrect for particular people. I don't know what is the logic behind, or what's the best way to calculate this. We cannot cross check all the values as we heavily rely on Insights. Can someone please explain what's wrong?
CSAT = Good Ratings / Total Ratings
127/130 is 97.6 = 98%
3/4 is 75%
Hi Aswin,
I see that the issue was resolved for you on 23rd and it was about Filter attributes picking on Solved and other ticket status.
Just wanted to make sure that Date (Event) filter did the job for you as suggested by my colleague.
Hi,
Digging this post back up.
I need to setup the date value for date of response to CSAT (not date solved or updated) but the actual response itself.
What is the criteria that will give me this?
Thanks
Hi Hello Solla,
You'll need a report with a metric that measures the event you want a date for - See Amy Dee's detailed explanation here.
For example:
WHAT:
HOW:
Hello Everyone :)
- Do you know if we can check when (exact time) the customer satifaction was issued? - Can we make all the satifaction and description of request export to Excel?
Because now we have to click one by one in every ticket with a person to get in information.
Thank you
Hi Sarah,
That's very unfortunate! By design, the CSAT is attributed with the ticket Assignee. Normally an Agent does a public reply and takes the ticket when assisting a customer, so that makes sense.
You may need some retraining for the agent that did what you're describing...
Hi - thank you but my colleague was not liaising with the customer.
The comment was an internal note, not a reply via public comment.
She was assisting a colleague but the satisfaction rating is then allocated to her and not the assignee.
The flip side is that positive feedback would also not be allocated to the correct agent as well.
I wanted to bring this as a potential bug that the satisfaction rating is not being logged against the assignee.
Thanks
Hi there,
Can someone point out how can we capture the Month when rating was given in the 'How' section of the filters? We don't want to tie up rating to statuses or requester/assignee updates. We don't seem to have something like Month/Year Rating given or Ticket Rated (or similar)
Cheers
@Vladimir
Can you use Month/Year (event) perhaps?
Not sure if I understand exactly what you want but something like this?
WHAT: # Satisfaction Responses
HOW: Month/Year (Event)
FILTER: Whatever you want to filter on
Tried it out myself and that way I get the number of tickets where the rating was given during the month/months set in filter (in my case I just used todays date and added Ticket ID as a "HOW" in order to get a small data sample to double check if it was working).
Please sign in to leave a comment.