Providing Effective Support For Your WordPress Plugin: Ticket System & Documentation

Customer support can be an area that makes or breaks your success in selling a WordPress plugin. An effective support system not only addresses user issues but also empowers them to find solutions on their own saving you time and energy to focus on other things like marketing. Customers will always find issues with anything you make, but how easy you make it to get solutions will be what determines how your business is perceived to them. In fact, many bugs customer found in my plugins have turned into some of the best reviews I have received as a result of how quickly and effectively I solved the issue.

This article will discuss the importance of comprehensive documentation and self-help resources in creating an effective support system for your plugin users. I will also explain the benefits of using a support ticket form instead of email, recommend a suitable form plugin, and my favorite support ticket setup.

Helping customers help themselves: Empower users with effective documentation

An essential aspect of providing excellent support for your WordPress plugin is empowering users to find solutions on their own. By making comprehensive documentation and resources available to your customers, you can significantly reduce the number of support requests and help customers resolve their issues faster. Here’s how you can integrate self-help resources into the support experience:

  1. Develop a thorough knowledge base: Invest time and effort in creating a comprehensive knowledge base/documentation that covers all aspects of your plugin, including installation, configuration, troubleshooting, and frequently asked questions. Make sure that the information is up-to-date, well-organized, and easy to understand, even for users with limited technical knowledge. Be sure to put your most commonly referenced doc articles at the top of any pages they are listed.
  2. Embed a quick search function in the support form: To encourage users to explore your documentation before submitting a support ticket, consider embedding a quick search function directly within the form. This can help users find relevant articles or solutions based on their issue or keywords, potentially resolving their problem without the need for direct support. This is precisely the reason I created my Search Field for Gravity Forms plugin!
  3. Provide context-sensitive help: Within your plugin, include tooltips for settings fields or links directly to any documentation articles that relate to the specific field. The easier it is to find information for your users the quicker than can solve their problem and less likely to contact you.
  4. Create video tutorials and walkthroughs: Some users may prefer visual learning over reading text-based documentation (I’m not one of those people but I’ve been told they exist). Providing video tutorials or step-by-step walkthroughs can make it easier for users to understand how to use your plugin or resolve common issues.
  5. Encourage community support: I’m not a huge fan of this one honestly but felt it was worth mentioning. To be successful, you need a large, tech-savvy, dedicated fanbase but they can help answer some of the questions for you. Most plugin companies I have interacted with ultimately closed down their self-hosted forums and opted for tickets instead.

I feel like WP Sunshine has some good documentation! But I also know it’s hard as Sunshine Photo Cart, my first and largest plugin on a separate site, has some pretty low-quality docs and absolutely no video walkthroughs on things. My experience has taught me that in the end, good documentation can save you time but mostly headaches as sending a link to a URL with the answer already thoroughly explained is much easier.

How to create good documentation for your WordPress plugin

Creating effective and comprehensive documentation for your WordPress plugin seems daunting for most developers, but it is essential. For every minute you spend writing documentation you could be getting back 2 minutes to focus on coding as it saves you time in dealing with support ticket requests. Here are some tips on how to create good documentation:

  1. Understand your audience: Know your target audience and their level of technical expertise. This will help you tailor your documentation to meet their needs and ensure that it is easily understood by both beginners and advanced users.
  2. Keep it organized and structured: Arrange your documentation into logical sections or categories, such as installation, configuration, troubleshooting, and frequently asked questions.
  3. Be clear and concise: Write in a clear and concise manner, avoiding technical jargon and acronyms wherever possible.
  4. Use visuals: Incorporate images, screenshots, diagrams, or flowcharts to help users visualize concepts and procedures more easily. Visual aids can make your documentation more engaging and easier to understand so the user can connect what they are seeing with what they are being asked to do.
  5. Provide step-by-step instructions: Break down complex tasks or procedures into step-by-step instructions. This will make it easier for users to follow along and complete tasks without getting lost or overwhelmed.
  6. Keep it up-to-date: The hardest part! Regularly review and update your documentation to ensure that it remains accurate and relevant. As your plugin evolves, new features are added, or changes are made, it’s necessary to keep your documentation current.
  7. Create resources as you answer tickets: If you notice the same ticket being answered over and over, it’s time to write an article about it. Repeated support tickets are a great indicator of frequent issues customers are having to either resolve within the UX of your plugin or ensure there are self-help resources available to customers.

By following these tips, you can create effective, user-friendly documentation that empowers your plugin users to find solutions on their own and reduces the need for support requests. Good documentation not only improves the user experience but also reflects positively on your plugin’s reputation and overall quality. It really can be a win-win for everyone!

Should documentation be on a separate domain or on my own site?

As a developer, it is easy for me to set up a custom post type/taxonomy and templates to create a documentation system. I like the control and ability to have my documentation articles exactly as I want them. There are also many documentation plugins for WordPress as well. Having it on your site I feel like has SEO benefits as well – it can’t hurt to have tons of information on your primary domain talking about your product with some keywords and internal linking included in there.

