1. Proceso de Sync de cookies de usuario
Note: En este documento, los subsecuentes pasos a realizar están ordenados numéricamente (1, 2, 3...). En cambio, diferentes alternativas para un mismo paso, se listan con letras (A, B, C ...).
El objetivo del proceso de sync es que Retargetly pueda cookiear al usuario y también intercambiar los ids de usuario con el Data Provider (desde ahora llamado partner). Este intercambio es el primer paso necesario para asociar data de segmentos a cada usuario, usando un ID para identificarlos. Existen dos opciones: usar el ID de Retargetly o usar el ID propio del partner. En el primer caso, una tabla de matching de ids deberá ser almacenada y mantenida por el partner, para poder traducir sus IDs propios a los de Retargetly, antes del proceso de ingesta. En cambio, si se utilizarán los IDs propios del partner, entonces la tabla de matching deberá ser hosteada por Retargetly, que también se encargará de la traducción de IDs.
1.A) Partner mantiene la tabla de matching
Si el partner mantiene la tabla de matching, esto significa que va a estar usando los Retargetly Web user ids para ingestar data en Retargetly. Entonces, va a necesitar conocerd dichos Ids para armar su match table. Existen dos posibles escenarios para esto.
1.A.A) Los sitios web del partner NO implementan el tag de web source de Retargetly
En este caso, el partner deberá instanciar y dropear el pixel de getuid de Retargetly, para que Retargetly pueda cookiear a los usuarios. Además, este pixel permite configurar una URL de redirección, para que el partner pueda obtener el ID de usuario de Retargetly y así popular su tabla de matching. La getuid URL de Retargetly es la siguiente:
https://api.retargetly.com/getuid?p={partnerId}&redirect={redirectURL}
- {partnerId} debe ser reemplazado con el id de partner asignado al partner por Retargetly.
- {redirectURL} es la URL a la cual el usuario será redirigido. Retargetly incluirá su ID de usuario en el request, reemplazando la macro: %rlid%.
Por ejemplo, si la URL de matching de usuarios del partner es https://data.partner.com/sync?userId={retargetlyUserId} (debe recibir el id de usuario a almacenar), entonces el parámetro {redirectURL} deberá ser la siguiente URL:
https://data.partner.com/sync?userId=%rlid%
Si el {partnerId} asignado por Retargetly para el partner es 123456, entonces el tag de imagen completo que el partner deberá dropear cuando un usuario accede a su sitio, es como sigue:
<img src="https://api.retargetly.com/getuid?p=123456&redirect=https%3A%2F%2Fdata.partner.com%2Fsync%3FuserId%3D%25rlid%25" alt="" width="0" height="0" />
1.A.B) Los sitios web del partner ya implementaron el tag de web source de Retargetly
Si los sitios web del partner ya implementan el tag de web source de Retargetly, esto significa que Retargetly ya esta cookieando a sus usuarios y generando un id para cada uno de ellos. Entonces, no es necesario implementar el pixel de getuid, dado que dichos ids pueden ser accedidos directamente desde el javascript del sitio. Para obtener el id de Retargetly para cada usuario de esta forma, el partner deberá incluir código javascript en sus páginas web. Las instrucciones a seguir para lograr esto, pueden ser encontradas aquí: Obtención de web cookie user id de Retargetly
1.B) Retargetly hostea la tabla de matching
Si el partner requiere que Retargetly hostee la tabla de matching, entonces el partner deberá informarnos sobre sus IDs de usuario. Existen dos maneras que pueden utilizarse para ello. La recomendada, es setear el script tag estándar de Retargetly y utilizarlo para informar el id de usuario. Una alternativa, es dropear directamente un img tag que contenga el id de usuario. Para estas dos alternativas, se debe habilitar una configuración adicional en la cuenta del partner, que debe ser realizada por el equipo de Ingeniería de Retargetly. Por favor, contactar a desk@retargetly.com para esto.
1.B.A) Implementando el script tag estándar de Retargetly
El partner deberá incluir el siguiente tag dentro de la sección del <body> de todas y cada una de las páginas dentro de su aplicación o sitio web. Este script tag incluye la biblioteca de Retargetly para distintas funciones que pueden ser ejecutadas (la documentación completa puede ser consultada aquí).
<script type="text/javascript"> var _rl_cn = _rl_cn || 0,_rl_ptc = ("https:" == window.location.protocol ? "https" : "http"); window._rl_ids = window._rl_ids || []; window._rely = window._rely || []; _rl_ids.push({pid: {partnerId}, src:0}); _rely.send = _rely.send?_rely.send: function() {}; (function() { var rl = document.createElement("script"); rl.type = "text/javascript"; rl.async = true; rl.src = _rl_ptc + "://api.retargetly.com/loader?id=" + _rl_ids[_rl_ids.length-1].pid; rl.id = "rely-api-"+(_rl_cn++); var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(rl, s); })(); </script>
La etiqueta {partnerId} que se encuentra en el script tag anterior, debe ser reemplazada por el identificador del partner asignado por Retargetly.
Este tag da la capacidad de reportar el id de cada usuario del partner a Retargetly. Para hacerlo, luego de incluir el tag, se deberá enviar el atributo "external_id" para el usuario actual, incluyendo otro script tag custom, justo después del tag estándar, como se muestra a continuación:
<script>
_rely.push({'external_id': {externalId}});
_rely.send();
</script>
{externalId} debe ser reempazado por el id de usuario del partner.
Por ejemplo, cuando un usuario con id "AcX24nm" está utilizando la aplicación o sitio web del partner con id 123456, entonces los script tags a incluir dentro del <body> serán los siguientes, reemplazando {externalId} y {partnerId} respectivamente por los valores correspondientes:
<script type="text/javascript"> var _rl_cn = _rl_cn || 0,_rl_ptc = ("https:" == window.location.protocol ? "https" : "http"); window._rl_ids = window._rl_ids || []; window._rely = window._rely || []; _rl_ids.push({pid: 123456, src:0}); _rely.send = _rely.send?_rely.send: function() {}; (function() { var rl = document.createElement("script"); rl.type = "text/javascript"; rl.async = true; rl.src = _rl_ptc + "://api.retargetly.com/loader?id=" + _rl_ids[_rl_ids.length-1].pid; rl.id = "rely-api-"+(_rl_cn++); var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(rl, s); })(); </script>
<script>
_rely.push({'external_id': 'AcX24nm'});
_rely.send();
</script>
Y eso es todo.
1.B.B) Implementando directo la sync URL de Retargetly.
Existe una alternativa para informarle a Retaretly el id usuario externo del partner: en vez de incluir los script tags anteriores, el partner puede incluir directamente un img tag con la URL de sync de Retargetly. La URL de sync es la siguiente:
https://api.retargetly.com/data?id={partnerId}&external_id={externalId}
- {externalId}. Como fue indicado anteriormente, esta etiqueta debe ser reemplazada por el id de usuario externo del partner.
- {partnerId}. Esta etiqueta debe ser reemplazada por el id de partner asignado por Retargetly.
Si {partnerId} es 123456 y el id que el partner tiene para el usuario entrando en su sitio web ({externalId}) es AcX24nm, entonces el img tag que deberá dropearse será el siguiente:
<img src="https://api.retargetly.com/data?id=123456&external_id=AcX24nm" alt="" />
Dicho <img> tag deberá dropearse al menos una vez por usuario dentro de la sección <body> del sitio o aplicación web. Es recomendable continuar dropeando dicho tag una vez al día o una vez por semana.