Skip to content
(function () {
var STORAGE_KEY = "dashlink_marketer_ref";
function getRefFromUrl() {
return new URLSearchParams(window.location.search).get("ref");
}
function getStoredRef() {
try {
return localStorage.getItem(STORAGE_KEY);
} catch (e) {
return null;
}
}
function storeRef(ref) {
if (!ref) return;
try {
localStorage.setItem(STORAGE_KEY, ref);
} catch (e) {}
}
function applyRefToCart(ref) {
if (!ref) return;
return fetch("/cart/update.js", {
method: "POST",
headers: { "Content-Type": "application/json" },
credentials: "same-origin",
body: JSON.stringify({
attributes: { marketer_ref: ref },
}),
}).catch(function () {});
}
function syncMarketerRef() {
var urlRef = getRefFromUrl();
if (urlRef) {
storeRef(urlRef);
}
var ref = urlRef || getStoredRef();
if (!ref) return;
applyRefToCart(ref);
}
// Run on load
syncMarketerRef();
// Run again when user returns via back button
window.addEventListener("pageshow", syncMarketerRef);
// Run again after AJAX cart updates (many themes)
document.addEventListener("cart:updated", syncMarketerRef);
document.addEventListener("cart:refresh", syncMarketerRef);
})();