Por qué no entran registros en Journey Builder desde Salesforce Cloud

Temática 

SF Marketing Cloud

Journey Builder cuenta con un objecto de Salesforce Data que monitoriza la creación/actualización de registros en Sales Cloud de diferentes objetos. Este objeto siempre requiere una relación con contacto y/o lead para poder inyectar sus registros en un journey.  

A pesar de que se realice una actualización de un registro existente en Sales Cloud o se genere un nuevo registro, puede que la inyección no funcione por diversos motivos. 

Por qué entran registros en Journey Builder desde Salesforce

Posibles circunstancias que generen este problema

A continuación, las enumeramos:

¿Qué versión de Marketing Cloud Connect se está utilizando? 

Para conectar ambas plataformas se utiliza un paquete oficial de Salesforce del appExchange. La forma más efectiva de evitar problemas conocidos es mantenerse al día con la versión más reciente del Paquete Instalado. Para verificar tu versión, haz clic en «Setup” en Sales Cloud y luego dirígete a Installed Packages. El paquete se identifica como ‘Marketing Cloud’. Verifica que usas la última versión y, si no es así, actualízala. 

Por qué entran registros en Journey Builder desde Salesforce

¿Mi usuario de API de Marketing Cloud tiene acceso al Objeto/Registros que se están actualizando/creando? 

Dado que el usuario de API de Marketing Cloud se utiliza para mantener la integración entre Sales Cloud y Marketing Cloud, este usuario debe tener acceso a cualquier registro que se pretenda inyectar en Journey Builder mediante la integración.  

Esto se logra integrando el usuario de API de Marketing Cloud con un Usuario de Salesforce (generalmente, el Usuario de Sistema de Salesforce dedicado que tiene los permisos apropiados para cada objeto).  

La forma más sencilla de tener acceso generalizado y evitar este tipo de incidencias es usar un profile de system administrator para este Usuario. 

Cuidado con añadir un campo timestamp en la Data Extension de entrada y no marcarlo como NULLABLE aunque le asignes un default value

Hay un problema muy básico que te puede ocurrir, nosotros tenemos la manía de poner en la Data Extension de entrada del Journey con Salesforce Data un campo que es un campo fecha en el que grabamos el momento de entrada del registro, para alimentar ese campo usamos un tipo DATE y como Default Value: Use Current Date y aquí viene lo IMPORTANTE, si no marcas la opción de NULLABLE, no te entrarán  registros. ¿Por qué? de Salesforce no viene este campo y lo estás poniendo como requerido, por lo que rechaza el registro, el motivo es que este campo se rellena posteriormente a la entrada del registro, en resumen, que entra en una paradoja sin solución, en resumen, marca NULLABLE a true, y solucionado.

Asegúrate de que los puntos finales OAuth específicos del «tenant” estén habilitados en tu organización de Salesforce

Para obtener más detalles, consulta Habilitar endpoints O Auth específicos para Marketing Cloud Connect

¿Los registros pueden ser inyectados bajo el Criterio de Entrada más simple, sin aplicar Criterios de Objetos Relacionados? 

En algunos casos, el Criterio de Entrada puede ser demasiado restrictivo o incluir dos filtros que se contradicen entre sí. Por ejemplo, si el Objeto Primario está configurado como Lead y el Criterio de Entrada se configura para inyectar una vez que ‘Lead:Estado’ se actualice a [‘Pendiente’ Y ‘Cerrado’], estos dos criterios no permitirían la inyección de registros. Dado que el ‘Estado’ de un Lead solo puede ser uno u otro, si reemplazas el Y con un operador OR, aumentarás las posibilidades de una inyección exitosa. 

Si los criterios requeridos para tu despliegue en vivo son robustos e incluyen muchos filtros, pero la inyección no se ha llevado a cabo después de actualizar o crear un registro, intenta eliminar todos los Criterios excepto uno solo. Una vez que la inyección sea exitosa a través del filtro único, trabaja gradualmente hacia un filtro más complejo. Esta práctica identificará explícitamente los filtros problemáticos.  

