Search by keyword, such as: divert, calls, chats …

Reactive chats – Routing by Tag

This article will explain how to use Routing by Tag. 

Routing by Tag is considered an advanced feature, only available on Enterprise Accounts. It enables routing of chats to the best suited agent based on speciality, language, skill-set and other factors. This feature setup requires configuration in the Moneypenny chat Admin Dashboard and can be used in conjunction with functions in your website code. 

Step 1: Enable the feature

Before we begin, remember that this is for reactive chats only. To allow the Routing by Tag feature you will need to log into your Admin Dashboard, select the widget you want to configure and go to Settings -> Agent Settings -> Chat Assignment -> Routing by Tag. In the below section you will be able to see there’s a checkbox labeled ‘Enable routing by tag’.

Before going into further detail about the setting up of tags, we’ll have a look into the two sub-options within this feature that are used to control what happens if there’s no available agents who have a tag matching that of the visitor. 

  • The ‘Route chats to available agents’ option. When this option is enabled, if a matching tag agent is not available then your visitor will be directed to chat with another agent even if they don’t have a matching tag. In these cases, chats will be assigned based on the ‘Agent Assignment Settings’ which have been configured just above the ‘Routing by Tag’ setting. 
  • The ‘Set chat to offline’ option. For this option if a matching tag agent is not available it will appear to web visitors that chat is not available on the website. This will include the floating button changing to it’s offline state and only having the offline form available. Something to remember is that this option requires using the Moneypenny chat JavaScript option that will be further discussed below. The agent will also need to have all of the tags set on the page in order to ‘match’. 

Once you’ve chosen your options make sure to click the ‘Save’ button!

Step 2: Assign Tags to agents

In order to assign chats to your agents, you will need to go to Settings -> Agent Settings -> Chat Agents. Press the ‘Edit’ button to the right of whichever agent you would like to configure and a box will come up where you can configure the settings for this agent. You will see the ‘Agents Tags:’ field at the bottom of the form:

You can also enter new tags and select from existing ones within this field. If you want to add a new tag, just type in the word you wish to use as a tag and hit enter (eg. ‘newtag’ above’). As soon as the agent has been configured with the appropriate tags you’ll need to press the ‘Save’ button. It’s at this point that the chat assignment will act like it did before having enabled the feature shown in step 1.

*Something to note, just like different agents can be configured with different tags, some agents might not be assigned any tags at all*

Step 3. Using the Tags

Now you’re able to use the tags you’ve added to route chats to your agents using the JavaScript API. This is now the point where you actually start altering the behaviour of how the chats are assigned. (This is for reactive chats only. If you wish to route by tag using proactive chat, you don’t need to enable the routing tag feature.) 

Assigning Visitor Tags via the JavaScript API

When using the JavaScript API you have two different options. To set these up you might need the assistance of your developers. When a website visitor starts a chat with you, the logic you/your developers built will assign tags. As the tags have been passed to the system, Moneypenny chat will therefore know which agents to direct the chat to.

It’s important to understand where the tags come from on the visitor side in order for your tag assignment to be set up accurately. This will depend on your logic, but here are the two most common scenarios:

  1. Visitor page information – Most websites have various pages including pricing, features, products etc, with many also having different sites for different languages. You can assign each page with one or multiple corresponding tags which could be used in your routing.
  2. User profile information –  For many websites you need to create or log in to an account before using the site. During this set up process, people are often asked to create a profile which includes personal details such as where they’re located, gender and age. This information is retrieved when the user signs in and can be used as tags.  

Option 1 – Moneypenny chat options: (this is required when using the offline option)

Start by creating a global MoneypennyChatOptions object to set the most appropriate tags. For example, if for step 2 we have assigned an agent a tag of ‘french’ to Jim. If we wanted to direct chats to that agent we would do the following:

This option can be used for visitors of certain levels, depending if they’re logged into your site, or specific locations. You can use different variable values from your pages to be tags, as long as at least one of your agents has those tags, we can toggle chat being off/online. For this example, say you collect the user’s country in a variable called ‘country’, you could then set a tag like the below:

To do multiple tags you will need to add commas between each tag, for example:

Option 2 – MoneypennyChat.setTags:

This option should be used when using routing by tag in combination with the Widget selector. Just remember that you can’t use the ‘Set chat offline’ option if you’re using this method. 

If you wish to use this option you will need to add the MoneypennyChat.setTags(), function code under the ” /* Place your Moneypennychat JS API code below */ ” part of your widget’s code snippet. For example, say Pam has been assigned with the ‘german’ tag. To direct these german chats to Pam to solve, you’ll need to add the ‘german’ tag in the function:


You could place this Moneypennychat.setTags(‘german’), function code on all pages of your German website but not your English site. Any chats initiated on your German website would therefore be directed to any agents who have the “german” tag.

*Note: To pass multiple tags to the Moneypennychat.setTags(“): you will need to use commas between each tag*

For example, if you needed to add a ‘tennis’ tag onto some of the pages on your German site and want to direct the chats to Sam who speaks German and knows everything about tennis, the function would become Moneypennychat.setTags(‘german, tennis’).

To determine the correct tags to set using the JavaScript API you will need to work with your website developer. 

We give you amazing people and technology:


Your own Moneypenny PA to answer calls exactly as if based in your office.

Discover >
Live Chat

Amazing people, briefed by you to manage chats whenever you can't.

Discover >
Pocket Phone System

All the functions and support of an office phone system, minus the hardware.

Discover >