Do Not Sell or Share My Personal Information
If you are located in certain U.S. states (including California), you may have the right to opt out of the "sale" or "sharing" of your personal information for cross-context behavioral advertising (also called "targeted advertising").
Explanation
We may disclose certain information to third parties (such as advertising partners) to help measure performance and deliver relevant ads. Under some state privacy laws, these disclosures may be considered a "sale" or "sharing."
How to opt out
Global Privacy Control (GPC): If your browser sends a Global Privacy Control (GPC) signal, we will treat it as an opt-out preference for this browser/device where supported.
Opt-out form: Submit the form below to record your opt-out preference for your customer account. We will apply your preference as soon as possible, though some systems may take time to fully update.
I give my consent on collecting my email and IP address for the purpose of processing this request. For more check Privacy Policy.
'; var isEmailValid = function(email) { let regex = /^(([^()\[\]\\.,;:\s@"]+(\.[^()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; if (email == '' || email == undefined) { return false; } else { return regex.test(email); } } var usSendRequest = function(callback) { fetch('https://www.cloudflare.com/cdn-cgi/trace', { method: 'GET' , headers: { 'Content-Type': 'text/plain', }, }) .then(resp => resp.text()) .then(resp => { if (!resp.error) { let ipInfo = resp; let formData = new FormData(); if (type === 'customer/do-not-sell') { isenseGDPR.Cookies.set('cookieconsent_preferences_disabled', 'analytics,marketing,functionality,', { expires: 365 }); isenseGDPR.Cookies.set('cookieconsent_status', 'accept_selected', { expires: 365 }); if (typeof window.Shopify.customerPrivacy !== 'undefined' && typeof window.Shopify.customerPrivacy.setTrackingConsent === 'function') { if (typeof localStorage.getItem("gdprCache") !== 'undefined' && localStorage.getItem("gdprCache") !== null) { let gdprCache = JSON.parse(localStorage.getItem("gdprCache")); if (typeof gdprCache.userIsInSaleOfDataRegion !== 'undefined' && (gdprCache.userIsInSaleOfDataRegion === 'true' || gdprCache.userIsInSaleOfDataRegion === true)) { window.Shopify.customerPrivacy.setTrackingConsent( { "sale_of_data": false, }, () => { console.log('sale_of_data: false')} ); } } } else { console.log('Customer Privacy API is not defined in the current page'); } if (document.querySelector('.cc-window')) { document.querySelector('.cc-window').style.display = 'none'; } // reset popup text document.querySelector('#donotsell-modal-container-text').innerHTML = 'I give my consent on collecting my email and IP address for the purpose of processing this request. For more check Privacy Policy.'; } formData.append('shop', (typeof window.Shopify !== 'undefined' && window.Shopify.shop) ? window.Shopify.shop : ''); formData.append('email', email); formData.append('type', type); formData.append('sourceOfRequest', 7); formData.append('ipAddress', ipInfo); formData.append('consentGiven', consentGiven); formData.append('page', 'us laws'); formData.append('lang', (typeof window.Shopify !== 'undefined' && window.Shopify.locale) ? window.Shopify.locale : ''); formData.append('gtranslateLang', (typeof isenseGDPR !== 'undefined' && isenseGDPR.Cookies) ? isenseGDPR.Cookies.get('googtrans') : ''); fetch('https://app.consentmo.com/gdprRequests/submitRequest', { method: 'POST', body: formData }) .then(resp => resp.json()) .then(resp => { if (!resp.error) { showInlineSuccessMessage(); } else { showInlineErrorMessage(resp.message || 'Something went wrong. Please try again.'); } if (typeof callback == 'function') { callback(resp); } }) .catch(error => { showInlineErrorMessage(error.message || 'Something went wrong. Please try again.'); }) } else { showInlineErrorMessage(resp.message || 'Something went wrong. Please try again.'); } }) } function showInlineSuccessMessage() { if (!activeSubmitButton) { return; } var form = activeSubmitButton.closest('form'); if (!form) { return; } var errNode = form.querySelector('.gdpr-request-error'); if (errNode) { errNode.remove(); } var successNode = form.querySelector('.gdpr-request-success'); if (!successNode) { successNode = document.createElement('p'); successNode.className = 'gdpr-request-success'; form.appendChild(successNode); } successNode.textContent = successMessage; } function showInlineErrorMessage(message) { if (!activeSubmitButton) { return; } var form = activeSubmitButton.closest('form'); if (!form) { return; } var successNode = form.querySelector('.gdpr-request-success'); if (successNode) { successNode.remove(); } var errorNode = form.querySelector('.gdpr-request-error'); if (!errorNode) { errorNode = document.createElement('p'); errorNode.className = 'gdpr-request-error'; form.appendChild(errorNode); } errorNode.textContent = message; } document.addEventListener("DOMContentLoaded", function() { //Append modal to body, because otherwise it will not stay centered(even if position is fixed) document.querySelector("body").insertAdjacentHTML( 'beforeend', verificationModalContent); document.addEventListener('click', function(e) { let submitButton = e.target.closest('input[type="submit"]'); if (submitButton && submitButton.id && submitButton.id.indexOf('request-submit') !== -1) { activeSubmitButton = submitButton; } }); let searchParams = new URLSearchParams(window.location.search); let param = searchParams.get('id'); if(param) { document.getElementById(param).scrollIntoView(); } // When the user clicks on (x), close the modal document.querySelector('.data-verification-close').addEventListener('click', function(e) { e.preventDefault(); closeVerificationModal(); }); document.querySelector('#data-verification-icon, #data-verification-container p').addEventListener('click', function(e) { e.preventDefault(); // Detect a href's click, because it is overwritten. if(e.target.tagName === "A") { window.open(e.target.href, '_blank'); return; } document.querySelector('#data-verification-icon').classList.add("clicked"); setTimeout(()=>{ toggleFadeiSense(document.querySelector("#data-verification-modal"), false); document.querySelector('#data-verification-background .loading').style.display = 'inline-block'; consentGiven = true; usSendRequest(function(resp) { consentGiven = false; closeVerificationModal(); }); }, 400); }); // Keyboard navigation in data verification modal for accessibility document.addEventListener("DOMContentLoaded", function() { document.querySelector('#data-verification-modal').addEventListener('keydown', function(e) { let isTabPressed = e.keyCode === 9 || e.key === "Tab" || e.code === "Tab"; let isEscapePressed = e.keyCode === 27 || e.key === "Escape" || e.code === "Escape"; let isSpacePressed = e.keyCode === 32 || e.key === " " || e.code === "Space"; let isEnterPressed = e.keyCode === 13 || e.key === "Enter" || e.code === "Enter"; let dataVerificationCloseButton = document.querySelector('.data-verification-close'); let dataVerificationCheckbox = document.querySelector('#data-verification-container input'); let dataVerificationLink = document.querySelector('#data-verification-container a'); let executeFocus = (focusElement) => { focusElement.focus(); e.preventDefault(); }; if (isEscapePressed) { if (dataVerificationCloseButton) { dataVerificationCloseButton.click(); } } if (isSpacePressed || isEnterPressed) { if (document.activeElement === dataVerificationCheckbox) { document.querySelector('#data-verification-container #data-verification-icon').click(); } } if (isTabPressed) { if (e.shiftKey) { if (dataVerificationCloseButton && document.activeElement === dataVerificationCloseButton) { executeFocus(dataVerificationLink); } } else { if (dataVerificationLink && document.activeElement === dataVerificationLink) { executeFocus(dataVerificationCloseButton); } } } }); }); }); function openVerificationModal(){ if(!isEmailValid(email)) { showInlineErrorMessage('Invalid email'); return; } toggleFadeiSense(document.querySelector("#data-verification-modal"), true); toggleFadeiSense(document.querySelector('#data-verification-background'), true); document.querySelector('#data-verification-container input').focus(); } function closeVerificationModal(){ toggleFadeiSense(document.querySelector("#data-verification-background"), false); document.querySelector('#data-verification-icon').classList.remove("clicked"); document.querySelector('#data-verification-background .loading').style.display = 'none'; // Focus the button of the request type that was picked let donotsellForms = document.querySelectorAll('.form-donotsell-request'); donotsellForms.forEach(function(donotsellForm) { if (donotsellForm.style.display !== "none") { let donotsellFormLinks = donotsellForm.previousElementSibling; if (donotsellFormLinks && donotsellFormLinks.querySelectorAll('li').length === 1) { donotsellFormLinks.querySelector('button').focus(); } } }); } // Do not sell or share button document.querySelector('#btn-donotsell-opt-out-request').addEventListener('click', function(e) { e.preventDefault(); let isExpanded = this.getAttribute('aria-expanded') === 'true' ? true : false; donotsellSlideUpAll(); if(!isExpanded) { slideDown(document.querySelector('#form-donotsell-opt-out-request'), 200); this.setAttribute("aria-expanded", "true"); } else { slideUp(document.querySelector('#form-donotsell-opt-out-request'), 200); this.setAttribute("aria-expanded", "false"); } }); document.querySelector('#form-donotsell-opt-out-request-submit').addEventListener('click', function(e) { e.preventDefault(); activeSubmitButton = this; email = document.querySelector('#form-donotsell-opt-out-request-email').value; type = 'customer/do-not-sell'; // Check if customer is logged in if (typeof __st !== "undefined" && __st.cid != undefined) { document.querySelector('#donotsell-modal-container-text').innerHTML = 'I give my consent on collecting my email and IP address for the purpose of processing this request. For more check Privacy Policy.'; } else { document.querySelector('#donotsell-modal-container-text').innerHTML = 'I give my consent on collecting my email and IP address for the purpose of processing this request. For more check Privacy Policy. Note: If you are a guest user or you are not logged into your account, your opt-out choice will only be effective for this browser session.'; } openVerificationModal(); }); // Shopify Customer Privacy API integration for GPC and opt-out if (typeof window.Shopify !== 'undefined' && typeof window.Shopify.customerPrivacy !== 'undefined') { var values = window.Shopify.customerPrivacy.currentVisitorConsent(); // Check for GPC signal and apply opt-out if present if (typeof navigator.globalPrivacyControl !== 'undefined' && navigator.globalPrivacyControl === true) { window.Shopify.customerPrivacy.setTrackingConsent({"sale_of_data": false}, () => { console.log('GPC signal detected - opt-out applied'); }); } }
