Saltar a contenido

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