Order tracking
Tracks orders placed on your site.
Fanplayr can easily track conversions made on your eCommerce store, which along
with our user behavior tracking, can be used to analyze your store and identify
opportunities to improve your business through targeting non-converting customer profiles.
The following Javascript code template must be placed on the order confirmation
page to track conversions. This should be the page customers view after the order process is complete. For example,
this may a page your customers are returned to after an external payment gateway such as PayPal.
<!-- start Fanplayr Conversion Tracking -->
<script>
(function(d, w, s) {
if ( !w.fp_sales_orders ) {
w.fp_sales_orders = {
version: 3,
accountKey: '',
storeDomain: '',
data: {
orderId: '',
orderNumber: '',
gross: 0.00,
total: 0.00,
discount: 0.00,
discountCode: '',
shipping: 0.00,
tax: 0.00,
currency: '',
orderEmail: '',
firstName: '',
lastName: '',
customerEmail: '',
customerId: '',
products: [
{
id: '',
sku: '',
price: 0.00,
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>
<!-- end Fanplayr Conversion Tracking -->
- Type:
integer
- Scope: All pages
- Required
Tracking format version identifier used by the Fanplayr platform. Must be set to
3
.- Type:
string
- Scope: All pages
- Required
Unique string used identify your account with the Fanplayr platform.
- Type:
string
- Scope: All pages
- Default: Value of
window.location.hostname
Can be used to optionally override the domain that Fanplayr associates with the order.
Some stores may use different domains for their checkout system. E.g. Users may browse your store at https://www.example.com, but the checkout and orders may be placed at https://www.checkout.com/example. In this case, it would be necessary to set
storeDomain
to "example.com" (the same domain linked to your Fanplayr campaign) so that the Fanplayr platform can seamlessly track the user and orders they place across these domains.- Type:
object
- Scope: All pages
- Default:
undefined
The following variables must be provided in the
data
object. Example:{
version: 3,
accountKey: '7e43c8cddccade2b95ee5286ba89758a',
data: {
orderId: '005921',
orderNumber: '005921',
gross: 89.90,
total: 79.90,
discount: 10.00
}
}
- Type:
string
- Required
The unique order identifier that is used internally by your system. This can be used later to reference transactions in your internal system.
This may be different from
orderNumber
, which is the order confirmation number provided to your users.- Type:
string
- Required
The order confirmation number as seen by the user. This may be the same or different to
orderId
.- Type:
float
- Required
The total value (in the specified currency) of the items in the order. More specifically, the sum total of the items in the order before discounts, shipping and taxes.
- Type:
float
- Required
This is the total value (in the specified currency) of the items in the order. More specifically, the sum total of the items in the order before shipping and taxes, but after discounts.
- Type:
float
- Required
This is the total value of discounts applied to the cart. This means discounts such as free shipping or shipping discounts should not change this value.
- Type:
string
- Required
The discount code applied to the order (if any). If there are multiple discount codes applied, separated them with commas.
- Type:
float
- Default:
0
The total shipping amount, after any shipping-specific discount is applied.
- Type:
float
- Default:
0
The total of all taxes applied to the order.
- Type:
string
- Default:
"USD"
- Type:
string
The email address the user provided for the order. This may be different from
customerEmail
.- Type:
string
The first name of the user who placed the order. E.g. "John".
- Type:
string
The last name of the user who placed the order. E.g. "Smith".
- Type:
string
The email address of the current user.
- Type:
string
This is an identifier of the user that is internal to your site. This is used to track new and repeat users.
An array of objects (or JSON) representing the products in the order.
- Default:
"override"
This is a special variable that determines how Fanplayr will treat cart-related data for the current tracking call. It can be used to carry forward cart details (total value in cart, products in cart etc) from the previous page view if they are unavailable for the current tracking call.
You can track additional order details as custom data using the
custom_data
object:{
accountKey: '<ACCOUNT_ID>',
data: {
// ...
},
custom_data: {
// Add key/value pairs of additional details to track
order_notes: 'Please leave at front door'
}
}
The following example could be used to track:
- An order totaling $79.90 USD after the $10 "SUMMER10" discount is applied.
- Consisting of a single product:
- Red Shoes, priced at $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.90,
total: 79.90,
discount: 10.00,
discountCode: 'SUMMER10',
shipping: 0.00,
tax: 0.00,
currency: 'USD',
orderEmail: '[email protected]',
firstName: 'John',
lastName: 'Smith',
customerEmail: '[email protected]',
customerId: '10204723',
products: [
{
id: 'WRS001',
sku: 'WRS001',
price: 89.90,
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>
Last modified 5mo ago