Documentación Cliente Javascript
> Inicialización
Código de ejemplo que permite cargar el cliente JS asincrónicamente e implementa acciones dummy.
- Carga de pixel RT enviando un PageView para asignar un id de usuario (rtID).
- Se carga script que instala el cliente RT.
- window.rt cliente mismo que extiende Array.
- window.rtContent cliente de apis auxiliares.
// cargar cliente
(function(w,d,s,r,u,e,i,t,x) {
w[r] = w[r] || [];rt.push(["PageView"]);t = d.getElementsByTagName(s)[0];
for (i in e) {x = d.createElement(s);x.type = 'text/javascript';x.async = 1;
x.src = u + e[i] + '?t=' + new Date().getTime();t.parentNode.insertBefore(x, t);}})
(window, document, 'script', 'rt', 'https://pixel-dev.retargeting.cl/', ['pixel/dyn/client.js']);
// funciones básicas a implementar
window['UnderPrice'] = function(args) {
var sku = args[0];
var viewPrice = args[1];
var oldPrice = args[2];
var selector = args[3];
try {
//$(selector).hide();
} catch (e) {
console.error(e);
}
};
window['OverPrice'] = window['UnderPrice'];
> Reglas Generales de Tags
- Todos los parámetros son transformados a string en el lado del servidor.
- Para todos los comandos tienen las siguientes variables implícitas.
- rtID userId - ID de Usuario.
- rtS sessionId - ID Sesion Usuario (no se usa).
- rtV Version de protocolo.
- referal URL donde se ejecutó el comando.
> Tags disponibles
PageView
Registra una vista de página.
rt.push([ "PageView" ]);
Argumento | Tipo | Requerido | Descripción |
---|---|---|---|
PageView | LITERAL | Si | Identifica el comando |
CategoryView
Registra una vista de categoría.
rt.push([ "CategoryView", id ]);
//Ejemplo
rt.push([ "CategoryView", 12223 ]);
Argumento | Tipo | Requerido | Descripción |
---|---|---|---|
CategoryView | LITERAL | Si | Identifica el comando |
id | String | Si | Identificador principal de la categoría |
ProductView
Registra una vista de producto, si la vista es importante utilizar parámetro important.
rt.push([ "ProductView", sku, price, selector, important ]);
//Ejemplo
rt.push([ "ProductView", "100255966-1", 29990, "#product-100255966-1", true ]);
Argumento | Tipo | Requerido | Descripción |
---|---|---|---|
ProductView | LITERAL | Si | Identifica el comando |
sku | String | Si | Identificador principal o alternativo del producto |
price | Number | Si | Precio de visualización del producto |
selector | String | Si | Variable que se entrega a la función callback si hay problemas |
important | Boolean | No | Identifica si product view es importante o no |
ProductAdd
Agrega un producto al carro, el precio es opcional.
rt.push([ "ProductAdd", sku, price ]);
//Ejemplo
rt.push([ "ProductAdd", "100255966-1", 29990 ]);
Argumento | Tipo | Requerido | Descripción |
---|---|---|---|
ProductAdd | LITERAL | Si | Identifica el comando |
sku | String | Si | Identificador principal o alternativo del producto |
price | Number | No | Precio de visualizacion del producto |
ProductDel
Elimina un producto del carro.
rt.push([ "ProductDel", sku ]);
//Ejemplo
rt.push([ "ProductDel", "100255966-1" ]);
Argumento | Tipo | Requerido | Descripción |
---|---|---|---|
ProductDel | LITERAL | Si | Identifica el comando |
sku | String | Si | Identificador principal o alternativo del producto |
ProductClean
Limpia el carro.
rt.push([ "ProductClean" ]);
Argumento | Tipo | Requerido | Descripción |
---|---|---|---|
ProductClean | LITERAL | Si | Identifica el comando |
CartFailure
Registra una compra fallida. Se debe enviar cuando el pago es rechazado o la compra falla por algún motivo.
rt.push([ "CartFailure", total, sku... ]);
rt.push([ "CartFailure", total, "sku1", "sku...", "skuN" ]);
//Ejemplos
rt.push([ "CartFailure", 29990, "100255966-1"]);
rt.push([ "CartFailure", 89970, "100255966-1", "100255966-1", "100255966-1" ]);
Argumento | Tipo | Requerido | Descripción |
---|---|---|---|
CartFailure | LITERAL | Si | Identifica el comando |
total | Number | Si | Precio total del carro |
sku... | String | Si | Sku del producto, se puede repetir |
CartCheckoutSQP
Registra un intento de compra. Se debe enviar en cada paso del checkout.
rt.push([ "CartCheckoutSQP", step, total, sku1, qty1, price1 ]);
rt.push([ "CartCheckoutSQP", step, total, "sku1", "qty1", "price1", "sku...", "qty...", "price...", "skuN", "qtyN", "priceN" ]);
//Ejemplos
rt.push([ "CartCheckoutSQP", 1, 29990, "100255966-1", "1", "29990" ]);
rt.push([ "CartCheckoutSQP", 2, 89970, "100255966-1", "3", "29990" ]);
rt.push([ "CartCheckoutSQP", 3, 89970, "100255966-1", "1", "29990", "100255966-2", "1", "29990", "100255966-3", "1", "29990" ]);
Argumento | Tipo | Requerido | Descripción |
---|---|---|---|
CartCheckoutSQP | LITERAL | Si | Identifica el comando |
step | Number | Si | Paso del checkout del carro |
total | Number | Si | Precio total del carro |
sku... | String | Si | Sku del producto, se puede repetir |
qty... | String | Si | Cantidad del producto, se puede repetir |
price... | String | Si | Precio del producto, se puede repetir |
CartPurchaseSQP
Registra una compra exitosa. Se debe enviar cuando la compra es exitosa.
rt.push([ "CartPurchaseSQP", id, total, sku1, qty1, price1 ]);
rt.push([ "CartPurchaseSQP", id, total, "sku1", "qty1", "price1", "sku...", "qty...", "price...", "skuN", "qtyN", "priceN" ]);
//Ejemplos
rt.push([ "CartPurchaseSQP", 123123, 29990, "100255966-1", "1", "29990" ]);
rt.push([ "CartPurchaseSQP", 123124, 89970, "100255966-1", "3", "29990" ]);
rt.push([ "CartPurchaseSQP", 123125, 89970, "100255966-1", "1", "29990", "100255966-2", "1", "29990", "100255966-3", "1", "29990" ]);
Argumento | Tipo | Requerido | Descripción |
---|---|---|---|
CartPurchaseSQP | LITERAL | Si | Identifica el comando |
id | Number | Si | ID de transaccion |
total | Number | Si | Precio total del carro |
sku... | String | Si | Sku del producto, se puede repetir |
qty... | String | Si | Cantidad del producto, se puede repetir |
price... | String | Si | Precio del producto, se puede repetir |
UpdateUser
Actualiza la información de un usuario. Se debe enviar cada vez que el usuario entrega información de si mismo, especialmente las llaves importantes.
- Llaves importantes
- fname nombre del usuario
- lname apellido del usuario
- mail correo de contacto
- webpush ID webspush
rt.push([ "UpdateUser", (k, v)... ]);
rt.push([ "UpdateUser", "key1", "value1", "key...", "value...", "keyN", "valueN" ]);
//Ejemplos
rt.push([ "UpdateUser", "mail", "example@email.com" ]);
rt.push([ "UpdateUser", "mail", "example@email.com", "fname", "John", "lname", "Doe" ]);
Argumento | Tipo | Requerido | Descripción |
---|---|---|---|
CartPurchase | LITERAL | Si | Identifica el comando |
(k,v)... | String | Si | Llave y valor, se pueden repetir |