The ticket system I recommend below also has documentation tools built into them as well to save on the burden of building the templates and structure on your own site.

Support tickets: When customers need 1-on-1 help

Even if you have the best documentation ever, there will always be customers who will refuse to even bother looking or don’t feel confident in figuring out an issue on their own. Offering support tickets is a crucial component of delivering outstanding customer service for your WordPress plugin. A good support ticket system and responses by you can help elevate your plugin business by producing fanatical users who tell everyone about how great it (and you) are. Here are several reasons why offering support tickets is essential:

  1. Centralized issue tracking: Support tickets allow you to keep track of all user issues in a centralized location. This makes it easier for your support team (even if just a team of 1) to manage requests, prioritize them based on urgency, and monitor the progress of each issue until it is resolved.
  2. Improved response times: By categorizing and prioritizing support tickets, you can respond to user issues more efficiently. This leads to faster response times and ultimately, more satisfied customers.
  3. Enhanced communication: Support tickets enable streamlined communication between your support team and users. They provide a clear history of the conversation, allowing support staff to understand the context of the issue quickly and enabling users to track the progress of their request.
  4. Provides a customer history: A ticket system can keep track of a customer’s history of interacting with support. This means you can more easily look back at past issues to help solve current ones.
  5. Valuable insights and feedback: Support tickets can provide valuable insights into common issues faced by your plugin users, helping you identify areas for improvement or additional features to enhance the user experience. Moreover, analyzing support tickets can help you identify trends and potential issues in your plugin, allowing you to proactively address them before they become widespread problems. You can also keep track of the average number of tickets each customer submits to help determine what your real cost per customer is.
  6. Reduces support team workload: You can automate certain aspects of the support process, such as categorizing, prioritizing issues, or even providing automated responses to quickly answer questions without any real interaction. This can help reduce the workload on your support team, allowing them to focus on resolving more complex issues that require their expertise.

Why use a support ticket form instead of email?

Instead of listing [email protected] on a contact page, I highly recommend providing a detailed customer support ticket form as it brings many advantages to make the support process easier for you:

  • Verifying support access: By requiring users to fill out a form to submit a support issue, you can verify their access to support. For Sunshine Photo Cart, I use Easy Digital Downloads and run a quick check on the currently logged-in user with my Gravity Form to ensure they have an active license key. If not, I give a clear explanation about support ticket access permissions and why they cannot submit a ticket with links to documentation or the forums.
  • Organized and structured data: One of the primary benefits of using a support ticket form instead of email is the ability to collect organized and structured data. With email, users might provide incomplete or unclear information about their issue, which can lead to a back-and-forth exchange and prolong the resolution process.
  • Customizable fields: Support ticket forms can be tailored to gather information specific to your plugin or product, making it easier to pinpoint the exact issue users are experiencing. Customizable fields allow you to collect data such as the plugin version number, the user’s website URL, and any error messages or screenshots. This targeted information helps support staff to better understand the context of the problem and may even enable them to replicate the issue, significantly streamlining the troubleshooting process.
  • Improved customer experience: Forms can be designed to guide users through submitting their issues step by step, ensuring they provide all necessary information in a clear and concise manner. This reduces the likelihood of miscommunication or misunderstandings, leading to a more positive experience for the customer. Additionally, having an established system for submitting support requests can make users feel more secure and confident that their email will not end up in a black hole that never gets a response.
  • Automation & efficiency: For larger support teams, you can automate certain aspects of the support process such as assigning tickets to appropriate support staff based on the issue category or severity. This can save time and ensure that issues are addressed by the right team members.

Customer support flow: From submission to resolution

Creating a seamless and efficient support process is essential for providing a positive experience for your plugin users. By focusing on the customer journey from the moment they submit their support request to the resolution of their issue, you can ensure a smooth and consistent experience that meets their expectations. Most customers are OK if their WordPress plugin breaks, but to ensure they stay happy a good customer support experience is vital.

Below is an overview of the ideal customer support flow:

  1. Submitting the support request: Provide users with a clearly visible and accessible support ticket form on your website, allowing them to easily submit their issue. The form should be intuitive and guide the user through the process, ensuring they provide all necessary information related to their problem.
  2. Confirmation and expectations: After submitting the form, the user should receive an automated email confirming their support request. This email should include their support ticket number and any relevant details about their submission. Setting expectations for response times is crucial, so be sure to inform users of the estimated time it will take for your support team to get back to them. You can also provide links to self-help resources, such as a knowledge base or FAQ, in case the user can find a solution while waiting for a response.
  3. Ticket assignment and prioritization: Once the support request has been submitted, your support ticket software should automatically assign the ticket to the appropriate team member based on the issue category or severity. This ensures that issues are addressed by the right support staff, helping to streamline the resolution process.
  4. Status updates and communication: Keep users informed about the progress of their support request by sending regular status updates. This can include notifying them when their ticket has been assigned, when a support staff member is actively working on their issue, or if any additional information is needed to resolve the problem. Even if you don’t have a resolution, it’s best to keep the customer informed that you are still actively investigating their issue.
  5. Resolution and follow-up: Once the issue has been resolved, inform the user of the outcome and provide any necessary instructions or resources to ensure the problem doesn’t reoccur. Additionally, it’s good practice to follow up with the user after a certain period to ensure that the resolution has been effective and to gather feedback on their support experience which can be automated in most support ticket systems.

