I've decided to add tracking & chat to my blog here, partially as an excercise in how to do it and also for vanity purposes... although the small number of human visitors is always a disappointment! 
In the WhosOn client, generate the tracking code. It will look like this: 
<script type='text/javascript' src='http://{your-gateway}/include.js?domain={your-domain}'></script><script type='text/javascript' >if(typeof sWOTrackPage=='function')sWOTrackPage();</script>
Add an HTML/Javascript Gadget to the bottom of your blog Layout, and paste this code into it.
Then, you can add another Gadget to show the chat link - I put a new HTML/Javascript Gadget on the left hand side, and put in:
<a id='whoson_chat_link'></a>
The WhosOn code dynamically replaces this link with the correct image (online / offline).
If you only want to track, then you can generate the tracking only code through the client - you don't need to put the anchor in the left if you do this.
Friday, 17 April 2009
Wednesday, 15 April 2009
WhosOn V5 - Scripts
WhosOn Version 5 (http://www.whoson.com/v5whatsnew.aspx) has some great new features for users who want more advanced chat distribution among their agents.
We've used a VBScript compatible engine, which allows the script to access the data about the visitor (IP, Geo-Location, #Visits etc) and any pre-chat survey information that has been filled in, and use this to route the chat to the correct operator, send some automatic text, or cancel / block the chatter.
This means dynamic rules can be used to find existing customers, and pass through to the right sales person based on a database query, or just get the lead to the correct person immediately, rather than having to do a manual transfer after the event.
I'm working with some of our customers to provide the custom logic for what they need - here is the first example I have worked on:
Sub Main()
    ' commands start here
    CancelChatRequest = False
    Dim ticket As String
    Dim tr As String
    Dim p As Integer
    tr = ThisChatSession.PreChatSurvey
    p = InStr(1, LCase(tr), "ticket ")
    If p > 0 Then
        p = InStr(p, tr, "") + 7 
        ticket = Left(Mid(tr, p), InStr(p, tr, "") - p)
        AddToLog("Ticket: "  & ticket)
        Dim conn As New ADODB.Connection
        Dim adors As New ADODB.Recordset
        conn.ConnectionString = "DSN=Tickets;"
        conn.Open
        Set adors.ActiveConnection = conn
        With adors
            .Open("SELECT * FROM Tickets WHERE TicketNo = '" & ticket & "'")
            If Not .EOF Then
                Dim op As String
                op = LCase(.Fields("Operator"))
                ' check if operator is online
                For p = 0 To OperatorsConnectedCount - 1
                    If op = LCase(Operator(p).Name) And Operator(p).CurrentStatus <>
                        ' if operator is online or busy, send this chat to them
                        SendChatRequestToOperators = op
                        SendMessageToVisitor = "You are being connected to the assigned user for this issue - " & op
                        AddToLog("Script: Operator for issue online: " & op)
                        p = OperatorsConnectedCount
                    End If
                Next p
                If Not Len(SendChatRequestToOperators) > 0 Then
                    SendMessageToVisitor = "The operator (" & op & ") assigned to this issue is not online - transfering to Support"
                    AddToLog("Script: Operator for issue not online: " & op)
                    SendChatRequestToDepartments = "Support"
                End If
            Else
                SendMessageToVisitor = "The ticket number was not found - transfering to Support"
                AddToLog("Script: The ticket number was not found")
                SendChatRequestToDepartments = "Support"
            End If
            .Close
        End With
        Set adors = Nothing
        conn.Close
        Set conn = Nothing
    Else
        SendChatRequestToDepartments = "Support"
    End If
End Sub
Subscribe to:
Comments (Atom)