Función avanzada: esta función se recomienda para usuarios avanzados y requiere codificación.
El widget de devolución de llamada es útil si vende entradas en su sitio web con el widget Universe y desea establecer acciones personalizadas (por ejemplo, redirigir a una página determinada) una vez que alguien compra una entrada. El widget de devolución de llamada es útil para hacer un seguimiento de sus conversiones a partir de la publicidad. Tenga en cuenta que, debido a diversos factores (bloqueadores de scripts, bloqueadores de anuncios, etc.), no se pueden rastrear todos los eventos y estos datos se le facilitan sin garantías.
Una función sencilla del widget de devolución de llamada que se utiliza con mayor frecuencia es la redirección automática a cualquier URL del sitio web.
Por ejemplo, los widgets de devolución de llamada se pueden utilizar para dirigir a los compradores a una página de agradecimiento o a cualquier URL de un sitio web, después de que el comprador adquiera una entrada en su sitio web. Para ello, debe tener jQuery instalado en su sitio web. Para utilizar jQuery de Google, añada el siguiente script a la cabecera de su página:
Para configurar los redireccionamientos automáticos, es necesario pegar el siguiente fragmento de código en el código fuente de la página de registro o debajo del script jQuery de la cabecera:
<script type="text/javascript">
document.addEventListener('unii:ticket:purchased', function (event) {
setTimeout(function() {
window.location.assign('THANK_YOU_PAGE_URL');
}, 10000);
}, false);
</script>
document.addEventListener('unii:ticket:purchased', function (event) {
setTimeout(function() {
window.location.assign('THANK_YOU_PAGE_URL');
}, 10000);
}, false);
</script>
Nota: sustituya 'THANK_YOU_PAGE_URL' por cualquier URL del sitio web a la que desee redirigir.
Nota: el '10000' del código anterior es el tiempo que se tardará en redirigir a las personas desde la pantalla de confirmación de la reserva de Universe a su página de agradecimiento. Puede ajustarlo para que sea más corto o más largo. Este número está en milisegundos, por lo que 10 000 son 10 segundos, 5000 son 5 segundos, y así sucesivamente.
Los usuarios más avanzados pueden personalizar la función del widget de devolución de llamada para que ejecute acciones más específicas.
Eventos
Los siguientes eventos JS se iniciarán en una página en la que se incluya embed.js con nuestro widget:
unii:closed
Se envía al documento cuando se cierra el widget emergente. No asume nada sobre el estado de la ventana emergente ni sobre la transacción del usuario.
unii:ticket:purchased
Se envía al documento inmediatamente una vez que la transacción se ha realizado con éxito. No asume que la ventana se ha cerrado.
unii:opened
Se envía al documento cuando se abre el widget emergente. Este evento se volverá a activar en caso de que la ventana emergente se cierre y se vuelva a abrir.
Se envía al documento cuando se cierra el widget emergente. No asume nada sobre el estado de la ventana emergente ni sobre la transacción del usuario.
unii:ticket:purchased
Se envía al documento inmediatamente una vez que la transacción se ha realizado con éxito. No asume que la ventana se ha cerrado.
unii:opened
Se envía al documento cuando se abre el widget emergente. Este evento se volverá a activar en caso de que la ventana emergente se cierre y se vuelva a abrir.
Consejo: estos eventos pueden escucharse. Por ejemplo:
document.addEventListener('unii:closed', function (event) { console.log('Window was closed'); }, false);
document.addEventListener('unii:ticket:purchased', function (event) {
console.log('Ticket was purchased');
}, false);
Si utiliza jQuery, lo siguiente funcionaría en las versiones >= 1.7:
$(document).on('unii:closed', function(event) {
console.log('Window was closed');
});
Para profundizar aún más, los usuarios avanzados pueden personalizar sus widgets de devolución de llamada e incluir información adicional después de que se compre la entrada y se cierre la ventana emergente para recopilar más datos.
Detalles del evento
unii:ticket:purchased es un caso especial en el que facilitamos información adicional. El argumento del evento tiene una propiedad de detalle que contiene los siguientes datos:
$(document).on('unii:ticket:purchased', function(event) {
console.log(event.detail);
});
El objeto event.detail tiene la siguiente estructura:
$(document).on('unii:ticket:purchased', function(event) {
console.log(event.detail);
});
El objeto event.detail tiene la siguiente estructura:
{
"commission": Number,
"credits_applied": Number,
"discount": Number,
"fee": Number,
"fulfillment": Number,
"subtotal": Number,
"payment": Number,
"price": Number,
"ticket_id": String,
"cost_items": [
{
"id": String,
"commission": Number,
"currency": Number,
"discount": Number,
"description": String,
"fee": Number,
"price": Number,
"rate_id": String
}
]
}
Nota: esto le permite conectar informes analíticos personalizados relativos a las conversiones por tipo de entrada, una página de recibo personalizada, etc.
Ejemplos
Si desea llamar a una función una vez que se ha comprado una entrada y se ha cerrado la ventana emergente, puede escuchar primero el evento de compra de la entrada y, después, añadir un receptor de eventos para el evento de cierre. De este modo, podrá ejecutar una función solo cuando se hayan producido ambas cosas:
document.addEventListener('unii:ticket:purchased', function (event) {
document.addEventListener('unii:closed', function (event) {
console.log("Ticket was purchased and window was closed")
}, false);
}, false);
}, false);
Otro ejemplo es el seguimiento de las compras de entradas a través de Google Analytics; después de configurar una métrica personalizada con un formato de «divisa» podría utilizar el siguiente código para realizar un seguimiento de las compras de entradas:
document.addEventListener('unii:ticket:purchased', function(event) {
if (ga) {
ga('send', 'event', 'category', 'action', {
// Sustituya 'metric1' por la ID de la métrica que creó para hacer el seguimiento de las compras de entradas.
'metric1': event.detail.fulfillment
});
}
}, false);
if (ga) {
ga('send', 'event', 'category', 'action', {
// Sustituya 'metric1' por la ID de la métrica que creó para hacer el seguimiento de las compras de entradas.
'metric1': event.detail.fulfillment
});
}
}, false);
Comentarios
0 comentarios
El artículo está cerrado para comentarios.