Está en la página 1de 22

Documento de Diseo Funcional

Preparado para

It Sitio

Proyecto

Scoring y Triggers en CRM de IT Sitio


Preparado por
Alfredo Aristimuo

Tabla de Revisiones y Signoff


Registro de cambios
Fecha

Autor

Versin

Referencia de cambios

10/09/15

Alfredo Aristimuo

1.0

Creacin

10/10/15

Alfredo Aristimuo

1.1

Agregado de Triggers

13/10/15

Alfredo Aristimuo

2.0

Detalle de cmo crear procesos para los triggers

23/02/16

Alfredo Aristimuo

3.0

Agregado de funcionalidad mensaje web a inbox PHP

30/05/16

Alfredo Aristimuo

4.0

Agregado de funcionalidad de eventos web para


registrar lectura de notas en los portales

Visto del Cliente


Nombre

Aprobacin de
versin

Posicin

Fecha

Tabla de Contenido

Contenido
Registro de cambios.................................................................................................................................. 1
Tabla de Contenido ................................................................................................................................... 0
1 Introduccin ...................................................................................................................................... 1
Contexto actual ............................................................................................................................................... 1
Propsito ......................................................................................................................................................... 1
Audiencia ......................................................................................................................................................... 1
2 Justificacin ....................................................................................................................................... 2
Propsito: ........................................................................................................................................................ 2
Consideraciones: ............................................................................................................................................. 2
3 Planificacin ...................................................................................................................................... 3
Funcionalidades a implementar..................................................................................................................... 3
Planificacin: ................................................................................................................................................... 3
4 Proceso de Scoring con Triggers ........................................................................................................ 4
Interfaz (CRM) ................................................................................................................................... 4
Respuesta (CRM) .............................................................................................................................. 4
Contacto (CRM) ................................................................................................................................. 5
Campaa (CRM) ............................................................................................................................... 5
Puntaje Contacto (CRM).................................................................................................................... 5
Scoring Trigger (CRM)....................................................................................................................... 5
Scoring Trigger Log (CRM) ................................................................................................................ 5

Configuracin de Scoring .................................................................................................................. 7

Paso 1: Creacin de una nueva campaa ...................................................................................................... 7


Paso 2: Creamos los procesos que dispararn los triggers .......................................................................... 7
Paso 3: Configuracin de la nueva campaa .............................................................................................. 12
Paso 4: Establecemos los Triggers ............................................................................................................... 12
Paso 5: Activamos la campaa ..................................................................................................................... 13
Paso 6: Analizamos los resultados ............................................................................................................... 15
6 Conexiones ...................................................................................................................................... 16

Introduccin

Contexto actual
IT Sitio cuenta con portales de noticias tecnolgicas propios (uno por pas) y varios portales de
terceros que IT Sitio proporciona y gestiona. Para acceder a los portales se requiere estar registrado. Las
registraciones son procesadas manualmente para evitar duplicados.
Cuando un usuario se registra a un portal, adems de dejar sus datos y lo de la empresa para la
que trabaja, tambin puede suscribirse a newsletters.
La registracin de un usuario a un portal genera una solicitud de registracin que luego se
procesa en el CRM. En algunos portales se puede habilitar la funcionalidad de alta temprana que
permite que la registracin se active de forma inmediata (sin procesamiento manual).
En la actualidad los envos de email referentes a las registraciones a newletters se hacen desde la
plataforma iComMkt en la que se cuenta con perfiles sincronizados con Dynamics CRM. Desde iComMkt
se realizar la combinacin de los emails con la plantilla correspondiente, y se procede al envo.
Adicionalmente a lo que es el envo de los emails, tambin se cuenta con formularios de
registracin y encuestas en cada portal. Estos formularios provistos por 123ContactForm envan los
POST va Webhook URL a un servidor de IT Sitio que procesa dicho formulario y lo carga en las tablas de
AxConnect como registraciones y respuestas de perfil. Esto se sincroniza con el CRM cada 5 minutos.
Actualmente no se cuenta es con informacin de la campaa relacionada con este formulario
que llega al CRM, ni tampoco se pueden hacer acciones diferenciadas de acuerdo al score obtenido por
cada contacto.

