Skip to content

Tracciamento delle pagine

Traccia il comportamento dell'utente mentre naviga tra le pagine del tuo sito.

Template

Il seguente template di codice Javascript deve essere posizionato su tutte le pagine, eccetto la pagina di conferma dell'ordine.

html
<script>
  (function (d, w, s) {
    var f = (w.fanplayr = w.fanplayr || { _i: [] });
    f._i.push({
      version: 3,
      accountKey: '',
      applyToCartUrl: '',
      sessionOfferUrl: '',
      userConsentMode: false,
      // userConsentStatus: true
      // allowNegativeCurrencyAmounts: true
      data: {
        lineItemCount: 0,
        numItems: 0,
        gross: 0.0,
        discount: 0.0,
        discountCode: '',
        pageType: '',
        categoryId: '',
        categoryName: '',
        productId: '',
        productName: '',
        productSku: '',
        productPrice: 0.0,
        productUrl: '',
        productImage: '',
        currency: '',
        products: [
          {
            id: '',
            sku: '',
            price: 0.0,
            qty: 1,
            name: ''
          }
        ],
        cartAction: 'override',
        searchQuery: ''
      },
      custom_data: {
        // ...
      }
    });
    var js = d.createElement(s);
    var fjs = d.getElementsByTagName(s)[0];
    js.async = true;
    js.src = 'https://cdn.fanplayr.com/client/production/loader.js';
    fjs.parentNode.insertBefore(js, fjs);
  })(document, window, 'script');
</script>

Configurazione

version

  • Tipo: integer
  • Ambito: Tutte le pagine
  • Obbligatorio

Identificatore della versione del formato di tracciamento utilizzato dalla piattaforma Fanplayr. Deve essere impostato su 3.

accountKey

  • Tipo: string
  • Ambito: Tutte le pagine
  • Obbligatorio

Stringa univoca utilizzata per identificare il tuo account sulla piattaforma Fanplayr.

storeDomain

  • Tipo: string
  • Ambito: Tutte le pagine
  • Predefinito: Valore di window.location.hostname

Può essere utilizzato per sovrascrivere opzionalmente il dominio che Fanplayr associa alla sessione.

connect

  • Tipo: object
  • Ambito: Tutte le pagine
  • Predefinito: undefined

Il percorso della pagina lato server per Enhanced User Identification.

applyToCartUrl

  • Tipo: string
  • Ambito: Tutte le pagine
  • Predefinito: undefined

Se fornito, questo consentirà ai widget di Fanplayr di applicare i codici offerta direttamente al tuo carrello. Questo può aumentare la facilità con cui i tuoi visitatori si convertono in clienti paganti. Consulta la sezione Apply to Cart per maggiori dettagli.

sessionOfferUrl

  • Tipo: string
  • Ambito: Tutte le pagine
  • Predefinito: undefined

Se fornito, questo consentirà a Fanplayr di utilizzare il metodo di sicurezza Session Offer. Consulta la sezione Session Offers per maggiori dettagli.

allowOfferPrompt

  • Tipo: boolean | function
  • Ambito: Tutte le pagine
  • Predefinito: undefined

I widget Offer Flyout possono essere configurati per chiedere agli utenti di applicare le offerte raccolte al carrello forzando l'apertura del wallet quando nessuna offerta è stata applicata. Per impostazione predefinita, questa funzionalità viene attivata solo sulla pagina del carrello.

Questa opzione viene utilizzata per abilitare o disabilitare questa funzionalità per la pagina corrente (indipendentemente dal tipo di pagina). Se viene fornita una funzione, viene utilizzato il valore di ritorno.

Valori Possibili

  • true - Consente le richieste di offerta sulla pagina corrente, incluse le pagine non-carrello.
  • false - Disabilita le richieste di offerta sulla pagina corrente.

Indipendentemente dal valore, la funzione di richiesta di offerta verrà utilizzata solo se non è attualmente applicata alcuna offerta al carrello.

userConsentMode

  • Tipo: boolean
  • Ambito: Tutte le pagine
  • Predefinito: undefined

Determina se Fanplayr è tenuto a considerare il consenso dell'utente per memorizzare i suoi dati.

Si prega di consultare user-consent-for-data per i dettagli.

userConsentStatus

  • Tipo: boolean
  • Ambito: Tutte le pagine
  • Predefinito: undefined

Se userConsentMode è impostato su true, questo definirà se l'utente ha acconsentito alla memorizzazione dei suoi dati.

Si prega di consultare user-consent-for-data per i dettagli.

allowNegativeCurrencyAmounts

  • Tipo: boolean
  • Ambito: Tutte le pagine
  • Predefinito: false

Per impostazione predefinita, i valori negativi per le variabili di valuta non sono consentiti e vengono sempre convertiti nel loro valore assoluto positivo. Ad esempio, specificando -100.00 per gross verrebbe convertito in 100.00 (positivo).

Se desideri disabilitare questo comportamento e consentire il tracciamento di importi negativi di valuta (come il tracciamento di un totale carrello negativo), imposta allowNegativeCurrencyAmounts su true.

Questo comportamento influisce sulle seguenti variabili di tracciamento:

Variabili di tracciamento

Le seguenti variabili devono essere fornite nell'oggetto data. Esempio:

javascript
{
  version: 3,
  accountKey: '7e43c8cddccade2b95ee5286ba89758a',
  data: {
    lineItemCount: 2,
    numItems: 2,
    gross: 89.90,
    discount: 10.00
  }
}

lineItemCount

  • Tipo: integer
  • Ambito: Tutte le pagine
  • Obbligatorio

Il numero di prodotti unici attualmente aggiunti al carrello.

numItems

  • Tipo: integer
  • Ambito: Tutte le pagine
  • Obbligatorio

La quantità totale di tutti gli articoli aggiunti al carrello.

gross

  • Tipo: float
  • Ambito: Tutte le pagine
  • Obbligatorio

Il valore totale (nella valuta specificata) degli articoli attualmente nel carrello. Più specificamente, la somma totale degli articoli nel carrello prima di sconti, spedizione e tasse.

discount

  • Tipo: float
  • Ambito: Tutte le pagine
  • Obbligatorio

Questo è il valore totale degli sconti applicati al carrello. Ciò significa che sconti come la spedizione gratuita o gli sconti sulla spedizione non dovrebbero modificare questo valore.

discountCode

  • Tipo: string
  • Ambito: Tutte le pagine
  • Obbligatorio

Il codice sconto applicato al carrello (se presente). Se sono applicati più codici sconto, separarli con delle virgole.

pageType

  • Tipo: string
  • Ambito: Tutte le pagine
  • Obbligatorio

Il tipo della pagina corrente. I valori validi sono:

  • home – La homepage.
  • prod – Una pagina prodotto.
  • cat – Una pagina di categoria o una lista di prodotti.
  • srch – Una pagina di ricerca specifica o una pagina dei risultati di ricerca.
  • cart – La pagina del carrello.
  • checkout - Una pagina nel flusso di checkout, ma non la pagina di conferma dell'ordine.
  • blog - Una pagina di blog.
  • page – Qualsiasi altra pagina. Es. 'Chi siamo', 'Contatti' ecc.

currency

  • Tipo: string
  • Ambito: Tutte le pagine
  • Predefinito: "USD"

Il codice valuta ISO 4217 dei valori di prodotto e carrello tracciati.

brands

  • Tipo: string[]
  • Ambito: Pagine Home, Prodotto e Categoria

Un array di nomi di brand associati alla pagina corrente.

categories

  • Tipo: string[]
  • Ambito: Pagine Prodotto e Categoria
  • Obbligatorio

Un array di nomi di categorie associati alla pagina corrente.

categoryId

  • Tipo: string
  • Ambito: Pagine Prodotto e Categoria
  • Deprecato. Usa categories invece.

ID della categoria corrente. Questo dovrebbe essere specificato nelle pagine di categoria e prodotto.

categoryName

  • Tipo: string
  • Ambito: Pagine Prodotto e Categoria
  • Deprecato. Usa categories invece.

Nome della categoria corrente, se disponibile.

productId

  • Tipo: string
  • Ambito: Pagine Prodotto
  • Obbligatorio

Un singolo identificatore di prodotto univoco. Utilizzato per differenziare i prodotti nel carrello o nell'ordine.

Questo viene anche utilizzato per collegare le visualizzazioni delle singole pagine prodotto ai prodotti aggiunti al carrello. Vedi Product.id per maggiori informazioni.

productSku

  • Tipo: string
  • Ambito: Pagine Prodotto
  • Obbligatorio

Lo SKU del prodotto. Questo può essere lo stesso di productId, ma è anche reso disponibile come opzione di segmentazione.

productPrice

  • Tipo: float
  • Ambito: Pagine Prodotto
  • Obbligatorio

Il prezzo unitario del prodotto visibile all'utente.

Per i carrelli che implementano un prezzo base e un prezzo scontato/di vendita, usa il prezzo scontato se è il prezzo mostrato agli utenti quando aggiungono il prodotto al carrello.

productName

  • Tipo: string
  • Ambito: Pagine Prodotto
  • Obbligatorio

Il nome del prodotto attualmente visualizzato. Es. "Scarpe Rosse".

productUrl

  • Tipo: string
  • Ambito: Pagine Prodotto
  • Obbligatorio

URL della pagina che mostra i dettagli completi del prodotto. Questa proprietà dovrebbe essere utilizzata quando si traccia una "visualizzazione rapida" del prodotto in modo che l'URL effettivo della pagina del prodotto venga catturato correttamente.

productImage

  • Tipo: string
  • Ambito: Pagine Prodotto
  • Obbligatorio

URL dell'immagine del prodotto.

customerEmail

  • Tipo: string
  • Ambito: Tutte le pagine

L'indirizzo email dell'utente corrente.

customerId

  • Tipo: string
  • Ambito: Tutte le pagine
  • Deprecato

Questo è un identificatore dell'utente interno al tuo sito. Viene utilizzato per tracciare gli utenti nuovi e quelli ricorrenti.