Examples of good support form questions

I’ve submitted some very good and some very bad support forms in my time. Here is what I think are important from a customer perspective and as a support provider:

  1. Name: Request the user’s full name to address them personally and ensure proper communication. If using Gravity Forms, you can prefill this information when the user is already logged in.
  2. Email address: Ask for the user’s email address to enable your support team to get in touch with them and provide updates on their request.
  3. Website URL: Request the user’s website URL where the plugin is installed to enable the support team to visit the site and examine the issue firsthand.
  4. Issue category: Include a dropdown menu or a list of categories for users to select the type of issue they’re facing, such as installation, configuration, updates, compatibility, or performance. This information can help direct the ticket to the appropriate support team member.
  5. Issue description: Ask the user to provide a detailed description of the problem they’re experiencing, including any error messages, when the issue first occurred, and the steps they’ve taken to try to resolve it.
  6. Attachments: Allow users to upload relevant files, such as screenshots, error logs, or code snippets, which can help the support team understand and diagnose the issue more effectively.
  7. System Info: Make available an easy to copy (not download, I’m looking at you EDD) list of details that outlines the user’s setup such as WordPress version, all plugins installed, current active theme, PHP version, memory limits, plugin settings data or other information you have found are important to gather.
  8. Priority level: Include an optional field for users to indicate the urgency or priority level of their issue. This can help your support team prioritize requests and address critical issues more quickly.
  9. Additional comments or questions: Provide a field for users to include any additional information or questions they may have that haven’t been covered by the other form fields.

A really helpful way to build your support ticket forms is to include conditional fields. At the start of your form, you can ask a broad question such as “What is this ticket about?” If the user selects Billing issue, then you can conditionally display specific fields related to billing and hide others that are unnecessary, and gather the specific information you need.

Examples of bad support questions

As a customer, I actually only have one main grievance with many support forms: Don’t make me submit my license key because you already know it! It is very easy for you as a plugin developer to grab a customer’s license key automatically for them. Most customers only ever see this information for 5 seconds during their initial plugin setup and can be challenging to know where to find it and this added friction reduces the happiness level of your customer. Also, if you have a System Info you ask users to copy/paste, the license key can easily be included in this information. /rant

Examples of good support forms in the wild

Studio Wombat support form

Studio Wombat

Great job with the initial options to select a reason for submitting a ticket which conditionally displays fields. My favorite part is how they really hammer home the need for the user to provide a URL to their issue so they can provide better support. They clearly list their hours of operation and to set proper expectations on a response.

View form


Very similar to above, but I like how there are top articles listed first before you are shown the ticket form to help people answer their own issue.

View form

Should I ask for admin access?

This one seems to be widely different amongst plugin companies and their comfort level. I personally ask for admin credentials right up front. I request a separate admin account and not provide their own login so my access can be removed after the issue is resolved. I’ve found that with admin access I can more rapidly resolve a customer’s issue and that far outweighs any negatives that could come up (which honestly I have yet to find). Most customers in my experience are happy to provide an admin login as it means less work for them. What exactly your plugin does, its level of complexity, and the issue at hand will determine if having admin access is necessary.

My recommended support ticket stack

Form: Gravity Forms

Gravity Forms is my recommended form plugin for WordPress that can help you create a robust support ticket form for your plugin. This comprehensive plugin offers a range of features and capabilities, especially conditional fields, that make it an ideal choice for building customizable support ticket forms.

I have used Gravity Forms for 10+ years now. It is incredibly flexible and developer friendly making customizations a breeze. I have used it for every single client site I have ever built from standard contact forms to complex forms doing very advanced interactions with users.

Ticket System: HelpScout

HelpScout is my preferred solution and what I use for all the WP Sunshine WordPress plugins. Their system is pretty simple as it makes the entire support process for customers email-based. From the support provider perspective, the lack of complexity to their admin makes the tedious part of having a plugin much more manageable.

Support ticket stack working together

What I like most about this combination is they all work together with my preferred plugin for selling licenses, Easy Digital Downloads.

Combining these all together gives you the information you need, where you need it, and makes answering tickets in a timely, efficient manner a breeze.

Screenshot within HelpScout of user's license information
What I see within HelpScout while answering a ticket

Well, there you have it…

Providing good support has been the best way I have found to grow my plugins. Doing so has evangelized customers who spread the word by mouth, write positive reviews, or link back to my sites for better SEO.

About the Author
Derek Ashauer is the sole developer at WP Sunshine. He also does client work through his agency AshWebStudio where he has been working with WordPress since 2005.