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 Shop ANDi
Shop Andi specializes in allll things accessories!! We started with our beloved scrunchies that hold you hair better than any other scrunchies out there. Now we've expanded to claw clips, scrunchie watch bands, headbands, scrunchie keychains, and more!!! We love developing new products for our customers and we love small businesses! Read their story
TRUSTED BY HUNDREDS OF THOUSANDS OF RETAILERS
Ready to start buying wholesale online? Ready to start buying wholesale online?
Free returns on all opening orders
Unique products curated for your store
Sign Up to Shop The best selection of brands for your store, all in one place The best selection of brands for your store, all in one place
Lock
Unlock wholesale pricing
©2025 Faire Wholesale, Inc.
Explore the full wholesale catalog Explore the full wholesale catalog Explore the full wholesale catalog
Sign up to unlock wholesale pricing on Shop ANDi and thousands of brands on Faire, the marketplace for retailers.
Sign up to unlock wholesale pricing on Shop ANDi and thousands of brands on Faire, the marketplace for retailers.
Sign up to unlock wholesale pricing on Shop ANDi and thousands of brands on Faire, the marketplace for retailers.
Sign up to unlock wholesale pricing on Shop ANDi and thousands of brands on Faire, the marketplace for retailers.
Sign up to buy