Questa proprietà è deprecata ed è stata sostituita dalla funzionalità User Identity. Specifica l'identificatore di un utente loggato utilizzando l'identità speciale $user.

products

Un array di oggetti (o JSON) che rappresentano i prodotti attualmente nel carrello.

Vedi l'oggetto Product per maggiori dettagli sui valori da memorizzare in questo array.

cartAction

  • Tipo: CartAction
  • Ambito: Tutte le pagine
  • Predefinito: "override"

Questa è una variabile speciale che determina come Fanplayr tratterà i dati relativi al carrello per la chiamata di tracciamento corrente. Può essere utilizzata per riportare i dettagli del carrello (valore totale nel carrello, prodotti nel carrello, ecc.) dalla visualizzazione della pagina precedente se non sono disponibili per la chiamata di tracciamento corrente.

identities

Un oggetto mappa delle identità che ti consente di associare altre identità utente all'identificatore utente di Fanplayr per migliorare i segnali che Fanplayr utilizza per identificare gli utenti di ritorno. Consulta la documentazione Identity Management per maggiori dettagli.

searchQuery

  • Tipo: string
  • Ambito: Pagine di ricerca

Utilizzato per catturare eventuali termini di ricerca o query che l'utente ha inserito in una pagina dei risultati di ricerca sul sito web. Vedi la proprietà pageType.

Dati personalizzati

Se necessario, Fanplayr è in grado di catturare dati personalizzati mentre traccia il comportamento dell'utente sul tuo sito. Questi dati possono essere utilizzati per la segmentazione su dati non ancora supportati nativamente da Fanplayr.

Un esempio di utilizzo potrebbe essere il passaggio dello stato di "loggato" di un utente, informazioni di segmentazione interna o quale sia il negozio corrente (ad esempio usando Magento Enterprise).

Per utilizzare questa funzionalità, contatta Fanplayr in modo che possiamo aiutarti a configurarla.

javascript
{
  accountKey: '7e43c8cddccade2b95ee5286ba89758a',
  // ...
  custom_data: {
    is_logged_in: '1',
    internal_segment: 'general_user',
    store: 'french',
  }
}

Esempio

Il seguente esempio potrebbe essere utilizzato per tracciare:

  • Un utente che sta attualmente navigando nella pagina del prodotto "Scarpe Rosse"
  • Con due articoli già aggiunti al carrello:
    • Due tazze del valore di 10$ ciascuna
    • Una maglietta del valore di 45$
  • Un codice coupon, "WINTER5", che applica uno sconto di 5$ al carrello
html
<script>
  (function (d, w, s) {
    var f = (w.fanplayr = w.fanplayr || { _i: [] });
    f._i.push({
      version: 3,
      accountKey: '7e43c8cddccade2b95ee5286ba89758a',
      data: {
        lineItemCount: 2,
        numItems: 3,
        gross: 65.0,
        total: 60.0,
        discount: 5.0,
        couponCode: 'WINTER5',
        pageType: 'prod',
        categoryId: '45',
        categoryName: "Women's Shoes",
        productId: 'WRS001',
        productName: 'Red Shoes',
        productSku: 'WRS001',
        productPrice: 59.0,
        productUrl: 'https://example.com/women/shoes/001.html',
        productImage: 'https://example.com/images/products/WRS001.jpg',
        currency: 'USD',
        products: [
          {
            id: 'cup001',
            price: 10.0,
            qty: 2,
            name: 'Boring Old Cup'
          },
          {
            id: 'tshirt001',
            price: 45.0,
            qty: 1,
            name: 'Really Expensive T-Shirt'
          }
        ]
      }
    });
    var js = d.createElement(s);
    var fjs = d.getElementsByTagName(s)[0];
    js.async = true;
    js.src = 'https://cdn.fanplayr.com/client/production/loader.js';
    fjs.parentNode.insertBefore(js, fjs);
  })(document, window, 'script');
</script>

Siti Dinamici

Quando il codice di tracciamento sopra descritto è implementato correttamente, Fanplayr traccerà le pagine dopo il loro caricamento mentre un utente naviga nel sito web. Questo è sufficiente per la maggior parte dei siti, ma potrebbero essere necessari passaggi aggiuntivi per i siti che caricano contenuti dinamicamente.

Ad esempio, i siti che caricano i dettagli del prodotto in un overlay popup invece di reindirizzare l'utente a una nuova pagina, dovranno implementare un passaggio aggiuntivo per tracciare correttamente le visualizzazioni del prodotto.

Ulteriori visualizzazioni di pagina possono essere tracciate dinamicamente dopo che la visualizzazione iniziale della pagina è stata tracciata da Fanplayr, passando i dati di tracciamento al metodo fanplayr.reinitialize().

I dati di tracciamento seguono lo stesso formato dettagliato sopra. Tieni presente che tutte le proprietà obbligatorie devono essere presenti.

javascript
// This method is available after the fanplayr script has loaded.
fanplayr.reinitialize({
  type: 'st',
  accountKey: '7e43c8cddccade2b95ee5286ba89758a',
  data: {
    pageType: 'prod',
    productId: '56_b2',
    // Many required properties are omitted for brevity
    ...
  }
});