if (typeof (performance) !== 'undefined' && performance.mark) {
performance.mark(markName);
}
}
markPerformance('docStart');
var recordLifecycleEvents = true;
function trackEvent(key, params) {
if (!recordLifecycleEvents) {
return;
}
var eventRequest = new XMLHttpRequest();
eventRequest.open('POST', 'https://events.api.copperstatesupplyinc.shop/api/client-event', true);
eventRequest.withCredentials = true;
eventRequest.setRequestHeader('accept', 'application/json, text/plain, */*');
eventRequest.setRequestHeader('content-type', 'application/json;charset=UTF-8');
eventRequest.send(
JSON.stringify({
event_key: key,
parameter_tokens: params,
})
);
}
trackEvent("retailers-html_init-view", ["web-visitor-server", "/brand/:brandToken([^/]*)", "BRAND_PAGE"]);
if (document.readyState === "loading") {
document.addEventListener('DOMContentLoaded', function (event) {
trackEvent("retailers-resource_complete-view", ["web-visitor-server", "/brand/:brandToken([^/]*)", "BRAND_PAGE"]);
});
window.addEventListener('load', function() {
trackEvent("retailers-load_complete-view", ["web-visitor-server", "/brand/:brandToken([^/]*)", "BRAND_PAGE"]);
});
} else if (document.readyState === "interactive") {
trackEvent("retailers-resource_complete-view", ["web-visitor-server", "/brand/:brandToken([^/]*)", "BRAND_PAGE"]);
window.addEventListener('load', function() {
trackEvent("retailers-load_complete-view", ["web-visitor-server", "/brand/:brandToken([^/]*)", "BRAND_PAGE"]);
});
} else {
trackEvent("retailers-resource_complete-view", ["web-visitor-server", "/brand/:brandToken([^/]*)", "BRAND_PAGE"]);
trackEvent("retailers-load_complete-view", ["web-visitor-server", "/brand/:brandToken([^/]*)", "BRAND_PAGE"]);
}
window.loadTimeInteractions = [];
const captureLoadTimeInteraction = function(event) {
window.loadTimeInteractions.push({
type: event.type,
time: performance.now(),
selector: event.target && event.target.tagName ? event.target.tagName.toLowerCase() + (event.target.getAttribute('data-test-id') ? '.' + event.target.getAttribute('data-test-id') : '') : 'unknown'
});
};
window.startLoadTimeInteractionTracking = function() {
var hasExistingListener = function(eventType) {
var listeners = window.getEventListeners ? window.getEventListeners(window)[eventType] || [] : [];
return listeners.some(function(l) { return l.listener === captureLoadTimeInteraction; });
};
pointerEvents.concat(keyboardEvents, inputEvents).forEach(function(eventType) {
if (!hasExistingListener(eventType)) {
window.addEventListener(eventType, captureLoadTimeInteraction);
}
});
};
window.stopLoadTimeInteractionTracking = function() {
window.loadTimeInteractions = [];
pointerEvents.concat(keyboardEvents, inputEvents).forEach(function(eventType) {
window.removeEventListener(eventType, captureLoadTimeInteraction);
});
};
var pointerEvents = ["click", "pointerdown"];
var keyboardEvents = ["keydown", "keyup"];
var inputEvents = ["input", "change"];
window.startLoadTimeInteractionTracking();
window.addEventListener('scroll', function() {
window.mostRecentScrollTime = performance.now();
});
window.addEventListener('error', function (event) {
var globalErrorEventMessage = "Empty error event";
if (event) {
globalErrorEventMessage = event.message + " at " + event.filename + ":" + event.lineno + ":" + event.colno;
}
trackEvent("retailers-webretailerglobalerror-error", [globalErrorEventMessage]);
});
document.onvisibilitychange = () => {
if (document.visibilityState === "hidden") {
const url = '/api/client-event';
const data = new Blob(
[JSON.stringify({ event_key: 'sessions-session_abandoned-action_unknown', client_created_at: Date.now() })],
{ type: "application/json" }
);
window.navigator.sendBeacon(url, data);
}
};
document.addEventListener('load', (event) => {
if (event.target && event.target.tagName === "IMG") {
event.target.faireLoadTimeStamp = event.timeStamp;
}
},
{ capture: true }
);
About Harper + Ari
Étoile
Étoile
Étoile
Étoile
Étoile
4,8
Attention : nos produits sentent assez bon pour être consommés (mais ne le faites pas !). Les cubes de sucre exfoliant Harper + Ari sont parfaitement dimensionnés pour un usage individuel. Un cube va exfolier et nourrir tout le corps.Read their story
DES CENTAINES DE MILLIERS DE COMMERÇANTS NOUS FONT CONFIANCE
Prêt à faire des achats B2B en ligne ? Prêt à faire des achats B2B en ligne ?
Retours gratuits sur les premières commandes
Des produits uniques sélectionnés pour votre magasin
S'inscrire pour acheter Les meilleures marques sélectionnées pour votre boutique, réunies au même endroit Les meilleures marques sélectionnées pour votre boutique, réunies au même endroit
Lock
Accéder aux prix revendeurs
©2025 Faire Wholesale, Inc.