About Contextual Help for the Web Widget

Contextual Help is a Web Widget feature that uses the web page your visitor is currently on, along with your Help Center content, to suggest Help Center articles that may be relevant to their questions. Its goal is to reduce the effort of an end-user who might be trying to self-serve by suggesting contextually relevant articles.

The example below shows how the Web Widget uses Contextual Help to populate the widget with relevant articles as the user browses to a web page about the REST API:

Open the Web Widget Admin page by clicking the Admin icon () in the sidebar and selecting Channels > Widget.

Click the Customization tab.

Make sure that Help Center is toggled on.

Click the toggle to enable Contextual Help.

Understanding how Contextual Help works

The Contextual Help feature determines which articles should be suggested by looking at URL of the web page the end-user is on It then uses the part of the URL after the hostname (that is, the part after .com, .org, etc.) to perform a search on your Help Center to find relevant articles, and displays the first three results as Top suggestions. Community posts are not included in the suggested articles list.

For instance:

If an end-user is viewing the page myshop.com/apps, the suggested articles will include the first three results of a Help Center search on the term "apps".

If an end-user is viewing a page deeper in your website, for instance myshop.com/account/billing, the suggested articles will include the first three results of a Help Center search on the term "account billing".

If no articles match the search term, just the search box is displayed in the widget.

Note: Contextual Help is disabled for the Web Widget inside of Help Center because any suggestions would return the article the user is currently viewing. You can manually set suggestions using the Zendesk API, see Customizing Contextual Help results (below).

Customizing Contextual Help results

If your URL paths are not likely to produce useful suggestions, or if you just want more control over the results, you can override the search by utilizing one of our SetHelpSuggestions API methods.

Scott, the Web Widget automatically keys to the browser language so I expect that it would display articles of that language that use the label included in zE.setHelpCenterSuggestions. Is that not what you are finding?

I am having the same issue as mentioned here https://support.zendesk.com/hc/en-us/community/posts/218033707/comments/226504588 . When navigating between pages in an SPA, previous 'Top suggestions' stay in the widget until a later suggestion is found. This is a major problem for an SPA with many routes - I can't guarantee that all of them will find their own top suggestions, and if the old suggestions stay in the widget then that is simply confusing for end users.

Is there any plan to either automatically clear the top suggestions when calling setHelpCenterSuggestions , or to offer a 'resetSuggestions' function? I'd really like to avoid having to roll our own widget using the apis!

I've taken a look at the ticket that was created for Dave, and it seems that in his case it was an issue within the way his app was coded. Because it's such a one-off problem, I'm going to go ahead and create a ticket for you so that our support team can do the appropriate troubleshooting for you. Look for an email from me shortly.

Can you use *wildcards in the URLs? For example, if we have thousands of custom URLs like /study?deck_id=12345&pack_id=54321 , and we want a particular contextual Help message to show up on ALL pages whose URL is "like" /study* , is that possible?

If so, this should be heavily mentioned in this Help article, as I'm sure it's pretty important for a lot of companies!

Thanks for this, @Daniel. But I'm not sure that documentation answers my question about wildcards. In all of your examples above and elsewhere, it's assuming that the widget lives on pages with clean URLs, such as /pricing.

But what if, say, we have a unique URL for each user (e.g. with the user's ID in the URL), such as /pricing?user_id=12345, /pricing/?user_id=54321, etc.?

Is there a way we could just create a *single* widget condition for all pages like /pricing* , using the * character (or % ?) as a "wildcard"?

Hi Daniel, I never received the ticket. Please note that the Admin account we're using is info@brainscape.com (but you can also use this email address for Andrew Cohen for just support, even if it doesn't have a Zendesk admin or agent account). Thanks!

I have the same issue as Andrew. Some of our URLs have a User ID or other identifying ID (e.g. www.smarterselect.com/forms/453423) and we want the contextual help to ignore the IDs and just focus on "forms". I've not found any info in the Q&A or Community. How did you guys figure it out with his "ticket ID #3052923"?

"About Contextual Help for the Web Widget outlines that we use whatever is in the URL after the hostname to search. In your case, since you are adding additional information that would not likely produce useful suggestions, I would recommend following the workaround provided under "Customizing Contextual Help results" by overriding the search by utilizing one of our SetHelpSuggestions API methods.

For information on customizing your results, visit our Web Widget Developer Documentation (this is a Javascript API that you add code to the webpages to modify the behavior.)

For any /pricing?user_id=12345 type URL you can add in a zE.setHelpCenterSuggestions function in your site's code to set what search options you want that page to be using instead of the URL."

You are correct in that this does not apply to the Chat-only widget. Contextual Help is managed within Support under the Web Widget settings. You can offer the Contextual Help feature, a Contact Form, and Chat, all from the same Widget if you have both a Support and Chat account.

Seeing as you have access to the CSS template, this leads me to believe you have access to Guide, which you cannot access unless you have a Support account. Therefore, I would recommend utilizing the Web Widget instead of the Chat-only widget.

If for some reason you require the Chat-only widget, you could then build your own widget with the Web SDK and possibly implement a reference to your Help Center articles via the Help Center API. This would require a high level of custom-coding however.

I hope this provides some clarification for you. Let us know if you have any other questions!

We are considering SSO for a new site we are creating. I was just reading this article and was surprised to see that contextual help does not work with the widget if a login is required. Is that still the case?

You are correct and the Contextual Help will only work properly or login is not required in your Help Center. With login required users would need to log in first before they can access the Help Center content.

As for the Chat widget, are you hosting on an external website? Users should be able to Chat with an agent without logging into the Help Center but let me know if you experience anything different on your end.

I request the ability to control the number of articles displayed in the top suggestions list. This currently defaults to 3, and cannot be changed. Please vote in support of this feedback request here:

In addition, please consider restoring the removed View More button feature, which at least allowed the user to see more results.

The explanation for the feature removal was to "lessen the number of clicks for users to navigate the widget" but this reasoning doesn't make sense. If the user doesn't find what they are looking for in the Top Suggestions, they must either manually enter search terms and click the search icon (i.e. more clicks), or they just resort to submitting a ticket, which does not deflect tickets or encourage self-serve.