Embed a Feedback Management Survey in Digital Chat
You can configure a Feedback Management survey for contacts to take at the end of a Digital Experience interaction. For any Digital Experience channel, you can create a link to the survey. For chat interactions, you can make the survey appear directly in the chat window at the end of the interaction using an iFrame. For these embedded chat surveys, the contact can return to the survey via a link if they close the window without completing it. Chat transcripts only show the link text so that agents cannot take the survey on behalf of the contact The person interacting with an agent, IVR, or bot in your contact center..
All parameters are optional, but contacts can see any parameter you include in the link for the survey. So, do not use parameters to pass PII (personally identifiable information) in your URL. If you are concerned about passing PII in your survey URL, you can use a different digital survey option. Review this article and video to determine which type of Feedback Management survey is best for you.
If you want to embed a Feedback Management survey into the digital chat window, you must first contact your Account Representative to enable it for you.
Complete each of these tasks in the order given.
Create the Survey in Feedback Management
Create a web survey in Feedback Management. As you do so, follow these important guidelines:
-
For tokens and logic, only use contact fields that the digital chat page can send to you. These include:
-
Case ID
-
Channel ID
-
Channel Name
-
Agent Name
-
Locale Code
-
-
Add translations as usual.
-
As you style the survey, ensure that the survey components you choose fit a narrow screen. The default width for digital chat is 228 pixels. If you must include a scale question, choose one of the following best practices to save horizontal space:
-
Use stars for satisfaction scores. They are a universally understood survey option.
-
Use anchor labels for the first and last options. If you use an odd number scale, also add a middle label.
-
If you must label each option in the scale, use a vertical scale.
-
Copy the Survey Link in Feedback Management
These instructions describe how to create and copy a survey link to use in a Digital Experience interaction. For more details about personalized links, see Distribute Your Survey Using a Link.
-
In Feedback Management, open the survey.
-
Go to Distribute > Via Link.
-
Click Create.
-
Make sure the for Language drop-down is set to All.
-
Select Yes, ask contacts to complete contact information fields. This is required for personalized surveys.
-
Click Manage Contact Fields. Customize the contact fields as needed. The contact field names will appear in reporting. When you create a contact field, provide an internal name. Copy the internal name you choose for later use. You can only use the following variables in your integration with Digital Experience:
-
Case ID
-
Channel ID
-
Channel Name
-
Agent Name
-
Locale Code
Mark your contact fields as Not Mandatory. This prevents the contact from being asked for a value when one isn't available.
-
-
Publish the survey.
-
Click Copy Link.
-
Save the link somewhere to use later.
Configure the Survey to Display in the Contact's Language
If a contact's The person interacting with an agent, IVR, or bot in your contact center. language is specified in their browser setting or in a selection on your website, you can make digital chat present the chat and survey in the contact's language. You do this by creating a custom field to store the contact's locale code in the JavaScript of the webpage where digital chat is available. Learn more about customizing your chat channel with JavaScript.
The locale code passes to Feedback Management in the selectedLanguage parameter in the URL. For example, US English would appear in the URL as: &selectedLanguage=en_US
. You can find the list of Feedback Management locale codes in the Feedback Management online help.
-
Click the app selector
and select ACD.
-
Go to Digital > Custom Fields.
-
Click Create new custom field for Case.
-
On the Create new custom field for posts page, do the following:
-
Enter locale as the ident. This is the internal name that's used in the database. It must be all lowercase with no spaces.
-
Enter Locale Code as the Label. This is the external name that shows in the customer card details.
-
From the Type drop-down, select Text.
-
Click Is visible in post detail to Yes.
-
Is editable should be disabled by default. If not click to select No.
-
-
Click Save.
-
Set up the JS API of the webpage containing digital chat to populate the value of the locale code according to the instructions for creating and populating custom fields for chat with JavaScript. To do this, define the value of a case custom field. For example:
brandembassy('init', 1016, 'chat_029feb55-88d0-4c51-92cb-8040d28233fa','es_AR'); brandembassy('setCaseCustomField', 'locale', 'es_AR');
All parameters are optional, but contacts can see any parameter you pass in the survey URL. So, do not use parameters to pass PII (personally identifiable information) in your URL. For example, if you use an email for your agent ID, use the agent nickname or another secure identifier instead.
The URL in the Digital Experience job configuration page will look similar to this:
https://acme.satmetrix.com/surveyui/?p=MTIAAAAAAAAAAAAAi7%2F5CunIpvhhVWGG6bxPNgdYNq8gA%2BupEkLi3bHq9pUdSZve8d2BX078muJk3lxOwqOTMWOl%2BMKFtPBesYJui0HLNfzlUD5D7DhDPTlXt3JJd3M1Ao89cp5mop8vghqeCZNpUyU0OxEpgWqe7vJBhPNpMXKB89PvMm9uerI6T%2F2IElkSi1FjYMFcB%2BMzCSluAJQBSzJANUB%2F9iA1QqYT&type=link&interaction_id={{{caseId}}}&cxone_contact_id={{{caseId}}}&post_id={{{postId}}}&agent_nickname={{{ownerAssignee}}}&skill_id={{{channelId}}}&skill_name={{{channelName}}}&agent_nickname={{{nickname}}}&cxone_agent_id={{{userHubUserId}}}&language_selection_enabled=Y&selectedLanguage={{{contact.customFields.locale}}}
The URL with populated values will look similar to this:
https://acme.satmetrix.com/surveyui/?p=MTIAAAAAAAAAAAAAi7%2F5CunIpvhhVWGG6bxPNgdYNq8gA%2BupEkLi3bHq9pUdSZve8d2BX078muJk3lxOwqOTMWOl%2BMKFtPBesYJui0HLNfzlUD5D7DhDPTlXt3JJd3M1Ao89cp5mop8vghqeCZNpUyU0OxEpgWqe7vJBhPNpMXKB89PvMm9uerI6T%2F2IElkSi1FjYMFcB%2BMzCSluAJQBSzJANUB%2F9iA1QqYT&type=link&interaction_id={{{caseId}}}&cxone_contact_id={{{caseId}}}&post_id={{{postId}}}&agent_nickname={{{ownerAssignee}}}&skill_id={{{channelId}}}&skill_name={{{channelName}}}&agent_nickname={{{nickname}}}&cxone_agent_id={{{userHubUserId}}}&language_selection_enabled=Y&selectedLanguage=es_AR
Embed Feedback Management Survey in Digital Chat
Now you must automate presenting the Feedback Management survey using workflow automation. To do this, you need to set up:
-
A job that offers the survey.
-
Triggers that define when the job offers the survey.
Triggers consist of an event and one or more conditions. You configure a job with a trigger so that Digital Experience knows when to execute the job. If you don't set any conditions, the job runs every time the chosen event occurs. When a trigger has multiple sets of conditions, Digital Experience executes the same job for each of those conditions. If you want different jobs to execute for different conditions, you need to create a separate trigger for each condition. You can learn more on the Satisfaction Surveys page.
- Click the app selector
and select ACD.
- Go to Digital > Automation Jobs.
- Click Add.
- Give the job a Name. In the Action drop-down, select Send satisfaction survey.
- Set the Satisfaction survey type to 3rd party provider.
-
In the 3rd party provider URL field, enter the link to your Feedback Management survey you copied and saved earlier.
-
You can append the following parameters to the end of your URL as needed:
Variable Name Syntax CXone Mpower contact ID / Interaction ID {{{caseId}}} Agent
{{{ownerAssignee}}}
Contacts can see any parameter you pass in the survey URL. So, do not use parameters to pass PII (personally identifiable information) in your URL. For example, don't use an agent's first and last name. Use the agent nickname or another secure identifier instead.
Channel Name {{{channelName}}} Channel ID / Point of Contact {{{channelId}}} Locale Code {{{contact.customFields.surveylang}}} -
In your custom link syntax, use the contact field Internal Name from Feedback Management. You can find this in the Internal Name column on the Contacts > Contact Fields page. Be careful to use the exact spelling.
The Internal Name for passing the locale code is always selectedLanguage.
-
For each contact field value you want to pass to Feedback Management, add this syntax to the end of the URL:
&[FMInternalName]=[DFOVariable]
For example:
https://cx09.staging.satmetrix.com/surveyui/?p=MTIAAAAAAAAAAAAAsIkQ3ufFuiZ7hQ58zYC5Zo6%2FN9TW0wn9gmeYcajEabQDVWncw4rTeeHgH7ZrW%2F4E3Eu43NqxJp8uN0orP%2FC5Nrq54xoR2wfPWzmg08RX3%2FCkxkcisU%2F4YOs7oKklJpfNEb8JzaWuuGZAN8CZEkIIHfFX06PnZWzRQRhrZQffnbdic32HJthqZ4be&type=link&selectedLanguage={{{contact.customFields.surveylang}}&interaction_id={{{caseId}}}&agent_owner_assignee={{{ownerAssignee}}}&channel_id={{{channelId}}}&channel_name={{{channelName}}}&agent={{{Nickname}}}
-
-
To enable the survey to display in an iFrame in the chat window, select the checkboxes for Plugin content and Display in iframe in chat window.
-
Click Save.
-
In the left navigation pane, go to Digital > Automation Triggers.
-
Click Add Trigger.
-
Enter a Name for the trigger. From the Event drop-down, select Before case closed. If you want the job to run a certain amount of time after the event occurs, enter the number of seconds in the Delayed execution text box. Select the Folder you want to save the trigger in. Click Save.
-
Click Add existing job. From the drop-down, select the job you just created. Click Add.
-
In the Conditions section for the trigger, click Add Condition. If you configured a delay for the trigger, click Add Condition in the Delayed conditions section instead. Select conditions you want met before the trigger can execute the job.
Learn more about fields in this step
Field
Details
Contact direction The direction of the interaction, either inbound or outbound. Use this condition if you want the event to trigger based on the direction of the interaction. Contact inbox assignee The inbox assignee is the agent whose inbox a contact is currently sitting in. If the contact is not currently in an inbox, it does not have an inbox assignee. Use this condition if you want the event to trigger for contacts in a particular agent's inbox. Contact status The current status of the contact. Use this condition if you want this event to trigger based on the status of contacts. Contact status update time The amount of time since the last contact status update. Use this condition if you want the event to trigger based on the amount of time between status updates. You can choose whether you want the amount of time to be Older or Newer than the number of days, hours, or minutes you specify. Contact time in routing queue How long the contact is in the queue. If the condition is assigned to a message-based trigger, it applies on the interaction where the message is located. Contact waiting time The amount of time a contact spent waiting for an agent to respond. Use this condition if you want this event to trigger based on how long a contact spent waiting for a response. Count of inbound messages in the contact The number of times the customer sent messages while the contact was active. Use either or both of these conditions if you want the event to trigger based on the number of sent messages. You can choose whether you want the number of messages to be Less than, Less than or equal to, Equal to, More than or equal to, or More than the number you specify. Count of outbound messages in the contact The number of times the agent sent messages while the contact was active. Use either or both of these conditions if you want the event to trigger based on the number of sent messages. You can choose whether you want the number of messages to be Less than, Less than or equal to, Equal to, More than or equal to, or More than the number you specify. Current contact assignment The current assignment of the contact. Select On if you want this event to trigger only when a contact is assigned to an agent inbox, but not when it is still in the queue. Custom condition Allows you to call an API endpoint you've created with your own rules. The response from the endpoint should return a boolean value. Exclude based on Post IDs The IDs of posts from external platforms. Use this if you want to exclude post IDs as a trigger for this event. For example, if your organization has a marketing campaign on Facebook, you could exclude the post ID of the campaign's Facebook post as a condition. Excluded tags condition The contact tags that trigger this event, when they are not added to a contact. Use this condition if you want Digital Experience to use tags as a trigger for this event. Include based on Post IDs The IDs of posts from external platforms. Use this if you want to use post IDs as a trigger for this event. For example, if your organization has a marketing campaign on Facebook, you could use the post ID of the campaign's Facebook post as a condition. Included channels condition The channels you want the triggered event to apply to. Included tags condition The contact tags that trigger this event, when they are added to a contact. Use this condition if you want Digital Experience to use tags as a trigger for this event. Last message sent Who sent the most recent message and how much time elapsed from when it was sent. Probability of execution The percentage of contacts that this event triggers for. The default is 100%. If you don't want this job to trigger for all contacts, select the percentage of contacts you want Digital Experience to apply this event to. Routing queue limit A minimum size a routing queue must be to trigger this event. Include this condition if you want this event to trigger based on the size of the routing queue. Routing queues The routing queues that trigger this event. Use this condition if you want the event to apply to contacts in certain routing queues, but not others. Date and time Specific days in a week or a specific date range as well as the time of day when you want a specific action to happen. Chat is active Whether the chat is active or inactive for certain skills. You can select up to 10 skills. Satisfaction Survey Grace Period The number of days after sending a satisfaction survey that Digital Experience won't send additional surveys, even if conditions are met. Click Save.
-
When you're ready to begin including the survey in digital chat windows, click Activate at the top of the page for the trigger.
The survey now appears in an iFrame of any digital chat window when all your defined trigger conditions are met.
Troubleshoot Issues
You receive the error message "We are sorry, but the system experienced an unexpected error. Please try again later."
The custom link to the Feedback Management survey you configured in your Digital Experience job may have invalid syntax. Review the URL syntax. If you can't find the problem, copy the URL into a browser window and build the variables one by one to isolate the problem.
You don't see updates you made to your survey
Publish the survey again.