Propsito
El propsito de este desarrollo es poder incorporar al CRM las siguientes funcionalidades:
Relacionar las registraciones/formularios con las campaas, como respuestas de campaa.
Determinar un sistema de scoring para poder calificar los contactos y su actividad.
En base al puntaje (score) alcanzado por cada contacto, se dispararn acciones (triggers).

Audiencia
Este documento est dirigido a personal tcnico de Global Comarca, previamente controlado y
aprobado por el cliente, en este caso IT Sitio.

Justificacin

Propsito:
Se desarrollaran las funcionalidades de gestin registraciones como respuestas de campaa y de
asignacin de puntaje (score) a las actividades realizadas por los usuarios de los portales (contactos en
CRM). Tambin se incorporar una serie de alertas que se generarn en forma automtica (triggers) de
acuerdo al puntaje alcanzado por cada contacto.

Consideraciones:
1. No se realizarn acciones que no estn descriptas en el presente documento.
2. La interfaz actual en AxConnect ser actualizada para incluir los campos de campaa y
puntos
3. Se intentar reutilizar la mayor cantidad de entidades del CRM como sea posible.
4. Los trigger (acciones automatizadas) se configurarn dentro del CRM.

Planificacin

Funcionalidades a implementar
La implementacin est planificada para hacerse en dos etapas:

Etapa 1: contempla el reconocimiento y asociacin de la respuesta a la campaa correspondiente,


adems del clculo de los puntos acumulados, y la configuracin de la campaa.
Etapa 2: se incluyen las acciones (triggers) en base a la cantidad de puntos acumulados por cada
contacto en una campaa dada.

Planificacin:

Proceso de Scoring con Triggers

A continuacin describiremos el proceso de Scoring incluyendo la funcionalidad de Triggers (acciones).

Interfaz
(AxConnect)

Respuesta
(CRM)

Campaa
(CRM)

Contacto
(CRM)

Puntaje Contacto
(CRM)

Scoring Trigger
(CRM)

Scoring Trigger Log


(CRM)

Contacto rellena
formulario web

Identificacin de respuesta

El AxConnect enva
la respuesta al CRM

Los datos de
la respuesta
llegan al
CRM

Si el contacto se
puede
identificar

Se asocia contacto a
respuesta y se
verifica si es
respuesta de
campaa

SI

NO

Queda en
espera de
asigancin de
contacto

Se asocia a campaa
y se verifica si suma
puntos

Si cumple con
reglas de scoring

Scoring

Scoring con Triggers

Los datos del


formulario llegan a
la tabla de intefaz
de respuestas

SI

Si es respuesta
de campaa

SI

Suma puntos al
contacto en ese
campaa

Verifica que triggers


debe aplicar y los
ejecuta

NO
Se indica el
error y no se
asocia con
campaa

Se recorren todas
las reglas y se
ejecutan workflows
definidos

Si ejecut
trigger

Graba Trigger Log

Trigger

Vuelve a
intentar
ejecutar
trigger

Interfaz (CRM)

El proceso inicia cuando desde uno de los sitios web se completa un formulario de Contact123.
Los datos de este formulario se envan al servidor de interfaces mediante llamadas tipo callback
WebHook. Es decir que el query string contiene todos los datos cargados en el formulario.
En el servidor de interfaces existe una aplicacin que recibe el WebHook y lo convierte en un
registro en la tabla de respuestas en la base de datos de interfaces (en este caso la base de datos se
llama itsitio)
El servicio de AxConnect (gestor de interfaces), lee los registros pendientes de ser transmitidos al
CRM de la tabla respuestas. Estos se registros se identifican porque estn con el valor 0 o
NULL en el campo ledo. Si el envo al CRM sale bien, el campo ledo pasa a valor 1. Si
sale mal, el campo ledo pasa a valor 2, en cuyo caso el AxConnect permanecer reintentando
una vez por da durante un mes.

Respuesta (CRM)

Los datos de la respuesta llegan al CRM


Si el contacto se puede identificar, se le asigna el contacto correspondiente
Si no se puede identificar el contacto, queda en espera hasta que se pueda identificar.

Contacto (CRM)

Una vez identificado el contacto en la respuesta de campaa, se lo asocia a dicha respuesta


Se verifica si texto en el campo cdigo de campaa (axx_campaign_codename) en la respuesta
corresponde con el cdigo de alguna campaa

Campaa (CRM)

Si corresponde a una campaa, se asocia esa respuesta con la campaa.


