You can have the most wonderful dialplan builder in the world. If you don’t know how many people are taking each branch, though, you don’t know your system well enough. You can guess that X number of people are choosing an option because that’s how many people hit your queue. Are you sure that you’re not losing people while they’re listening to your audio prompt? How many callers might go missing without being noticed?
The obvious strategy on an Asterisk system is to have the user input something and track that value. It’s an approach that works if you require user input. If not, it’s more of a bother and potential source of error; now you have to handle invalid inputs, timeouts, etc..
Another approach is setting a value in a variable you choose at the end of the call. This can be useful if you are collecting data, and the settings and data you’re collecting can be easily mapped together. It’s important to make sure you start out with a default value, and change it when it’s meaningful. One survey builder mentioned that their completion rate approached 0%, so it was important to track which questions were actually answered when determining confidence in the results. You also want to know if the caller hung up immediately rather than in the middle of hearing your offer.
The Q-Suite visual dialplan builder tackles the problem head on, with the concept of tracking codes. These are simply freeform text entries that you supply. Every component in the dialplan builder can have one. Just enter the code that should get registered when that part of the diaplan is hit. You can specify unique codes for each component, or the same code for several. It’s all up to you.
Each time a code is registered, it’s entered into the database along with a unique identifier for the call and a timestamp.
On the reporting side, you can view all the codes for a particular code, or look at all the times a code was hit. Set your filters right, and you can report on how many times that part of the dialplan was hit in a day. If you’re troubleshooting a certain call, you can track its progress by viewing the tracking codes.
You can also use tracking codes for timing and frequency information. For instance, you can figure out how long it takes users to navigate your IVR and get into a queue, or see what percentage of calls go down a particular branch.
The Q-Suite dialplan builder also supports components in the hangup extension. This lets you do things like set a tracking code on calls that have fallen through and bypassed the queue, for instance. This gives you one more way to track “problem” calls.
When doing any sort of troubleshooting on your IVR, tracking codes should be used early and often.