Home > Routing by tag for reactive chats: Configuration
(Last Updated On: May 19, 2020)
Routing by Tag is an advanced feature, available only on Enterprise Accounts, which enables routing of chats to the most appropriate agent based on skill-set, language, specialty etc. Setting up this feature requires configuration in the SnapEngage Admin Dashboard and can also be used in conjunction with functions inserted into your website code.
This is for reactive chats only. To enable Routing by Tag, please log into your Admin Dashboard, select the widget you want to configure and navigate to Settings -> Agent Settings -> Chat Assignment -> Routing by Tag. In this section, there is a checkbox labeled “Enable routing by tag”.
Before going into more detail about setting up the tags, we need to look into the two sub-options within this feature that are used to control what happens when there are no available agents who have a tag matching that of the visitor:
- The “Route chats to available agents” option. With this option enabled, if an agent with a matching tag is not available, your website visitors will be able to chat with another available agent even if this agent does not have a matching tag. In such a case, we will assign an incoming chat based on the “Agent Assignment Settings” which have been configured right above the “Routing by Tag” setting.
Once the appropriate options are selected be sure to click on the “Save” button.
To assign tags to your agents, you go to Settings -> Agent Settings -> Chat Agents. Click on the “Edit” button to the right of the agent you would like to configure and a box will pop up where you can configure settings for this agent. At the bottom of the form, you will see the “Agent Tags:” field:
Within this field you can enter new tags or select from existing ones. To add a new tag, just type in the word you want to use as a tag and hit enter (eg. “anothertag” below). Once the agent has been configured with the appropriate tags click on the “Save” button. At this point the chat assignment will behave just as it did before having enabled the feature in step 1.
**Please note that just like different agents can be configured with different tags, some agents might not be assigned any tags at all.**
It is essential to understand where the tags come from on the visitor side in order to accurately set up your tag assignment. Like mentioned above, that will depend on your logic but two seem to be the most common scenarios:
Option 1 – SnapEngageOptions: (This is required when using the offline option.)
Create a global SnapEngageOptions object to set the most appropriate tags. As an example, let’s say in step #2 we had assigned an agent tag of “spanish” to Ryan. If we want to direct chats to that agent we would do the following:
You can use this option for visitors of certain account levels (if they are logged into your site) or certain locations (we use a similar premise to blacklist countries or IPs for you). You can pull in different variable values from your page to be tags and, as long as there are agents with those tags, we can toggle chat being off/online. For example, if you collect the user’s country in a variable called “country”, you could set a tag like this:
Multiple tags can be passed by adding commas between each tag. For instance:
Option 2 – SnapEngage.setTags:
To use this option, you would need to add the SnapEngage.setTags(), function code under the ” /* Place your SnapEngage JS API code below */ ” part of your widget’s code snippet. In the above example, Jan has been assigned with the “german” tag. To be able to direct German chats to Jan, you would need to add the “german” tag in the function:
“SnapEngage.setTags(‘german’),”. The complete code would look like the following:
The SnapEngage.setTags(‘german’), function code could be placed on all the pages of your German website but not the English one. Chats initiated on your German website, would then be directed to agents with the “german” tag.
**Please note that multiple tags can be passed to the SnapEngage.setTags(”); function using commas between each tag.**
For instance, if you wanted to add a “tennis” tag for some pages of your German site and direct the chats to Jasmin who speaks German and knows everything about tennis, the function would become SnapEngage.setTags(‘german, tennis’), as shown below:
If you would like a few more examples, you can read more scenarios on how tags work for reactive chats here.
Published February 2, 2017