App a pagina singola
Tracciamento dell'utente
Il tracciamento del comportamento dell'utente nelle app a pagina singola può essere eseguito in modo simile al tracciamento generale dell'utente.
Devi semplicemente caricare lo script di tracciamento di Fanplayr:
https://cdn.fanplayr.com/client/production/loader.js
E poi attendere il caricamento di Fanplayr fornendo una funzione "fanplayr_ready":
window.fanplayr_ready = function (fanplayr, platform) {
// ...
};
Prima di chiamare direttamente il tracciamento come segue:
window.fanplayr.reinitialize(DATA);
Di seguito è riportato un esempio. Puoi usarlo sul tuo sito. Le chiamate di tracciamento sono presenti semplicemente come esempio di come funzionerebbe. Le prime due chiamate attenderebbero il caricamento di Fanplayr, e la terza verrebbe chiamata immediatamente (dato che Fanplayr dovrebbe caricarsi entro 2 secondi).
<script>
// Puoi usare questo codice sul tuo sito per memorizzare nella cache le chiamate a Fanplayr prima che sia caricato.
// Nota che "window.fanplayr_ready" dovrebbe essere definito prima di caricare il JS di Fanplayr
(function () {
var trackingCache = [];
var isReady = false;
// questo viene chiamato quando la piattaforma Fanplayr è pronta
window.fanplayr_ready = function (fanplayr, platform) {
isReady = true;
var i;
// traccia qualsiasi chiamata di tracciamento memorizzata nella cache
for (i = 0; i < trackingCache.length; i++) {
fanplayr.reinitialize(trackingCache[i]);
}
trackingCache = [];
};
window.fanplayr_track = function (data) {
if (isReady) {
// traccia
window.fanplayr.reinitialize(data);
} else {
// memorizza nella cache questa chiamata di tracciamento
trackingCache.push(data);
}
};
})();
</script>
<script>
// Questo blocco script è qui per dimostrare come funzionerebbe il tracciamento.
// Nota che i dati stessi sono validi per la chiamata ma non tracceranno nulla.
window.fanplayr_track({
data: {}
});
window.fanplayr_track({
data: {}
});
setTimeout(function () {
window.fanplayr_track({
data: {}
});
}, 2000);
</script>
<!-- Questo è lo script che devi includere DOPO aver impostato la funzione "window.fanplayr_ready" -->
<script src="https://cdn.fanplayr.com/client/production/loader.js"></script>
I dati sono nel formato seguente ed sono gli stessi che vengono impostati nel normale tracciamento delle pagine.
{
version: 3,
accountKey: '',
applyToCartUrl: '',
sessionOfferUrl: '',
data: {
lineItemCount: 0,
numItems: 0,
subTotal: 0.00,
total: 0.00,
discount: 0.00,
discountCode: '',
pageType: '',
categoryId: '',
categoryName: '',
productId: '',
productName: '',
productSku: '',
productPrice: 0.00,
productUrl: '',
productImage: '',
currency: '',
products : [
{
id: '',
sku: '',
price: 0.00,
qty: 1,
name: ''
}
],
cartAction: 'override'
},
custom_data: {
// ...
}
}
Tracciamento dell'ordine
Il tracciamento dell'ordine si basa sullo stesso script da caricare del tracciamento dell'utente. In un'app a pagina singola è probabile che questo sia già stato caricato.
Per impostare i dati per il tracciamento dell'ordine, devi solo impostare la variabile window.fp_sales_order
, includendo gli stessi dati del tracciamento generale dell'ordine.
window.fp_sales_orders = {
version: 3,
accountKey: '',
storeDomain: '',
data: {
orderId: '',
orderNumber: '',
subTotal: 0.0,
total: 0.0,
discount: 0.0,
discountCode: '',
shipping: 0.0,
tax: 0.0,
currency: '',
orderEmail: '',
firstName: '',
lastName: '',
customerEmail: '',
customerId: '',
products: [
{
id: '',
sku: '',
price: 0.0,
qty: 1,
name: ''
}
],
cartAction: 'override'
}
};
Puoi quindi tracciare l'ordine chiamando:
// traccia l'ordine usando i dettagli in fp_sales_order
window.fanplayr.platform.trackOrder();
// cancella lo stato attuale, nel caso in cui venga effettuato un altro ordine nella stessa sessione
window.fanplayr.platform.state.clear();