Skip to content

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":

javascript
window.fanplayr_ready = function (fanplayr, platform) {
  // ...
};

Prima di chiamare direttamente il tracciamento come segue:

javascript
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).

html
<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.

javascript
{
    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.

javascript
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:

javascript
// 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();