Si el volumen de registros que se va a generar no es muy voluminoso, una opción simple es poner muy pocos criterios de filtrado, y luego usar una SQL QUERY para filtrar e inyectar de nuevo en Journey Builder los registros para su gestión, es decir, hacer un journey para que simplemente entren los datos (se puede poner como acción un simple random Split para que te acepte guardar el journey) y luego inyectar en otro journey a través de una SQL query que filtre los datos. 

¿La acción ‘Actualizar/Crear’ se completa mediante un envío de formulario o un proceso separado? 

Verifica que el registro ‘Actualizar/Crear’ contenga los datos requeridos para satisfacer el Criterio de Entrada después de que el proceso se haya completado.  

En algunos casos, el proceso separado actualizará/creará un registro con solo una parte de los datos necesarios, y se necesita un proceso adicional para completar el registro. 

Ejemplo de configuración de un Data Entry de Salesforce Data y sus posibles incidencias 

  • Objeto que vamos a usar: Opportunity
  • Quién: LeadID (Lead)
  • Acción: Actualizado
  • Criterio: ‘Opportunity:Lead:Nombre’ igual a ‘Thomas’ Y (‘Opportunity:Estado’ igual a ‘Ganado’ u ‘Opportunity:Estado’ igual a ‘Pendiente’)

El tipo de acción ‘Update’ solo inyecta registros que cumplen con el Criterio de Entrada una vez evaluado. 

  • Creamos una Opportunity vinculada a un Lead para Thomas Cook, con Estado = ‘Pendiente’. Esto no dispara la inyección porque la ‘Acción’ está configurada como Actualizar y los registros creados no se evalúan. 
  • Más tarde, actualizamos la Opportunity para Thomas Cook, estableciendo el Estado a ‘Ganado’. Esto tampoco dispara la inyección porque el registro ya cumplía con el criterio antes de la actualización, y solo los registros que cumplen con el criterio de manera nueva son inyectados por el tipo de acción ‘Actualizar’.

Siguiendo con la misma configuración de Evento de Entrada y nuestro Lead, Thomas Cook.

En este escenario, queremos que Thomas se inyecte en nuestro Journey dos veces. Una vez cuando su Estado de Opportunity es ‘Pendiente’ y luego una segunda vez cuando se actualiza a ‘Ganado’.

Creamos una Opportunity para Thomas y el estado es ‘En espera’. Esto no dispara la inyección. Pasan algunos días y ahora el registro de Opportunity se actualiza a ‘Pendiente’. Thomas ahora se inyecta en el Journey. Nuestro equipo continúa trabajando en ganar la Opportunity y eventualmente lo logran.

El Estado de Opportunity ahora cambia a ‘Ganado’. La inyección no se lleva a cabo. Nuestro requisito crucial para que ‘Actualizar’ dispare la inyección es que el registro no tuviera los criterios de entrada y luego sí los tenga, y esto no sucedió. Nuestra Opportunity tenía un Estado de ‘Pendiente’ y luego se actualizó a ‘Ganado’. Ambos son criterios válidos de entrada, por lo que el sistema no registra esto como una actualización.

Dentro de los Criterios de Entrada, cada componente del filtro se puede considerar agrupado en un solo filtro. Enviar un registro contra este filtro devuelve un 1 (verdadero) o 0 (falso). Si el registro cumple, se envía un 1. Si el registro se actualiza de manera que continúa cumpliendo, se envía un 1. Para que la actualización satisfaga la Acción de Criterio de Entrada de ‘Actualizar’, se debe pasar un 0 entre cada 1. Si necesitas que estas actualizaciones resulten en múltiples inyecciones, podrías crear dos Journeys, uno para el Estado de Opportunity ‘Ganado’ y un segundo para el Estado de Opportunity ‘Pendiente’.

eBook Ecosistema de datos en Salesforce Marketing Cloud

Esperamos que todas estas pistas te ayuden a identificar el porqué no te entra algún registro en tu Journey.


Si te ha gustado este artículo, también te interesarán:

Últimas entradas
Suscríbete a nuestra newsletter

Post relacionados de SF Marketing Cloud que pueden ser de tu interés