Si no corresponde a una campaa, se deja la respuesta sin asociacin. Los posibles motivos de no
asociacin con campaa pueden ser:
1. La campaa con ese cdigo no existe
2. Respuesta duplicada, cuando una respuesta para la misma pregunta y el mismo contacto ya
fue procesada en esa campaa
3. Pas errneo, cuando el pas no corresponde con los pases habilitados para la campaa
4. Fuera de fecha, cuando la fecha de la respuesta est entre la fecha de inicio y de fin de la
campaa

Puntaje Contacto (CRM)

Si la respuesta pudo ser asociada a la campaa, se procede a calcular los puntos de ese contacto en
esa campaa.
Los puntos se almacenan en un nuevo registro que se crea en la entidad axx_scoring_contact. Si el
registro ya existe, se actualiza.
Esta entidad es una relacin entre contacto y campaa, y contiene los puntos acumulados.

Scoring Trigger (CRM)

Luego se verifica qu trigger se deben aplicar, para eso se busca la configuracin de triggers en la
campaa.
De acuerdo a la cantidad de puntos se aplican diferentes triggers
Una vez ejecutado el trigger no se vuelve a ejecutar para la misma regla (configuracin scoring
trigger)
Si por algn motivo el trigger no se pudo ejecutar exitosamente, una vez por hora hay un proceso
que toma todos los registros scoring trigger que no se ejecutaron exitosamente y lo vuelve a
ejecutar. As por un mes.

Scoring Trigger Log (CRM)

Si se ejecut bien el trigger, se graba un registro en la entidad Scoring Trigger Log


(axx_scoring_trigger_log). Esto evita que se vuelva a ejecutar.

Mensaje Web (CRM)

Esta es una nueva actividad del tipo personalizada, que se ver como como el resto de las
actividades (email, tarea, etc). La particularidad es que al crear un registro se debe indicar la URL
del servicio.
Si se carga la actividad manualmente, URL se carga de forma automtica por medio de una regla
de negocio. En caso de querer cambiar la URL por defecto, hay que editar la URL que contiene la
regla de negocio llamada: Seteo inicial de variables para envo

En el caso de que se use un TRIGGER para enviar este mensaje web, se debe configurar la URL
correcta dentro del proceso. Tener en cuenta que al modificar la plantilla TRIGGER (Plantilla):
Envia mensaje web al contacto, solo se modificarn los nuevos procesos que se creen a partir de
dicha plantilla, no los ya creados.
Los TRIGGERS hay que modificarlos de forma individual, en el proceso que corresponda. Esto se
hace primero abriendo y desactivando el proceso, y luego modificando la accin de crear el
registro de Mensaje Web

Configuracin de Scoring

A continuacin se indicar el paso a paso de cmo configurar el proceso de scoring.

Paso 1: Creacin de una nueva campaa


Vamos a crear una nueva campaa con la que se relacionarn las respuestas y as se podr sumar el
puntaje. Para ello hay que ir Marketing -> Campaas

Luego pulsar el botn de nuevo:

Paso 2: Creamos los procesos que dispararn los triggers


Los procesos que se van a disparar en los trigger deben crearse con anterioridad a la configuracin de los
triggers dentro de la campaa. Para ello se han creado 3 plantillas de procesos relacionados a la entidad
trigger log. Estas plantillas son las que usaremos.
A continuacin mostraremos como se crean los procesos en base a las plantillas existentes. Hay que
tener en cuenta que en el futuro se pueden crear ms plantillas de procesos.

Primero vamos a men de procesos, seleccionando Configuracin -> Procesos:

Luego creamos un nuevo proceso:

Ahora creamos el proceso basado en uno de las plantillas que comienzan con la palabra TRIGGER. Lo
principal es que se tenga en cuenta que hay que seleccionar la entidad Scoring Trigger Log, tal y como se
muestra a continuacin.
Importante: si se selecciona cualquier otra entidad no se vern las plantillas, las mismas solo estn
relacionadas con la entidad Scoring Trigger Log.

Al momento de creacin de este documento, existen en el CRM estas plantillas de procesos:

Lo siguiente que veremos ser esta pantalla correspondiente al nuevo proceso, creado a partir de la
plantilla seleccionada:

Ahora podremos configurar por ejemplo lo que se ver en el contenido de la llamada telefnica. Ah por
ejemplo se puede configurar el speech que el operador deber seguir.

