El Collector Daemon es un servicio de sistema especializado que garantiza una estrecha interacción del sistema con los usuarios que se encuentran en su pagina web. Collector se instala fácilmente en la pagina web con un codigo de JavaScript, y permite:
-
vea en la interfaz del sistema cuál de sus clientes está actualmente en la pagina web
-
recopilar información de contacto de los usuarios en el momento en que abandonan la pagina web
-
conecte rápidamente los formularios de solicitud y comentarios de su pagina web al sistema
Inicialización
Coloque este código justo antes de la etiqueta de cierre </head>
<script type="text/javascript">
(function(_,r,e,t,a,i,l){_['retailCRMObject']=a;_[a]=_[a]||function(){(_[a].q=_[a].q||[]).push(arguments)};_[a].l=1*new Date();l=r.getElementsByTagName(e)[0];i=r.createElement(e);i.async=!0;i.src=t;l.parentNode.insertBefore(i,l)})(window,document,'script','https://collector.simla.com/w.js','_rc');
_rc('create', 'clade-de-la-pagina-web', {
customer: {
externalId: 'ID-del-cliente-en-la-pagina-web (customer.externalId el crm)'
}
});
_rc('send', 'pageView');
</script>
En la llamada _rc('create'...
, se inicializa el contexto. El parámetro requerido para esta llamada es la clave de la pagina web clave de la página web
, que se genera al activar la pagina web en la sección del sistema "Administración>Integración>Recopilador".
Si el usuario está registrado en la pagina, hay que pasar el identificador de usuario externo en la clave customer.externalId
(el identificador de cliente externo debe usarse como valor). Si el usuario no está registrado, no es necesario especificar la clave customer.externalId
.
También se puede establecer el identificador del cliente actual (customer.externalId) usando el siguiente método:
_rc('use', 'customer', { externalId: 'ID-del-cliente-en-el-sitio-web (customer.externalId en el crm)' })
Este método es útil, por ejemplo, para las páginas-web-SPA (single page application), cuando el Collector ya está integrado en la página. El visitante de la web entra sin realizar la registración - el Collector se conecta (se realiza la inicialización), pero con la llamada al método create
no se transfiere el identificador del cliente. En este caso este método soluciona el problema, transfiriendo el id del cliente, por ejemplo, inmediatamente después de que el cliente realice su registro en la página.
A continuación puede encontrar ejemplos de instalación de contadores.
También es posible rastrear el estado online del cliente en la pagina web. El seguimiento es posible tanto por el formulario de captura para los clientes que realizaron un pedido a través de él y tambien como por la etiqueta clientId, si hay una integración con Google Analytics en la pagina web y un módulo de integración CRM y GA configurado.
Además del indicador, hay un filtro por estado en línea en la lista de clientes.
El recopilador intenta identificar al cliente que llegó a la pagina web utilizando cualquiera de los siguientes parámetros:
-
ID de cliente en el sitio web
customer.externalId
'(si se especifica)' -
Etiqueta
_ga
Google Analytics -
Coleccionista de etiqueta propia
Conectando un formulario de captura
El formulario de captura determina que el usuario va a abandonar la pagina web y lo invita a dejar su información de contacto para recibir ofertas especiales, novedades, etc.
El formulario es un complemento, para cargar el módulo, use el comando require
.
_rc('require', 'capture-form');
De forma predeterminada, el formulario se mostrará al usuario una vez, independientemente de si finalmente dejó contactos o simplemente cerró el formulario. En el parámetro period
, puede especificar (en minutos) después de cuánto tiempo se volverá a mostrar el formulario al usuario:
_rc('require', 'capture-form', {
'period': 60 * 24 * 30 // mostrar en un mes
});
¡Importante!
El formulario no se mostrará al usuario autorizado en el sitio, es decir, si el parámetro
_rc('create'...
se especifica en el parámetrocustomer.externalId
.
De forma predeterminada, el formulario muestra los campos Nombre name
, Teléfono phone
, Correo electrónico email
. Puede personalizar la composición de los campos:
_rc('require', 'capture-form', {
'fields': {
'name': {},
'phone': { required: true, label: 'Phone' } // Se requiere el número de teléfono
}
});
También puede anular el texto de introducción y la etiqueta del botón:
_rc('require', 'capture-form', {
'fields': {
'phone': { required: true }
},
labelPromo: "¿Quieres que te llamemos?",
labelSend: "Llámame de nuevo"
});
Al inicializar o abrir un formulario, puede configurar los siguientes parámetros:
name
Nombre
email
Correo electrónico
phone
Teléfono
customerComment
Comentario de usuario
orderType
Tipo de pedido
orderMethod
Método de decoración
itemId
ID de producto en el sitio web
customSomeField
Campos personalizados
Los valores de los campos personalizados se especifican con el prefijo custom
, seguido del código camelСase del campo personalizado. Por ejemplo, el campo personalizado bonus_code
debe especificarse como customBonusCode
.
_rc('require', 'capture-form', {
orderMethod: 'online',
email: "user@example.net",
customTransactionId: "acde1625ab7"
});
Puede activar manualmente la visualización del formulario:
_rc('capture-form:show', {
'fields': ['phone']
});
Usando un formulario de captura personalizado
Puede reemplazar completamente el formulario que se utilizará para la interacción del usuario, para eso hay que pasar el parámetro form
durante la inicialización:
_rc('require', 'capture-form', {
form: {
show: function () {
// código que mostrará al usuario el formulario, por ejemplo:
// $('#my-cool-form').show();
},
hide: function () {
// código que cerrará el formulario, por ejemplo:
// $('#my-cool-form').hide();
}
}
});
También debe implementar el envío de datos usted mismo.
Enviar una solicitud
El demonio Collector le permite enviar solicitudes desde su pagina web al sistema sin tener que interactuar con la API completa del sistema. El envío se realiza llamando al _rc('send', 'order', {...})
.
_rc('send', 'order', {
'name': 'Victor',
'email': 'some-email@mail.es'
});
Al enviar, puede especificar los mismos parámetros que el formulario de captura.
A continuación se muestra un ejemplo de cómo enviar un formulario de comentarios al sistema.
Ejemplos
Código de ejemplo para inicializar el seguimiento en la página de destino
Así es como se verá el código de seguimiento cuando se instale en sitios sin una base de usuarios, por ejemplo, en una página de destino.
<script type="text/javascript">
(function(_,r,e,t,a,i,l){_['retailCRMObject']=a;_[a]=_[a]||function(){(_[a].q=_[a].q||[]).push(arguments)};_[a].l=1*new Date();l=r.getElementsByTagName(e)[0];i=r.createElement(e);i.async=!0;i.src=t;l.parentNode.insertBefore(i,l)})(window,document,'script','https://collector.retailcrm.pro/w.js','_rc');
_rc('create', 'RC-16632969589');
_rc('send', 'pageView');
</script>
Ejemplo de código de plantilla php para inicializar el seguimiento
El código de seguimiento será similar a este ejemplo para sitios web con una base personalizada, por ejemplo, cuando se instale en las páginas de una tienda online.
<script type="text/javascript">
(function(_,r,e,t,a,i,l){_['retailCRMObject']=a;_[a]=_[a]||function(){(_[a].q=_[a].q||[]).push(arguments)};_[a].l=1*new Date();l=r.getElementsByTagName(e)[0];i=r.createElement(e);i.async=!0;i.src=t;l.parentNode.insertBefore(i,l)})(window,document,'script','https://collector.retailcrm.pro/w.js','_rc');
<?php
$params = array();
if ($customer->isAuth()) {
$params['customer'] = [
'externalId' => $customer->getId(),
];
}
echo sprintf("_rc('create', 'RC-16632969589', %s);\n", json_encode((object) $params));
?>
_rc('send', 'pageView');
</script>
Un ejemplo de envío de una aplicación al sistema a través de js api
Digamos que hay una página de destino con un formulario de solicitud que está conectada a la red CPA. Necesitamos enviar un formulario al sistema con el ID de transacción de la red de CPA en el campo personalizado transaction_id
.
1) Iniciamos el campo personalizado transaction_id
.
2) Incluimos jQuery para la conveniencia de trabajar con el formulario de solicitud y el complemento jQuery para obtener los parámetros de URL:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script type="text/javascript" src="/jquery.url.js"></script>
3) Agregue el código de seguimiento del recopilador:
<script type="text/javascript">
(function(_,r,e,t,a,i,l){_['retailCRMObject']=a;_[a]=_[a]||function(){(_[a].q=_[a].q||[]).push(arguments)};_[a].l=1*new Date();l=r.getElementsByTagName(e)[0];i=r.createElement(e);i.async=!0;i.src=t;l.parentNode.insertBefore(i,l)})(window,document,'script','https://collector.retailcrm.pro/w.js','_rc');
_rc('create', 'RC-16632969589');
_rc('send', 'pageView');
</script>
4) Configure el envío del formulario. Al enviar una solicitud, le indicamos el método de registro "Formulario de Comentarios" feedback
. Después de enviar, notificamos al usuario sobre el resultado de enviar el formulario.
<script type="text/javascript">
$(function() {
$('#feedback-form').submit(function() {
_rc('send', 'order', {
'name': $(this).find('input[name=name]').val(),
'email': $(this).find('input[name=email]').val(),
'customTransactionId': url('?transaction_id'),
'orderMethod': 'feedback',
'callback': function(success, response) {
// notificar al usuario el resultado del envío del formulario
// en lugar de alert() Se puede mostrar un mensaje más fácil de entender
if (success) {
alert('¡Gracias, su solicitud ha sido aceptada! Su número: ' + response.id);
} else {
alert('Lo sentimos, no pudimos enviar la solicitud.');
}
}
});
return false;
})
})
</script>
¿Qué es response.id en Demon Collector?
response.id
en Demon Collector es externalId
un pedido en Simla.com.