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.
<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:
{
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
- Tipo:
Array<Product>| string - Ambito: Tutte le pagine
- Predefinito:
[]
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
- Tipo:
IdentityMap - Ambito: Tutte le pagine
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.
{
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
<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.
// 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
...
}
});