Una vez terminada la configuracin final, se proceder a guardar y luego activar el proceso.
Se recomienda que el nombre del proceso comience con la palabra TRIGGER as ser ms fcil su
localizacin en la lista de procesos disponibles para los triggers.

Al momento de creacin de este documento existen en el CRM estos procesos:

Paso 3: Configuracin de la nueva campaa


Es importante anotar el cdigo de campaa que pongamos, ya que ese ser el identificador que usar la
respuesta de campaa para identificarse como tal.
Tambin es muy importante establecer la fecha de vigencia prevista de la campaa, con su inicio
previsto y su finalizacin prevista

Paso 4: Establecemos los Triggers


Los triggers son las acciones que se realizarn cuando el score (puntaje) de cada contacto en esta
campaa llegue a un puntaje que est dentro de los valores de puntaje mximo y mnimo.
Para ello lo primero que hay que establecer son esos Triggers dentro de la campaa, con lo cual hay que
seleccionar el signo + que aparece encima de la grilla Scoring Triggers (Campaa). Ver imagen:

Luego, cuando aparezca el formulario rpido, cargamos los parmetros.


Un punto importante es que antes debemos tener creado el proceso que vamos a disparar cuando se
cumpla este Trigger. Hay que tener en cuenta que cada trigger solo se lanzar una nica vez para cada
usuario. Si por algn motivo no se logra ejecutar, existe un proceso que lo volver a intentar en un plazo
mximo de una hora.

En este ejemplo usamos un Trigger que dice plantilla, en el futuro evitar usar procesos tipo plantilla.
Luego de Guardar, se continan agregando tantos triggers como se requieran.
Esto se debe hacer para cada nueva campaa.

Paso 5: Activamos la campaa


La campaa debe estar activa para que las respuestas de perfil se identifiquen como respuesta de
campaa.
Una vez que tenemos tanto el cdigo de campaa, como sus fechas, la configuracin de pases y,
opcionalmente, los triggers; se puede proceder a activar la campaa.
Solo las campaas activas sumaran los puntos de las respuestas asociadas.
Para activar la campaa, cambiamos el detalle del estado a Lanzada.

Y le damos al botn de guardado o esperamos 30 segundos por el autoguardado.

Paso 6: Analizamos los resultados


Ahora que ya terminamos de configurar la campaa y la lanzamos vamos a comenzar a ver como
comienzan a llegar las respuestas de campaa. Dichas respuestas se comenzarn a ver en la grilla de
RESPUESTAS y de Puntaje de cada Contacto.
La primera mostrar todas las respuestas, y la segunda el total de puntos acumulados por cada contacto.

Dentro de la ficha del contacto podremos ver el puntaje alcanzado por ese contacto en cada campaa.

Conexiones

CRM de Testing: https://itsitiotest.crm.dynamics.com/main.aspx


CRM de Produccin: https://itsitio.crm.dynamics.com/main.aspx

Anexo 1: Eventos Web para Lectura de Notas

