Seguimiento de pedidos
Rastrea los pedidos realizados en su sitio.
Fanplayr puede rastrear fácilmente las conversiones realizadas en su tienda de eCommerce, lo que, junto con nuestro seguimiento del comportamiento del usuario, puede utilizarse para analizar su tienda e identificar oportunidades para mejorar su negocio mediante la segmentación de perfiles de clientes que no realizan conversiones.
Plantilla de Código de Seguimiento
La siguiente plantilla de código Javascript debe colocarse en la página de confirmación del pedido para rastrear las conversiones. Esta debe ser la página que los clientes ven después de que el proceso de pedido se ha completado. Por ejemplo, puede ser una página a la que sus clientes regresan después de un sistema de pago externo como PayPal.
<!-- inicio Seguimiento de Conversiones de Fanplayr -->
<script>
(function (d, w, s) {
if (!w.fp_sales_orders) {
w.fp_sales_orders = {
version: 3,
accountKey: '',
storeDomain: '',
userConsentMode: false,
// userConsentStatus: true
// allowNegativeCurrencyAmounts: true
data: {
orderId: '',
orderNumber: '',
gross: 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',
custom_data: {
// ...
}
}
};
var js = d.createElement(s);
var fjs = d.getElementsByTagName(s)[0];
js.async = true;
js.src = 'https://cdn.fanplayr.com/client/production/fp_custom_orders.js';
fjs.parentNode.insertBefore(js, fjs);
}
})(document, window, 'script');
</script>
<!-- fin Seguimiento de Conversiones de Fanplayr -->
Configuración
versión
- Tipo:
integer
- Alcance: Todas las páginas
- Obligatorio
Identificador de la 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 con la plataforma Fanplayr.
storeDomain
- Tipo:
string
- Alcance: Todas las páginas
- Predeterminado: Valor de
window.location.hostname
Puede utilizarse para anular opcionalmente el dominio que Fanplayr asocia con el pedido.
Algunas tiendas pueden usar diferentes dominios para su sistema de pago. Por ejemplo, los usuarios pueden navegar por su tienda en https://www.example.com, pero la compra y los pedidos pueden realizarse en https://www.checkout.com/example. En este caso, sería necesario establecer storeDomain
en "example.com" (el mismo dominio vinculado a su campaña de Fanplayr) para que la plataforma Fanplayr pueda rastrear sin problemas al usuario y los pedidos que realiza en estos dominios.
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.
userConsentMode
- Tipo:
boolean
- Alcance: Todas las páginas
- Predeterminado:
undefined
Determina si Fanplayr debe considerar el consentimiento del usuario para almacenar sus datos.
Consulte consentimiento-del-usuario-para-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 consentido que sus datos sean almacenados.
Consulte consentimiento-del-usuario-para-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 absoluto positivo. Por ejemplo, especificar -100.00
para gross
se convertiría en 100.00
(positivo).
Si desea inhabilitar este comportamiento y permitir que se rastreen montos de moneda negativos (como el seguimiento de un total de pedido 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: {
orderId: '005921',
orderNumber: '005921',
gross: 89.90,
total: 79.90,
discount: 10.00
}
}
orderId
- Tipo:
string
- Obligatorio
El identificador de pedido único que utiliza internamente su sistema. Esto puede usarse más adelante para referenciar transacciones en su sistema interno.
Puede ser diferente de orderNumber
, que es el número de confirmación de pedido proporcionado a sus usuarios.
orderNumber
- Tipo:
string
- Obligatorio
El número de confirmación de pedido tal como lo ve el usuario. Puede ser igual o diferente a orderId
.
gross
- Tipo:
float
- Obligatorio
El valor total (en la moneda especificada) de los artículos en el pedido. Más específicamente, la suma total de los artículos en el pedido antes de descuentos, envío e impuestos.
total
- Tipo:
float
- Obligatorio
Este es el valor total (en la moneda especificada) de los artículos en el pedido. Más específicamente, la suma total de los artículos en el pedido antes del envío e impuestos, pero después de los descuentos.
discount
- Tipo:
float
- 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
- Obligatorio
El código de descuento aplicado al pedido (si lo hay). Si se aplican varios códigos de descuento, sepárelos con comas.
shipping
- Tipo:
float
- Predeterminado:
0
El monto total del envío, después de aplicar cualquier descuento específico de envío.
tax
- Tipo:
float
- Predeterminado:
0
El total de todos los impuestos aplicados al pedido.
currency
- Tipo:
string
- Predeterminado:
"USD"
El código de moneda ISO 4217 de los valores de producto y pedido que se están rastreando.
orderEmail
- Tipo:
string
La dirección de correo electrónico que el usuario proporcionó para el pedido. Puede ser diferente de customerEmail
.
firstName
- Tipo:
string
El primer nombre del usuario que realizó el pedido. Ej. "John".
lastName
- Tipo:
string
El apellido del usuario que realizó el pedido. Ej. "Smith".
customerEmail
- Tipo:
string
La dirección de correo electrónico del usuario actual.
customerId
- Tipo:
string
Este es un identificador del usuario que es interno a su sitio. Se utiliza para rastrear usuarios nuevos y recurrentes.
products
- Tipo:
Array<Producto>
| string
Un array de objetos (o JSON) que representan los productos en el pedido.
cartAction
- Tipo:
AcciónCarrito
- 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 trasladar detalles del carrito (valor total en el carrito, productos en el carrito, etc.) desde la vista de página anterior si no están disponibles para la llamada de seguimiento actual.
Datos Personalizados
Puede rastrear detalles adicionales del pedido como datos personalizados utilizando el objeto custom_data
:
{
accountKey: '<ACCOUNT_ID>',
data: {
// ...
},
custom_data: {
// Añadir pares clave/valor de detalles adicionales para rastrear
notas_pedido: 'Por favor, dejar en la puerta principal'
}
}
Ejemplo
El siguiente ejemplo podría usarse para rastrear:
- Un pedido que suma $79.90 USD después de aplicar el descuento de $10 "SUMMER10".
- Que consiste en un solo producto:
- Zapatos Rojos, con un precio de $89.90
<script>
(function (d, w, s) {
if (!w.fp_sales_orders) {
w.fp_sales_orders = {
version: 3,
accountKey: '7e43c8cddccade2b95ee5286ba89758a',
storeDomain: 'example.com',
data: {
orderId: '005921',
orderNumber: '005921',
gross: 89.9,
total: 79.9,
discount: 10.0,
discountCode: 'SUMMER10',
shipping: 0.0,
tax: 0.0,
currency: 'USD',
orderEmail: 'john.smith@gmail.com',
firstName: 'John',
lastName: 'Smith',
customerEmail: 'john.smith@gmail.com',
customerId: '10204723',
products: [
{
id: 'WRS001',
sku: 'WRS001',
price: 89.9,
qty: 1,
name: 'Red Shoes'
}
]
}
};
var js = d.createElement(s);
var fjs = d.getElementsByTagName(s)[0];
js.async = true;
js.src = 'https://cdn.fanplayr.com/client/production/fp_custom_orders.js';
fjs.parentNode.insertBefore(js, fjs);
}
})(document, window, 'script');
</script>