denis bauer· belgrade, serbia·linkedIn·cv·email·Book a call with me
Zendesk Feedback Pro
Case study

A thumbs-down that says why

An article-feedback add-on for Zendesk Guide. When a visitor downvotes an article, a form asks what went wrong — and the answer lands in Zendesk Support as a ticket, with the reason, the comment and the article URL, instead of disappearing into a vote count.

Help Center · article footer
How did we do?
6 out of 14 found this helpful
Have more questions? Submit a request
Feedback Pro
three files in the theme
POST /api/v2/tickets.json
Zendesk Support · new ticket
Feedback for articlearticle_feedback
Requester
 
Downvote Reason
 
Help Article URL
 
“The cancel button isn’t where step 3 says any more.”
View · Feedback for article24 tickets✉ reply goes straight to the visitor
an article, two thumbs, and no way to ask why
0
ticket per downvote, created on submit
0
reasons a visitor can pick from
0
files to drop into any Guide theme
0
day from brief to installed
a vote count is not feedback
What this was

A downvote with nothing attached

Zendesk Guide lets visitors vote on every article, and that is where it stops. A 👎 is all you get: no reason, no comment, no way to ask. The content team could see which articles were losing, and nothing about why.

Zendesk Feedback Pro puts a form behind the downvote. The visitor picks a reason, writes a line, and optionally leaves an email; the add-on creates a ticket in Zendesk Support on the spot, with the comment, the reason and the article URL in custom fields.

Three files dropped into the theme. Everything downstream — views, assignment, replies — Zendesk could already do; the votes just never reached it.

The form

Two shapes of the same form

Reasons and an optional email when the content team wants structure; a single text field when they don’t. Either way the same ticket goes out.

Redrawn · reasons and an email
Article footer · full form
How did we do?
52 out of 77 found this helpful
We’re sorry to hear that! 😔
Why didn’t this article help you? Let us know what we can improve:
Your feedback will be very helpful!
Article is outdated
Article doesn’t answer my question(s)
Missing or broken links and/or images
Your email (optional):Enter your email
Submit feedback

Leave an email and you become the ticket’s requester, so a reply reaches you. Leave it blank and the requester is one of the agents — the comment is still logged against the article.

Redrawn · text only
Article footer · minimal
How did we do?
52 out of 77 found this helpful
We’re sorry to hear that! 😔
Why didn’t this article help you? Let us know what we can improve:
The screenshots are from the old version of the app.
Submit feedback

Don’t need the options? Drop them and keep the text field. The ticket still carries the article URL, so the content team knows which page it is about.

the theme’s own colours and font — nothing here looks bolted on
Close the loop

Feedback with an owner

Every submission is a ticket, so it has a status, an assignee and a place in a view. The content team works article feedback the way support works a queue.

Redrawn · the ticket, as it arrives
Zendesk Support · ticket #431787
A
Alex via article feedback
Step 3 says “Manage plan”, but that button isn’t in the app any more. Where did it move?
Downvote Reason
Article is outdated
Group
Content team
Help Article URL
/hc/en-us/articles/…-how-to-cancel-my-subscription
Tagsarticle_feedbackguide

Two custom fields carry the where and the why; the visitor’s comment is the first message. A view filtered on the tag is all the content team needs to start working through it.

Redrawn · the content team’s view
Zendesk Support · view
Feedback for article (24)Articles (24)
IDSubjectGroup
#431441Feedback for articleYesterday 17:18Content team
#431787Feedback for articleYesterday 21:07Content team
#428614Feedback for articleFriday 16:20Content team
#428965Feedback for articleFriday 19:37Content team

Sometimes a visitor uses the form to ask for help instead. It happens — and now it is a ticket, one reassignment away from support, rather than a comment nobody would ever have seen.

As recorded

On the customer’s theme, 2023

Two recordings on the dark Guide theme the add-on shipped in, and the content team’s view in Zendesk Support, redrawn one to one from the screenshot.

Recording · the article footer
Screen recording of the article footer with the vote buttons on the customer's dark help center theme
Recording · the feedback form
Screen recording of the feedback form with reasons, an email field and a submit button
Redrawn · the view, one to one
Tickets (3011)Articles (24)Users (0)Organizations (0)Side conversations (0)
IDSubjectRequestedUpdatedRequesterGroup
S#431441Feedback for articleYesterday 17:18about 1 hour agoAlexL2 Support Team
S#431787Feedback for articleYesterday 21:07about 1 hour agoAlexL2 Support Team
S#428614Feedback for articleFriday 16:20Friday 22:03AlexL2 Support Team
S#428965Feedback for articleFriday 19:37Saturday 01:02AlexL2 Support Team
S#429201Feedback for articleFriday 22:25Saturday 03:02AlexL2 Support Team
Impact

Before and after

Built in 2023 for one help center on Zendesk Guide, and installed into its theme in a day.

click a row to turn it back over
Under the hood
article_page.hbsView source ↗
The Guide template. Renders the form under the vote buttons and injects the article URL into a hidden field.
Opens the form on 👎, closes it on a click outside, and posts the ticket to tickets.json with the custom fields and tags.
slideFade in, slideUpFadeOut away. Colours and font come from the theme, so nothing looks bolted on.
Zendesk Tickets API
One POST per submission. The visitor’s email becomes the requester when they leave one.
Custom ticket fields
Help Article URL and Downvote Reason, so the ticket says where and why without anyone reading the body.
Views
A guide-specific view keyed on the tag gives the content team a queue of its own.
no app, no marketplace listing — a template, a script and a stylesheet
Install in four steps
1
Create the custom field
In Admin → Manage → Ticket Fields, add a field to hold the article URL. Make sure it is active and on the ticket form you use.
2
Point the form at your Zendesk
Replace yourdomain in the form’s action attribute, and swap the custom field id for the one you just created.
3
Set the API credentials
In script.js, fill in zendeskSubdomain, zendeskEmail and zendeskToken.
4
Check API access
Confirm the API is enabled for the account and that the token’s user is allowed to create tickets.