Integration
BigCommerce, PrestaShop and Magento
Put the tag in the storefront header, then send a purchase from the order confirmation page.
Written from the platforms' documentation, not run on a store
The script placement is routine. The purchase snippets read each platform's order data and have not been tested on a live shop, so a field name can differ in your version or theme. Place a test order and confirm it under Revenue before relying on it.
The tag, on every page
Replace YOUR_WEBSITE_ID with the ID from Settings → Tracking in Seentics.
header
<script defer data-website-id="YOUR_WEBSITE_ID" src="https://seentics.com/trackers/seentics.min.js"></script>BigCommerce
- Tag: Storefront →
Script Manager→ Create a script. LocationHeader, pagesAll pages, script typeScript. Paste the tag. - Purchase: a second script, location
Footer, pageOrder confirmation. BigCommerce exposes the order through its Storefront API; the snippet below fetches it. How the order id reaches the confirmation page differs between checkout versions, so the first line is the part you will need to adjust.
Script Manager, order confirmation
<script>
// Storefront → Script Manager → new script, location: Footer, pages: Order confirmation.
(function () {
var orderId = new URLSearchParams(location.search).get('orderId'); // adjust to how your confirmation URL carries the order id
if (!orderId) return;
fetch('/api/storefront/order/' + encodeURIComponent(orderId), { credentials: 'same-origin' })
.then(function (r) { return r.ok ? r.json() : null; })
.then(function (o) {
if (!o || !isFinite(Number(o.orderAmount))) return;
var tries = 0;
(function send() {
if (window.seentics && window.seentics.track) {
window.seentics.track('purchase', {
value: Number(o.orderAmount),
currency: (o.currency && o.currency.code) || 'USD',
order_id: String(o.orderId || orderId),
items: ((o.lineItems && o.lineItems.physicalItems) || []).map(function (i) {
return { name: i.name, sku: i.sku, qty: i.quantity, price: i.salePrice };
})
});
} else if (++tries < 100) {
setTimeout(send, 100);
}
})();
})
.catch(function () {});
})();
</script>PrestaShop
- Tag: put it in your theme's
head.tpl(child theme recommended), or use a custom-code or header-scripts module from your back office. - Purchase: the order confirmation page template receives an
$orderarray. Add this to your theme'sorder-confirmation.tpl. Theamountfield is the order total as a number in PrestaShop 1.7 and later; check yours.
order-confirmation.tpl
{* themes/<your-theme>/templates/checkout/order-confirmation.tpl, inside the page's content block *}
{if isset($order) && $order.totals.total.amount > 0}
<script>
(function () {
var props = {
value: {$order.totals.total.amount|floatval},
currency: '{$currency.iso_code|escape:'javascript':'UTF-8'}',
order_id: '{$order.details.reference|escape:'javascript':'UTF-8'}'
};
var tries = 0;
(function send() {
if (window.seentics && window.seentics.track) {
window.seentics.track('purchase', props);
} else if (++tries < 100) {
setTimeout(send, 100); // the tracker is deferred: wait for it
}
})();
})();
</script>
{/if}Magento / Adobe Commerce
- Tag: Admin → Content → Design → Configuration → edit the scope →
HTML Head→Scripts and Style Sheets. Paste the tag and save; clear the cache. - Purchase: the order total is not available to the page without a PHP block or view model on the
checkout_onepage_successpage, and no snippet is offered here because it is untested. If your store already pushes the GA4purchaseevent todataLayer(most analytics extensions do), use the Google Tag Manager setup, which reads exactly that.
What a purchase carries
value (the order total as a number), currency, order_id and, optionally, items as [{ name, sku, qty, price }] where price is the unit price. Seentics counts one order per order_id, so reloading the confirmation page does not add revenue twice. Refunds are sent separately with refund.