Se incluy en el CRM una nueva funcionalidad que contempla la registracin de eventos web en el CRM.
Estos eventos pueden ser de varios tipos, entre ellos est la lectura de notas por parte de los usuarios
de los portales.
Cada lectura genera un registro en la tabla LOGS de la base de datos ITSITIO del servidor
itsitiocrm.cloudapp.net
Esta es la estructura de la tabla que recibe los eventos de lectura de notas:
CREATE TABLE [dbo].[logs](
[idx] [numeric](18, 0) IDENTITY(1,1) NOT NULL,
[idusuario] [varchar](max) NULL,
[tipo] [varchar](20) NULL,
[idnota] [numeric](18, 0) NULL,
[nota] [varchar](255) NULL,
[tags] [varchar](255) NULL,
[fecha] [datetime] NULL,
[idcampania] [numeric](18, 0) NULL,
[puntos] [numeric](18, 0) NULL,
[Comunidades] [varchar](255) NULL,
[leido] [int] NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

Dnde:
[idx] es un ndice que autonumerico que conforma la clave nica generada para cada registro.
Hay que tener en cuenta que la clave real esta compuesta por idusuario + idnota + fecha.
[idusuario] este campo contiene el GUID del contacto en Dynamics CRM. Es decir que nos
permite determinar fcilmente qu contacto del CRM ha ledo la Nota.
[tipo] es el tipo de evento que lanza la web. En nuestro caso solo tomamos los del tipo post.
[idnota] es el id de la nota en el portal.
[nota] es el ttulo de la nota en el portal.
[tags] es una lista de Tags separados por comas. Estos son los tags que se asignaron a esa nota en
especfico.
[fecha] es la fecha exacta en la que el contacto abri la nota para su lectura.
[idcampania] es el cdigo de campaa que tiene esta campaa en CRM. No es un GUID, es una
cdigo alfanumrico de 32 caracteres.
[puntos] son los puntos que recibir este contacto en la campaa especificada por el hecho de
haber ledo la nota.
[Comunidades] es una lista de comunidades a las que afecta esta lectura de nota. En CRM estas
comunidades se pueden asimilar a las newsletters.
[leido] este es un campo agregado para que el AxConnect pueda establecer si el registro ha sido
procesado (enviado a CRM) o si dio error.
o Si el valor que tiene es null o 0, significa que no ha sido procesado
o Si el valor que tiene es 1, significa que ha sido procesado exitosamente
o Si el valor que tiene es 2, significa que ha dada un error. Los errores se pueden ver en el
archivo correspondiente del log de errores de AxConnect
Es importante aclarar que solo se tomar una registro por cada combinacin id de usuario + id de nota
La fecha de referencia siempre ser la menor.

Al momento de cambiar el valor del campo ledo, el AxConnect proceder a actualizar todos los registros
que respondan a la combinacin id de usuario + id de nota que se ha procesado.
Esta es la consulta que ejecutar el AxConnect para la interfaz de Notas:
SELECT TOP(1000)
(SELECT TOP 1 idx FROM [itsitio].[dbo].[logs] WHERE idusuario = A.idusuario AND idnota = A.idnota) AS clave,
REPLACE(REPLACE(idusuario,'{',''),'}','') AS idusuario,
CAST(idnota AS varchar(100)) AS idnota,
nota,
tags,
CONVERT(varchar,min(fecha), 120) as fechamin,
CAST(idcampania as varchar(100)) AS idcampania,
puntos,
REPLACE(ISNULL([Comunidades],''),'|',', ') as comunidades,
min(leido) as leido,
count(*) as cantidad
FROM [itsitio].[dbo].[logs] A
WHERE LEN(idusuario) BETWEEN 36 and 38
AND tipo = 'post'
AND isnull([leido], 0) <> 1
GROUP BY idusuario, idnota, nota, tags,idcampania, puntos, [Comunidades]
ORDER BY min(fecha), idnota

Esto tambin establece que se tomarn, cada 5 minutos, un mximo de 1000 lecturas de notas para su
procesamiento.
Desde el CRM cada lectura de Nota se ver como una actividad tipo evento web completada:

Como cada actividad puede estar referida a una Campaa y acumular puntos en la misma, si se identifica
la campaa se crear un registro de tipo Respuesta asociado a este evento web.

El registro de tipo Respuesta deber cumplir los mismos requisitos que las otras respuestas para que
pueda sumar puntos.
Estos requisitos para sumar puntos en la campaa son:
Que se encuentre una campaa activa para ese cdigo de campaa
Que el estado de la campaa sea Lanzada
Que la fecha de la respuesta (en este caso, la lectura de una nota), est contemplada dentro del
rango de fechas de la campaa (fecha de inicio y fecha de fin reales)
A continuacin repasamos en forma esquemtica el proceso

Web

AxConnect

CRM

Se produce la apertura de la pagina web de la nota por parte del contacto que recibi un link especifico.
Este evento se registra en la tabla LOGS de la base de datos ItSitio que es la que lee el AxConnect

El AxConnect va a buscar las ltimas 1000 lecturas sin procesar, agrupandolas por id de usuario y id de nota.
La fecha que se tiene en cuenta es la mnima por cada combinacin de id de usuario y id de nota
Las lecturas se envan a CRM como eventos web del tipo lectura de notas.

Los eventos web del tipo lectura de notas son actividades asociadas a contactos.
Usando el id de campaa se trata de asociar una campaa existente mediante el campo cdigo de campaa.
Si pudo asociarse una campaa, tambin se crea un registro del tipo respuesta indicando que viene de un registro
tipo evento web y poniendo los puntos que se indican.
Solo las respuestas que cumplan las reglas de scoring sern las que sumarn puntos.

También podría gustarte