Ampliación de Salesforce Marketing Cloud con actividades personalizadas sincronizadas con la API Ha sido salvado
Salesforce Marketing Cloud es la solución más avanzada de Salesforce para abordar el marketing omnicanal ofreciendo capacidades de email, push, SMS, web y publicidad en la misma solución. Permitiendo a los profesionales del marketing, la capacidad de generar mensajes relevantes en cada etapa del viaje del cliente y por el canal más adecuado. ¿Pero qué pasa si lo que la solución trae por defecto no es suficiente? ¿Qué pasa si queremos personalizar nuestra campaña no sólo de acuerdo con el seguimiento y el compromiso de sus suscriptores, sino con la información almacenada/generada en sistemas externos? ¿Podemos personalizar nuestros mensajes según las condiciones meteorológicas en tiempo real de nuestros subscriptores? ¿Podemos crear interacciones no sólo con Marketing Cloud sino con sistemas externos como Helpdesks, sistemas/programas de fidelización o proveedores de calificación crediticia? ¿Podemos tomar decisiones con información en tiempo real? Aquí es donde entran en juego las Actividades Personalizadas (custom activities).
¿Por dónde empiezo?
Marketing Cloud ofrece la oportunidad de mejorar la solución a través de "paquetes instalados" que permiten a los desarrolladores crear:
(Referencia de la imagen: Salesforce Marketing Cloud, Configuración de paquetes instalados)
En cualquier caso, vamos a centrar nuestra atención en la opción Journey Builder Activity que es la que nos permitirá ampliar las capacidades de Journey Builder de cuatro maneras diferentes:
(Referencia de la imagen: Salesforce Marketing Cloud, Configuración de paquetes instalados)
Independientemente del tipo de actividad personalizada que seleccionemos para desplegar, éstas se componen de 3 bloques básicos:
Podemos seguir el procedimiento descrito en esta documentación para configurar la estructura básica de la actividad personalizada, así como este videotutorial proporcionado por Salesforce.
Pero volviendo a la toma de decisiones en tiempo real dentro de Journey Builder, ¿te has preguntado alguna vez cómo recuperar información de un sistema externo y reaccionar a ello guiando a los suscriptores en diferentes caminos del Journey? Los eventos estándar de Postmonger en el activity.js permiten llamadas a la API ASYNC, pero ¿qué pasa si ASYNC no es suficiente? ¿Hay alguna manera? Claro. La clave para poder actuar sobre eventos en tiempo real en Journey builder reside en 2 elementos clave en el archivo Config.json y en el activity.js.
En primer lugar, debemos configurar los resultados, la ramificación del Journey builder, en función del mensaje recuperado del sistema externo. Este podría ser un ejemplo de dicha ramificación, en dos ramas, una para el mensaje de éxito y otra para el mensaje de error:
CONFIG.JSON
"outcomes": [
{
"arguments": {
"branchResult": "success"
},
"metaData": {
"label": "success"
}
},
{
"arguments": {
"branchResult": "error"
},
"metaData": {
"label": "error"
}
}
],
(Referencia de la imagen: Salesforce Marketing Cloud, Ejemplo de bifurcación de actividades personalizadas)
Los otros cambios radican en el archivo activity.js, donde se ejecuta la llamada real a la API y donde se recupera la respuesta y se deriva a las ramas previamente definidas. A continuación, hay un esquema de la estructura básica:
Activity.js
exports.execute = async function (req, res) {
[ … ]
const response = [[your api call function goes in here]]
if(response.toString().trim() == '000'){
return res.status(200).json({branchResult: "success"});
}
Else {
return res.status(200).json({branchResult: "error"})
}
}
Con todos estos elementos en su lugar, deberíamos de ser capaces de diseñar y crear Journeys de subscriptores teniendo en cuenta los eventos externos que ocurren en tiempo real para lograr una experiencia más atractiva para nuestros suscriptores.
Autor del artículo:
Specialist Lead