Seguimiento de páginas
Realiza un seguimiento del comportamiento del usuario a medida que navega por las páginas de su sitio.
Plantilla
La siguiente plantilla de código Javascript debe colocarse en todas las páginas, excepto la página de confirmación de pedido.
<script>
(function (d, w, s) {
var f = (w.fanplayr = w.fanplayr || { _i: [] });
f._i.push({
version: 3,
accountKey: '',
applyToCartUrl: '',
sessionOfferUrl: '',
userConsentMode: false,
// estadoDeConsentimientoDelUsuario: true
// permitirCantidadesMonetariasNegativas: 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>Configuración
version
- Tipo:
integer - Alcance: Todas las páginas
- Obligatorio
Identificador de versión del formato de seguimiento utilizado por la plataforma Fanplayr. Debe establecerse en 3.
accountKey
- Tipo:
string - Alcance: Todas las páginas
- Obligatorio
Cadena única utilizada para identificar su cuenta en la plataforma Fanplayr.
storeDomain
- Tipo:
string - Alcance: Todas las páginas
- Predeterminado: Valor de
window.location.hostname
Puede usarse para anular opcionalmente el dominio que Fanplayr asocia con la sesión.
connect
- Tipo:
object - Alcance: Todas las páginas
- Predeterminado:
undefined
La ruta a la página del lado del servidor para la Identificación de Usuario Mejorada.
applyToCartUrl
- Tipo:
string - Alcance: Todas las páginas
- Predeterminado:
undefined
Si se proporciona, esto permitirá que los widgets de Fanplayr apliquen códigos de oferta directamente a su carrito. Esto puede aumentar la facilidad con la que sus visitantes se convierten en clientes de pago. Consulte la sección Aplicar al carrito para obtener más detalles.
sessionOfferUrl
- Tipo:
string - Alcance: Todas las páginas
- Predeterminado:
undefined
Si se proporciona, esto permitirá a Fanplayr utilizar el método de seguridad de Ofertas de Sesión. Consulte la sección Ofertas de sesión para obtener más detalles.
allowOfferPrompt
- Tipo:
boolean | function - Alcance: Todas las páginas
- Predeterminado:
undefined
Los widgets de oferta desplegable pueden configurarse para solicitar a los usuarios que apliquen cualquier oferta recopilada al carrito, abriendo la billetera cuando no se ha aplicado ninguna oferta. Por defecto, esta función solo se activa en la página del carrito.
Esta opción se utiliza para habilitar o deshabilitar esta función para la página actual (independientemente del tipo de página). Si se proporciona una función, se utiliza el valor de retorno.
Valores Posibles
true- Permite avisos de ofertas en la página actual, incluidas las páginas que no son de carrito.false- Deshabilita los avisos de ofertas en la página actual.
Independientemente del valor, la función de aviso de oferta solo se utilizará si no hay ninguna oferta aplicada actualmente al carrito.
userConsentMode
- Tipo:
boolean - Alcance: Todas las páginas
- Predeterminado:
undefined
Determina si Fanplayr está obligado a considerar el consentimiento del usuario para almacenar sus datos.
Consulte consentimiento del usuario para los datos para obtener más detalles.
userConsentStatus
- Tipo:
boolean - Alcance: Todas las páginas
- Predeterminado:
undefined
Si userConsentMode se establece en true, esto definirá si el usuario ha dado su consentimiento para que sus datos sean almacenados.
Consulte consentimiento del usuario para los datos para obtener más detalles.
allowNegativeCurrencyAmounts
- Tipo:
boolean - Alcance:
Todas las páginas - Predeterminado:
false
Por defecto, los valores negativos para las variables de moneda no están permitidos y, en su lugar, siempre se convierten a su valor positivo absoluto. Por ejemplo, especificar -100.00 para gross se convertiría en 100.00 (positivo).
Si desea excluirse de este comportamiento y permitir que se rastreen cantidades de moneda negativas (como el seguimiento de un total de carrito negativo), establezca allowNegativeCurrencyAmounts en true.
Este comportamiento afecta a las siguientes variables de seguimiento:
Variables de seguimiento
Las siguientes variables deben proporcionarse en el objeto data. Ejemplo:
{
version: 3,
accountKey: '7e43c8cddccade2b95ee5286ba89758a',
data: {
lineItemCount: 2,
numItems: 2,
gross: 89.90,
discount: 10.00
}
}lineItemCount
- Tipo:
integer - Alcance: Todas las páginas
- Obligatorio
El número de productos únicos actualmente añadidos al carrito.
numItems
- Tipo:
integer - Alcance: Todas las páginas
- Obligatorio
La cantidad total de todos los artículos añadidos al carrito.
gross
- Tipo:
float - Alcance: Todas las páginas
- Obligatorio
El valor total (en la moneda especificada) de los artículos actualmente en el carrito. Más específicamente, la suma total de los artículos en el carrito antes de descuentos, envío e impuestos.
discount
- Tipo:
float - Alcance: Todas las páginas
- Obligatorio
Este es el valor total de los descuentos aplicados al carrito. Esto significa que los descuentos como el envío gratuito o los descuentos de envío no deben cambiar este valor.
discountCode
- Tipo:
string - Alcance: Todas las páginas
- Obligatorio
El código de descuento aplicado al carrito (si lo hay). Si se aplican varios códigos de descuento, sepárelos con comas.
pageType
- Tipo:
string - Alcance: Todas las páginas
- Obligatorio
El tipo de la página actual. Los valores válidos son:
home– La página de inicio.prod– Una página de producto.cat– Una página de categoría o lista de productos.srch– Una página de búsqueda específica o página de resultados de búsqueda.cart– La página del carrito de compras.checkout- Una página en el flujo de pago, pero no la página de confirmación de pedido.blog- Una página de blog.page– Cualquier otra página. Por ejemplo, 'Acerca de', 'Contacto', etc.
currency
- Tipo:
string - Alcance: Todas las páginas
- Predeterminado:
"USD"
El código de moneda ISO 4217 de los valores de producto y carrito que se están rastreando.
brands
- Tipo:
string[] - Alcance: Páginas de inicio, producto y categoría
Un array de nombres de marcas asociados con la página actual.
categories
- Tipo:
string[] - Alcance: Páginas de producto y categoría
- Obligatorio
Un array de nombres de categorías asociados con la página actual.
categoryId
- Tipo:
string - Alcance: Páginas de producto y categoría
- Obsoleto. Use categories en su lugar.
ID de la categoría actual. Esto debe especificarse en las páginas de categoría y de producto.
categoryName
- Tipo:
string - Alcance: Páginas de producto y categoría
- Obsoleto. Use categories en su lugar.
Nombre de la categoría actual si está disponible.
productId
- Tipo:
string - Alcance: Páginas de producto
- Obligatorio
Un identificador de producto único. Utilizado para diferenciar productos en el carrito o pedido.
Esto también se utiliza para vincular las vistas de páginas de productos individuales con el producto añadido al carrito. Consulte Product.id para obtener más información.
productSku
- Tipo:
string - Alcance: Páginas de producto
- Obligatorio
El SKU del producto. Esto puede ser lo mismo que productId, pero también está disponible como opción de segmentación.
productPrice
- Tipo:
float - Alcance: Páginas de producto
- Obligatorio
El precio unitario del producto visible para el usuario.
Para carritos que implementan un precio base y un precio con descuento/rebajado, utilice el precio con descuento si es el precio que se muestra a los usuarios cuando añaden el producto al carrito.
productName
- Tipo:
string - Alcance: Páginas de producto
- Obligatorio
El nombre del producto que se está navegando actualmente. Por ejemplo, "Zapatos Rojos".
productUrl
- Tipo:
string - Alcance: Páginas de producto
- Obligatorio
URL de la página que muestra los detalles completos del producto. Esta propiedad debe usarse al rastrear una "vista rápida" del producto para que la URL real de la página del producto se capture correctamente.
productImage
- Tipo:
string - Alcance: Páginas de producto
- Obligatorio
URL de la imagen del producto.
customerEmail
- Tipo:
string - Alcance: Todas las páginas
La dirección de correo electrónico del usuario actual.
customerId
- Tipo:
string - Alcance: Todas las páginas
- Obsoleto
Este es un identificador del usuario que es interno a su sitio. Se utiliza para rastrear usuarios nuevos y recurrentes.
Esta propiedad está obsoleta y ha sido reemplazada por la función Identidad de usuario. Especifique un identificador de usuario iniciado sesión utilizando la identidad especial $user.
products
- Tipo:
Array<Product>| string - Alcance: Todas las páginas
- Predeterminado:
[]
Un array de objetos (o JSON) que representan los productos que se encuentran actualmente en el carrito de compras.
Consulte el objeto Producto para obtener más detalles sobre los valores a almacenar en este array.
cartAction
- Tipo:
CartAction - Alcance: Todas las páginas
- Predeterminado:
"override"
Esta es una variable especial que determina cómo Fanplayr tratará los datos relacionados con el carrito para la llamada de seguimiento actual. Puede utilizarse para transferir los detalles del carrito (valor total en el carrito, productos en el carrito, etc.) de la vista de página anterior si no están disponibles para la llamada de seguimiento actual.
identities
- Tipo:
IdentityMap - Alcance: Todas las páginas
Un objeto de mapa de identidad que le permite asociar otras identidades de usuario con el propio identificador de usuario de Fanplayr para mejorar las señales que Fanplayr utiliza para identificar a los usuarios recurrentes. Consulte la documentación de Gestión de identidad para obtener más detalles.
searchQuery
- Tipo:
string - Alcance: Páginas de búsqueda
Utilizado para capturar cualquier término de búsqueda o consulta que el usuario haya introducido en una página de resultados de búsqueda del sitio web. Consulte la propiedad pageType.
Datos personalizados
Si es necesario, Fanplayr puede capturar datos personalizados mientras rastrea el comportamiento del usuario en su sitio. Estos datos pueden utilizarse para segmentar basándose en datos que Fanplayr no soporta de forma nativa.
Un ejemplo de uso sería pasar el estado de "sesión iniciada" de un usuario, información de segmentación interna o cuál es la tienda actual (por ejemplo, usando Magento Enterprise).
Para utilizar esta función, póngase en contacto con Fanplayr para que podamos ayudarle a configurarla.
{
accountKey: '7e43c8cddccade2b95ee5286ba89758a',
// ...
custom_data: {
is_logged_in: '1',
internal_segment: 'general_user',
store: 'french',
}
}Ejemplo
El siguiente ejemplo podría utilizarse para rastrear:
- Un usuario que actualmente está navegando por la página del producto "Zapatos Rojos"
- Con dos artículos ya añadidos a su carrito:
- Dos tazas con un valor de $10 cada una
- Una camiseta con un valor de $45
- Un código de cupón, "WINTER5", aplicando un descuento de $5 al carrito
<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>Sitios Dinámicos
Cuando el código de seguimiento anterior se implementa correctamente, Fanplayr rastreará las páginas después de que se carguen a medida que un usuario navega por el sitio web. Esto es suficiente para la mayoría de los sitios, pero pueden ser necesarios pasos adicionales para los sitios que cargan contenido dinámicamente.
Por ejemplo, en sitios que cargan los detalles del producto en una superposición emergente en lugar de redirigir al usuario a una nueva página, deberá implementar un paso adicional para rastrear correctamente las vistas de productos.
Se pueden rastrear vistas de página adicionales dinámicamente después de que Fanplayr haya rastreado la vista de página inicial, pasando los datos de seguimiento al método fanplayr.reinitialize().
Los datos de seguimiento siguen el mismo formato que se detalla anteriormente. Tenga en cuenta que todas las propiedades requeridas deben estar presentes.
// Este método está disponible después de que el script de fanplayr se haya cargado.
fanplayr.reinitialize({
type: 'st',
accountKey: '7e43c8cddccade2b95ee5286ba89758a',
data: {
pageType: 'prod',
productId: '56_b2',
// Muchas propiedades obligatorias se omiten por brevedad
...
}
});