Skip to main content

 

Product: Gainsight PX

Issue Summary:

We are using Gainsight PX to trigger a guide (Guide 😎 via a query parameter (?showGuide=guideB) on a specific page. The guide is set to launch automatically on page load, with the qualification scope configured as “once per visit” and “ignore throttling” enabled.

However, we’ve observed that when a user clicks the Knowledge Center Bot (KCBot) button at the bottom of the screen, it causes a page refresh, which re-triggers Guide B unintentionally. This creates a disruptive experience for users who are trying to access help content via the bot.

Steps to Reproduce:

  1. Navigate to the target page with ?showGuide=guideB in the URL.
  2. Guide B launches as expected.
  3. Click the Knowledge Center Bot button.
  4. The page refreshes and Guide B re-triggers.

Expected Behaviour:

Guide B should not re-trigger when the KCBot is clicked, especially if it has already launched during the session.

Troubleshooting Attempted:

  • Verified that the guide is set to “automatic” and “on page load.”
  • Tested with and without “ignore throttling.”

Another option is to consider using session flags or removing the query parameter via JavaScript post-launch. We don’t want to do this as it means asking a dev to add code to pages, which is the whole reason to have GSPX, to prevent being reliant on dev input.

Request:

Could you advise on best practices or configuration options to prevent guide re-triggering when the Knowledge Center Bot is clicked? Is there a recommended way to suppress guide launch on bot interaction or to clear the query parameter without affecting other PX functionality? Of a different way to trigger a guide from another guide by not using query parameters?

It sounds like there’s a new PX session being initialized somewhere in that workflow, causing the user to requalify for the engagement. That’s not typical simply from opening the KC Bot, so I’d recommend some additional dev tools network log debugging.

 

Specifically:

  1. open dev tools > network log
  2. initiate Guide B, and step through that
  3. when the guide is complete, open the KC Bot

After each click, check the network log for a command request to app.aptrinsic.com, where the event type is sessionInitialized

dev tools network log: session init event

If you find which user action is initializing a new session, you’ll find your root cause. Then you can look at options for addressing that directly, or a workaround to sanitize the query parameter after the guide is completed. I’d recommend addressing the root cause, because those mystery session init events will continue to cause unexpected results.

If you choose to cut straight to a work around, you could try adding a redirect to the guide B completion action for https://$px-auto-resolve? which could zero the query parameter, or add a literal that resets it like https://$px-auto-resolve?showGuide=false


Hi ​@Graham Ayre !

 

I agree with ​@rschlette , something else is happening with PX Sessions and possibly the Tracked user is being switched when you interact with the KC Bot.  None of this happens by default and simply opening the KC Bot will NOT refresh your application page URL or change your Tracked user.

 

To avoid this scenario all together you could enable the Overlay option on your Engagement, which will prevent the user from even clicking the KC Bot icon and/or any other part of your application.  That way, the user must complete/close the current Engagement before opening KC Bot.


Summary:
For this challenge, I basically wanted to trigger a guide on another page from a source guide. To do this I used the query parameter in the url, and added the rule in GS to trigger the guide if it saw that query parameter. I wanted the guide to trigger if the user did the same action in the same session, and therefore had to assign it ‘auto’ and not ‘once per session’ in the scheduler. This resulted in the guide re-triggering on the page when clicking the GS chatbot due to it forcing the page to refresh. 

After discussing this flow with a GS support person, it was all acting as expected in GS.

Workaround:
As a work around to prevent it re-triggering the guide, we ended up assigning the page url (without the parameter) on the close actions of the guide, which resulted in the page refreshing (not ideal), but the guide no longer unnecessarily re-triggering on that page, unless the user ran the original guide that re-added the query parameter.   

Thank you for GS customer support in their help in forming this work around 🤜🏻🤛🏽.
It would be ideal if another option was added the the GS scheduler for this scenario.


Reply