Skip to main content

Call Analytics

It has always been the goal of KooKoo to marry the web world with the telecom world. If you look at the web world, there are a host of services which analyze user behavior on websites and this helps in user retention, reducing bounce rates etc. But the same is lacking in the telecom world.

Wouldn't it be great if we could just use the web analytic engines and apply them to the telecom domain. That's exactly what we plan to do in this blog post. We will show you how you can link your KooKoo code with Mixpanel so that you can do call analytics using Mixpanel.

For our example, lets take a simple scenario. Let's say we are a deals site and we are providing deals on phone. Every day we offer 2 deals and we want to track. If the customers choose a deal, they can either buy directly or talk to an agent.

The code for this in KooKoo can be found at (Initial Code)

As you can see, this is plain vanilla KooKoo code which asks the user to select a deal and processes the selection.

To link this with Mixpanel, we will use their well defined APIs. For this example, we will be using the PHP library located here. Once we download the library and include it in our code, all we have to do is add the following line whenever we want to track an event. 

$metrics->track('event_name',array('name'=>'deal1','distinct_id'=>'9000655452'));

The track function takes an event name and an array of attributes related to the event. distinct_id is a special attribute which can be used to track repeat callers using Mixpanel.

So in our code we need to add the following lines:

//you will get the key after registering at mixpanel.
$metrics = new MetricsTracker("your_mixpanel_api_key");
//here, we are tracking that user 9000655452 called and he purchased deal1
$metrics->track('purchase',array('name'=>'deal1','distinct_id'=>'9000655452'));

The full code is given here (Final Code )

Once we add this and you start getting calls, your mixpanel dashboard starts filling up. For example, we get graphs as shown below: 


As you can see, currently we have got more calls for deal 1 than deal 2. This is just a starting step. In the next blog we will show how you can use funnels to track the call flow and see where your users are dropping off etc.

Popular posts from this blog

First Post

In this blog, I will be talking about my experiences in trying to build a cloud telephony platform , KooKoo . Along the way I will also be talking about different design choices I made, good programming practices and the IVR domain in general. For technoratti: NNFJW8EW86C3

Google's approach to business communication

 Google has been making silent moves in the business communication space. Google has mostly lost the instant messaging wars. But it does not want to lose the business communication war. WhatsApp, Instagram, Twitter and Facebook have been making their own moves to enable businesses to reach their customers through their channels. Its all about who has control over the communication channels. Especially communication which leads to business. That's where the money is. Currently, Google is the king of search and most online transactions start with a Google search. FB, Amazon, Apple and others want to change that. They want the search to start on their properties. And they have started making the moves. WhatsApp business allows small businesses to conduct their transactions on WhatsApp. FB and Instagram have long supported small businesses to manage their business on their channels. Apple has also made some nice moves with Apple business chat. They have integrated a whole shopping expe

Integrating Arborjs with Angular to create a live calls dashboard

Arborjs  is a cool graph visualization library. Angular  is one of the best JavaScript frameworks and we have been using Angular in a lot of our front end development. When you handle millions of calls, proper visualization becomes very important. Without proper visualization, you can get lost in the mountains of data. So we spend a lot of time to come up with good visualizations to represent the data. Since we loved the cool way in which Arbor represented graph data, we could not wait to hook it up with Angular. Because of Angular's two way data binding, when you hook up Angularjs with Arbor.js you can get a dynamically updated visualization of graph data with cool animations. To give back to the community, we have put up the code online at Github . Basically we have created an Angularjs directive for Arborjs. Please feel free to fork the code and add extensions and use it for your own visualizations. The code is self explanatory with comments inline. Best way to get s