CINXE.COM

Ross Stores: ‘Treasure Hunt Environment’ Drives Store Sales

<!DOCTYPE html> <html lang="en-US"> <head> <title>Ross Stores: ‘Treasure Hunt Environment’ Drives Store Sales</title> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta http-equiv="X-UA-Compatible" content="ie=edge" /> <meta name="google-site-verification" content="ywo6cX-b4noB6WSEkiQRbhTNBsV3oDtuR2vuG7rh8Xs" /> <meta name="msapplication-TileImage" content="https://www.pymnts.com/wp-content/uploads/2022/08/favicon-270.jpg" /> <link rel="shortcut icon" href="https://www.pymnts.com/wp-content/uploads/2022/08/favicon-32x32-1.png" sizes="32x32" /> <link rel="shortcut icon" href="https://www.pymnts.com/wp-content/uploads/2022/08/android-chrome-192x192-1.png" sizes="192x192" /> <link rel="apple-touch-icon-precomposed" href="https://www.pymnts.com/wp-content/uploads/2022/08/favicon-180.jpg" /> <script src="https://www.google.com/recaptcha/api.js?render=6Le36I4kAAAAAMCdrtj4Jb9rq43eln5c4Zt33TLI"></script> <link rel="alternate" type="application/rss+xml" title="RSS 2.0" href="https://www.pymnts.com/feed/" /> <link rel="alternate" type="text/xml" title="RSS .92" href="https://www.pymnts.com/feed/rss/" /> <link rel="alternate" type="application/atom+xml" title="Atom 0.3" href="https://www.pymnts.com/feed/atom/" /> <link rel="pingback" href="https://www.pymnts.com/xmlrpc.php" /> <link rel="dns-prefetch" href="https://www.google.com"> <link rel="dns-prefetch" href="https://stats.g.doubleclick.net"> <link rel="dns-prefetch" href="https://googleads.g.doubleclick.net"> <link rel="dns-prefetch" href="https://fonts.gstatic.com"> <link rel="dns-prefetch" href="https://www.google-analytics.com"> <link rel="preload" as="script" href="/wp-content/themes/flex-mag-sixspoke/2022/js/bootstrap.bundle.min.js" /> <link rel="preload" href="/wp-content/themes/flex-mag-sixspoke/2020/bootstrap-icons.css" as="style" onload="this.onload=null;this.rel='stylesheet'"> </script> <link rel="preload" as="script" href="https://ak.sail-horizon.com/spm/spm.v1.min.js?ver=5.5.10" /> <script src='https://ak.sail-horizon.com/spm/spm.v1.min.js?ver=5.5.10' type='text/javascript' async></script> <script type="text/javascript" src="https://www.pymnts.com/wp-content/themes/flex-mag-sixspoke/2022/js/bootstrap.bundle.min.js"></script> <link rel="stylesheet" href="/wp-content/themes/flex-mag-sixspoke/2022/2022-style.css?92"> <link rel="stylesheet" href="/wp-content/themes/flex-mag-sixspoke/2020/bootstrap-icons.css"> <link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> <link href="https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap" rel="stylesheet"> <!-- <link rel="stylesheet" href="/wp-content/uploads/pymnts-ai/instantchatbot.css?v=1"> --> <script> if ('serviceWorker' in navigator) { navigator.serviceWorker.getRegistrations().then(function(registrations) { for (let registration of registrations) { registration.unregister() } }).catch(function(err) { console.log('Service Worker registration failed: ', err); }); } </script> </script> <noscript> <!-- <link rel="stylesheet" href="/wp-content/themes/flex-mag-sixspoke/2022/2022-style.css?91"> --> <style> .lazyload { display: none; } </style> </noscript> <script> // ST vendor var tag = { "options": { "customerId": "067919d33ae6486b1e5a249a7b40663c" } }; window.addEventListener("load", function() { console.info("ST loaded"); if (tag.isCustom) { jQuery(function($) { Sailthru.init({ customerId: tag.options.customerId, isCustom: true, autoTrackPageview: tag.options.autoTrackPageview, useStoredTags: tag.options.useStoredTags, excludeContent: tag.options.excludeContent, }); }); } else { Sailthru.init({ customerId: tag.options.customerId }); } }); var deferredLoadImages = () => {} /*! lazysizes - v5.3.2 */ ! function(e) { var t = function(u, D, f) { "use strict"; var k, H; if (function() { var e; var t = { lazyClass: "lazyload", loadedClass: "lazyloaded", loadingClass: "lazyloading", preloadClass: "lazypreload", errorClass: "lazyerror", autosizesClass: "lazyautosizes", fastLoadedClass: "ls-is-cached", iframeLoadMode: 0, srcAttr: "data-src", srcsetAttr: "data-srcset", sizesAttr: "data-sizes", minSize: 40, customMedia: {}, init: true, expFactor: 1.5, hFac: .8, loadMode: 2, loadHidden: true, ricTimeout: 0, throttleDelay: 125 }; H = u.lazySizesConfig || u.lazysizesConfig || {}; for (e in t) { if (!(e in H)) { H[e] = t[e] } } }(), !D || !D.getElementsByClassName) { return { init: function() {}, cfg: H, noSupport: true } } var O = D.documentElement, i = u.HTMLPictureElement, P = "addEventListener", $ = "getAttribute", q = u[P].bind(u), I = u.setTimeout, U = u.requestAnimationFrame || I, o = u.requestIdleCallback, j = /^picture$/i, r = ["load", "error", "lazyincluded", "_lazyloaded"], a = {}, G = Array.prototype.forEach, J = function(e, t) { if (!a[t]) { a[t] = new RegExp("(\\s|^)" + t + "(\\s|$)") } return a[t].test(e[$]("class") || "") && a[t] }, K = function(e, t) { if (!J(e, t)) { e.setAttribute("class", (e[$]("class") || "").trim() + " " + t) } }, Q = function(e, t) { var a; if (a = J(e, t)) { e.setAttribute("class", (e[$]("class") || "").replace(a, " ")) } }, V = function(t, a, e) { var i = e ? P : "removeEventListener"; if (e) { V(t, a) } r.forEach(function(e) { t[i](e, a) }) }, X = function(e, t, a, i, r) { var n = D.createEvent("Event"); if (!a) { a = {} } a.instance = k; n.initEvent(t, !i, !r); n.detail = a; e.dispatchEvent(n); return n }, Y = function(e, t) { var a; if (!i && (a = u.picturefill || H.pf)) { if (t && t.src && !e[$]("srcset")) { e.setAttribute("srcset", t.src) } a({ reevaluate: true, elements: [e] }) } else if (t && t.src) { e.src = t.src } }, Z = function(e, t) { return (getComputedStyle(e, null) || {})[t] }, s = function(e, t, a) { a = a || e.offsetWidth; while (a < H.minSize && t && !e._lazysizesWidth) { a = t.offsetWidth; t = t.parentNode } return a }, ee = function() { var a, i; var t = []; var r = []; var n = t; var s = function() { var e = n; n = t.length ? r : t; a = true; i = false; while (e.length) { e.shift()() } a = false }; var e = function(e, t) { if (a && !t) { e.apply(this, arguments) } else { n.push(e); if (!i) { i = true; (D.hidden ? I : U)(s) } } }; e._lsFlush = s; return e }(), te = function(a, e) { return e ? function() { ee(a) } : function() { var e = this; var t = arguments; ee(function() { a.apply(e, t) }) } }, ae = function(e) { var a; var i = 0; var r = H.throttleDelay; var n = H.ricTimeout; var t = function() { a = false; i = f.now(); e() }; var s = o && n > 49 ? function() { o(t, { timeout: n }); if (n !== H.ricTimeout) { n = H.ricTimeout } } : te(function() { I(t) }, true); return function(e) { var t; if (e = e === true) { n = 33 } if (a) { return } a = true; t = r - (f.now() - i); if (t < 0) { t = 0 } if (e || t < 9) { s() } else { I(s, t) } } }, ie = function(e) { var t, a; var i = 99; var r = function() { t = null; e() }; var n = function() { var e = f.now() - a; if (e < i) { I(n, i - e) } else { (o || r)(r) } }; return function() { a = f.now(); if (!t) { t = I(n, i) } } }, e = function() { var v, m, c, h, e; var y, z, g, p, C, b, A; var n = /^img$/i; var d = /^iframe$/i; var E = "onscroll" in u && !/(gle|ing)bot/.test(navigator.userAgent); var _ = 0; var w = 0; var M = 0; var N = -1; var L = function(e) { M--; if (!e || M < 0 || !e.target) { M = 0 } }; var x = function(e) { if (A == null) { A = Z(D.body, "visibility") == "hidden" } return A || !(Z(e.parentNode, "visibility") == "hidden" && Z(e, "visibility") == "hidden") }; var W = function(e, t) { var a; var i = e; var r = x(e); g -= t; b += t; p -= t; C += t; while (r && (i = i.offsetParent) && i != D.body && i != O) { r = (Z(i, "opacity") || 1) > 0; if (r && Z(i, "overflow") != "visible") { a = i.getBoundingClientRect(); r = C > a.left && p < a.right && b > a.top - 1 && g < a.bottom + 1 } } return r }; var t = function() { var e, t, a, i, r, n, s, o, l, u, f, c; var d = k.elements; if ((h = H.loadMode) && M < 8 && (e = d.length)) { t = 0; N++; for (; t < e; t++) { if (!d[t] || d[t]._lazyRace) { continue } if (!E || k.prematureUnveil && k.prematureUnveil(d[t])) { R(d[t]); continue } if (!(o = d[t][$]("data-expand")) || !(n = o * 1)) { n = w } if (!u) { u = !H.expand || H.expand < 1 ? O.clientHeight > 500 && O.clientWidth > 500 ? 500 : 370 : H.expand; k._defEx = u; f = u * H.expFactor; c = H.hFac; A = null; if (w < f && M < 1 && N > 2 && h > 2 && !D.hidden) { w = f; N = 0 } else if (h > 1 && N > 1 && M < 6) { w = u } else { w = _ } } if (l !== n) { y = innerWidth + n * c; z = innerHeight + n; s = n * -1; l = n } a = d[t].getBoundingClientRect(); if ((b = a.bottom) >= s && (g = a.top) <= z && (C = a.right) >= s * c && (p = a.left) <= y && (b || C || p || g) && (H.loadHidden || x(d[t])) && (m && M < 3 && !o && (h < 3 || N < 4) || W(d[t], n))) { R(d[t]); r = true; if (M > 9) { break } } else if (!r && m && !i && M < 4 && N < 4 && h > 2 && (v[0] || H.preloadAfterLoad) && (v[0] || !o && (b || C || p || g || d[t][$](H.sizesAttr) != "auto"))) { i = v[0] || d[t] } } if (i && !r) { R(i) } } }; var a = ae(t); var S = function(e) { var t = e.target; if (t._lazyCache) { delete t._lazyCache; return } L(e); K(t, H.loadedClass); Q(t, H.loadingClass); V(t, B); X(t, "lazyloaded") }; var i = te(S); var B = function(e) { i({ target: e.target }) }; var T = function(e, t) { var a = e.getAttribute("data-load-mode") || H.iframeLoadMode; if (a == 0) { e.contentWindow.location.replace(t) } else if (a == 1) { e.src = t } }; var F = function(e) { var t; var a = e[$](H.srcsetAttr); if (t = H.customMedia[e[$]("data-media") || e[$]("media")]) { e.setAttribute("media", t) } if (a) { e.setAttribute("srcset", a) } }; var s = te(function(t, e, a, i, r) { var n, s, o, l, u, f; if (!(u = X(t, "lazybeforeunveil", e)).defaultPrevented) { if (i) { if (a) { K(t, H.autosizesClass) } else { t.setAttribute("sizes", i) } } s = t[$](H.srcsetAttr); n = t[$](H.srcAttr); if (r) { o = t.parentNode; l = o && j.test(o.nodeName || "") } f = e.firesLoad || "src" in t && (s || n || l); u = { target: t }; K(t, H.loadingClass); if (f) { clearTimeout(c); c = I(L, 2500); V(t, B, true) } if (l) { G.call(o.getElementsByTagName("source"), F) } if (s) { t.setAttribute("srcset", s) } else if (n && !l) { if (d.test(t.nodeName)) { T(t, n) } else { t.src = n } } if (r && (s || l)) { Y(t, { src: n }) } } if (t._lazyRace) { delete t._lazyRace } Q(t, H.lazyClass); ee(function() { var e = t.complete && t.naturalWidth > 1; if (!f || e) { if (e) { K(t, H.fastLoadedClass) } S(u); t._lazyCache = true; I(function() { if ("_lazyCache" in t) { delete t._lazyCache } }, 9) } if (t.loading == "lazy") { M-- } }, true) }); var R = function(e) { if (e._lazyRace) { return } var t; var a = n.test(e.nodeName); var i = a && (e[$](H.sizesAttr) || e[$]("sizes")); var r = i == "auto"; if ((r || !m) && a && (e[$]("src") || e.srcset) && !e.complete && !J(e, H.errorClass) && J(e, H.lazyClass)) { return } t = X(e, "lazyunveilread").detail; if (r) { re.updateElem(e, true, e.offsetWidth) } e._lazyRace = true; M++; s(e, t, r, i, a) }; var r = ie(function() { H.loadMode = 3; a() }); var o = function() { if (H.loadMode == 3) { H.loadMode = 2 } r() }; var l = function() { if (m) { return } if (f.now() - e < 999) { I(l, 999); return } m = true; H.loadMode = 3; a(); q("scroll", o, true) }; return { _: function() { e = f.now(); k.elements = D.getElementsByClassName(H.lazyClass); v = D.getElementsByClassName(H.lazyClass + " " + H.preloadClass); q("scroll", a, true); q("resize", a, true); q("pageshow", function(e) { if (e.persisted) { var t = D.querySelectorAll("." + H.loadingClass); if (t.length && t.forEach) { U(function() { t.forEach(function(e) { if (e.complete) { R(e) } }) }) } } }); if (u.MutationObserver) { new MutationObserver(a).observe(O, { childList: true, subtree: true, attributes: true }) } else { O[P]("DOMNodeInserted", a, true); O[P]("DOMAttrModified", a, true); setInterval(a, 999) } q("hashchange", a, true); ["focus", "mouseover", "click", "load", "transitionend", "animationend"].forEach(function(e) { D[P](e, a, true) }); if (/d$|^c/.test(D.readyState)) { l() } else { q("load", l); D[P]("DOMContentLoaded", a); I(l, 2e4) } if (k.elements.length) { t(); ee._lsFlush() } else { a() } }, checkElems: a, unveil: R, _aLSL: o } }(), re = function() { var a; var n = te(function(e, t, a, i) { var r, n, s; e._lazysizesWidth = i; i += "px"; e.setAttribute("sizes", i); if (j.test(t.nodeName || "")) { r = t.getElementsByTagName("source"); for (n = 0, s = r.length; n < s; n++) { r[n].setAttribute("sizes", i) } } if (!a.detail.dataAttr) { Y(e, a.detail) } }); var i = function(e, t, a) { var i; var r = e.parentNode; if (r) { a = s(e, r, a); i = X(e, "lazybeforesizes", { width: a, dataAttr: !!t }); if (!i.defaultPrevented) { a = i.detail.width; if (a && a !== e._lazysizesWidth) { n(e, r, i, a) } } } }; var e = function() { var e; var t = a.length; if (t) { e = 0; for (; e < t; e++) { i(a[e]) } } }; var t = ie(e); return { _: function() { a = D.getElementsByClassName(H.autosizesClass); q("resize", t) }, checkElems: t, updateElem: i } }(), t = function() { if (!t.i && D.getElementsByClassName) { t.i = true; re._(); e._() } }; return I(function() { H.init && t() }), k = { cfg: H, autoSizer: re, loader: e, init: t, uP: Y, aC: K, rC: Q, hC: J, fire: X, gW: s, rAF: ee } }(e, e.document, Date); e.lazySizes = t, "object" == typeof module && module.exports && (module.exports = t) }("undefined" != typeof window ? window : {}); const setValue = (form, target, value) => { let span, input; span = form.querySelector(target); if (span) { input = span.getElementsByTagName('INPUT'); if (input.length) { input[0].setAttribute('autocomplete', value); input[0].addEventListener('change', () => { //console.log('Setting storage for ', value); localStorage.setItem(value, input[0].value); }) let testValue = localStorage.getItem(value); if (testValue) input[0].value = testValue; } } } const ifInputValueSetLocalStorage = (form, target, value) => { let span, input; span = form.querySelector(target); if (span) { input = span.getElementsByTagName('INPUT'); if (input.length) { if (input[0].value) { //console.log('setting localStorage', value, input[0].value); localStorage.setItem(value, input[0].value); } } } } const setupAutoComplete = () => { // get the form element const inputs = document.getElementsByTagName('INPUT'); //console.log('inputs', inputs); if (inputs.length) { for (let i = 0; i < inputs.length; ++i) { let type = inputs[i].getAttribute('type'); if (type == 'email') { let value = localStorage.getItem('email'); if (value) inputs[i].value = value; } } } const form = document.querySelector('.wpcf7'); console.log(form); if (!form) return; setInterval(() => { ifInputValueSetLocalStorage(form, '.YourFirstName', 'given-name'); ifInputValueSetLocalStorage(form, '.YourLastName', 'family-name'); ifInputValueSetLocalStorage(form, '.YourEmail', 'email'); ifInputValueSetLocalStorage(form, '.YourTitle', 'organization-title'); ifInputValueSetLocalStorage(form, '.YourCompany', 'organization'); ifInputValueSetLocalStorage(form, '.YourCountry', 'country'); }, 10000); setValue(form, '.YourFirstName', 'given-name'); setValue(form, '.YourLastName', 'family-name'); setValue(form, '.YourEmail', 'email'); setValue(form, '.YourTitle', 'organization-title'); setValue(form, '.YourCompany', 'organization'); setValue(form, '.YourCountry', 'country'); } const pageLoaded = () => { deferredLoadImages(); setupAutoComplete(); } document.addEventListener("DOMContentLoaded", pageLoaded); </script> <script src="https://www.googletagmanager.com/gtag/js?id=UA-11167465-1"></script> <script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/echarts/5.4.1/echarts.min.js"></script> <script> //console.log('rtInfo load socket.io', window.location.pathname); //axios.get(`https://www.pymnts.com/user-settings/?url=${encodeURIComponent(window.location.pathname)}`); </script> <script defer src="https://cdn.socket.io/4.5.4/socket.io.min.js"></script> <script> let deviceIsBlockingAnalytics = null; let googleTracker = typeof ga !== 'undefined' && ga.getAll ? ga.getAll()[0] : null; if (!googleTracker) { let count = 0; let intervalId = setInterval(() => { ++count; googleTracker = typeof ga !== 'undefined' && ga.getAll ? ga.getAll()[0] : null; if (googleTracker || count > 5) { clearInterval(intervalId); console.log('tracker', googleTracker); return; } }, 500); } else { console.error('Google Tag Manager is blocked'); deviceIsBlockingAnalytics = true; } </script> <script> function pymntsUuid() { return ([1e7] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, c => (c ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> c / 4).toString(16) ); } let testTemplate = '/var/www/wp-content/themes/flex-mag-sixspoke/single.php'; let template = testTemplate ? testTemplate : 'Template Unknown'; /* * Setup rt.pymnts.com connection */ window.socketIo = null; /* * Set Device Id */ function parseCookieHeader() { const header = document.cookie; // Split the header into individual name-value pairs var pairs = header.split(';'); // Create an object to store the cookies var cookies = {}; // Loop through the name-value pairs and store them in the object for (var i = 0; i < pairs.length; i++) { var nameValue = pairs[i].split('='); cookies[nameValue[0].trim()] = nameValue[1]; } // Return the object return cookies; } const cookies = parseCookieHeader(); let pymntsDeviceId; let storedId = localStorage.getItem('pymntsDeviceId'); if (cookies['pymnts-browser-id']) { pymntsDeviceId = cookies['pymnts-browser-id']; localStorage.setItem('pymntsDeviceId', pymntsDeviceId); } else { if (storedId) pymntsDeviceId = storedId; else pymntsDeviceId = 'unknown'; } console.log('pymntsDeviceId', pymntsDeviceId); if (!storedId || storedId === 'undefined') { localStorage.setItem('pymntsDeviceId', pymntsDeviceId); } /* * Setup UA and GA4 analytics */ window.dataLayer = window.dataLayer || []; function gtag() { dataLayer.push(arguments); } gtag('js', new Date()); const { hostname } = window.location; let gtagCategory = hostname === 'gamma.pymnts.com' ? 'UA-11167465-10' : 'UA-11167465-1'; gtag('config', gtagCategory); console.log('gtag ua category', gtagCategory); gtagCategory = hostname === 'gamma.pymnts.com' ? 'G-NY60TDWHJ9' : 'G-3WHRCQ5780'; gtag('config', gtagCategory); console.log('gtag g4 category', gtagCategory); //gtag('set', {'user_id': pymntsDeviceId}); // Set the user ID using signed-in user_id. setTimeout(() => { gtag("event", "pymnts_device_visit", { path: window.location.pathname, }); }, 1000); let gaIsBlocked = null; let rtIsBlocked = false; let visitedPages = []; let connectionCount = 0; let maxConnectionAttempts = 3; const landingPage = window.location.pathname; const doNotProxyReport = pathname => { console.log('Do not report', pathname); let request = { url: `https://rt.pymnts.com:6300/dnr`, method: 'post', data: { pathname } } axios(request) .then(response => console.log(response.data)) .catch(error => console.error(error)); } async function checkIfGoogleAnalyticsIsBlocked() { let request = { url: 'https://www.google-analytics.com/collect', method: "post", params: { v: 1, tid: 'G-3WHRCQ5780', cid: pymntsDeviceId, t: 'web-view' } } console.log('request', request); let isBlocking; let response; try { response = await axios(request); deviceIsBlockingAnalytics = false; isBlocking = 'false'; console.log("Google Analytics is Allowed!!!!!!!!"); doNotProxyReport(landingPage) } catch (err) { // We are blocked!!! deviceIsBlockingAnalytics = true; isBlocking = 'true'; console.error('Google Analytics is Blocked!!!!!!!'); } } checkIfGoogleAnalyticsIsBlocked(); </script> <!-- Hotjar Tracking Code for https://pymnts.com --> <script> (function(h, o, t, j, a, r) { h.hj = h.hj || function() { (h.hj.q = h.hj.q || []).push(arguments) }; h._hjSettings = { hjid: 5081647, hjsv: 6 }; a = o.getElementsByTagName('head')[0]; r = o.createElement('script'); r.async = 1; r.src = t + h._hjSettings.hjid + j + h._hjSettings.hjsv; a.appendChild(r); })(window, document, 'https://static.hotjar.com/c/hotjar-', '.js?sv='); </script> <style> .scrollUp { position: fixed; top: 0; left: 0; z-index: 100000 !important; } /* search bar input container */ .pymnts-search { position: absolute; right: 0; z-index: 1; } .study-toggle { display: none; } /* search bar input container */ .pymnts-search { position: absolute; right: 0; z-index: 1; } /* search bar input */ .pymnts-search input.search-bar { border: none !important; padding-left: 10px; padding-right: 30px; width: 200px; height: 30px; vertical-align: middle; } .pymnts-search input.search-bar:focus { padding-left: 10px; padding-right: 30px; width: 200px; height: 30px; } /* transition effect */ .pymnts-search input.search-bar, .search-icon-btn { padding: 0px; border: none !important; -webkit-transition: all 0.5s; -moz-transition: all 0.5s; -ms-transition: all 0.5s; -o-transition: all 0.5s; transition: all 0.5s; } </style> <meta name='robots' content='index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1' /> <style>img:is([sizes="auto" i], [sizes^="auto," i]) { contain-intrinsic-size: 3000px 1500px }</style> <!-- This site is optimized with the Yoast SEO Premium plugin v22.7 (Yoast SEO v23.4) - https://yoast.com/wordpress/plugins/seo/ --> <title>Ross Stores: ‘Treasure Hunt Environment’ Drives Store Sales</title> <meta name="description" content="Ross Stores aims to draw customers and drive sales by offering value and a “treasure hunt environment,” executives said." /> <link rel="canonical" href="https://www.pymnts.com/earnings/2024/ross-stores-treasure-hunt-environment-drives-off-price-store-sales/" /> <meta property="og:locale" content="en_US" /> <meta property="og:type" content="article" /> <meta property="og:title" content="Ross Stores: ‘Treasure Hunt Environment’ Drives Off-Price Store Sales | PYMNTS.com" /> <meta property="og:description" content="Ross Stores aims to draw customers and drive sales by offering value and a “treasure hunt environment,” executives said Thursday (Nov. 21) during the" /> <meta property="og:url" content="https://www.pymnts.com/earnings/2024/ross-stores-treasure-hunt-environment-drives-off-price-store-sales/" /> <meta property="og:site_name" content="PYMNTS.com" /> <meta property="article:publisher" content="https://www.facebook.com/pymnts/" /> <meta property="article:author" content="https://www.facebook.com/pymnts" /> <meta property="article:published_time" content="2024-11-22T21:15:35+00:00" /> <meta property="og:image" content="https://www.pymnts.com/wp-content/uploads/2024/05/Ross-Stores-1.jpg" /> <meta property="og:image:width" content="1200" /> <meta property="og:image:height" content="720" /> <meta property="og:image:type" content="image/jpeg" /> <meta name="author" content="PYMNTS" /> <meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:creator" content="@https://twitter.com/pymnts" /> <meta name="twitter:site" content="@pymnts" /> <script type="application/ld+json" class="yoast-schema-graph">{"@context":"https://schema.org","@graph":[{"@type":"Article","@id":"https://www.pymnts.com/earnings/2024/ross-stores-treasure-hunt-environment-drives-off-price-store-sales/#article","isPartOf":{"@id":"https://www.pymnts.com/earnings/2024/ross-stores-treasure-hunt-environment-drives-off-price-store-sales/"},"author":{"name":"PYMNTS","@id":"https://www.pymnts.com/#/schema/person/9f0152ca483ca33a5d8121739eadfe4b"},"headline":"Ross Stores: ‘Treasure Hunt Environment’ Drives Off-Price Store Sales","datePublished":"2024-11-22T21:15:35+00:00","dateModified":"2024-11-22T21:15:35+00:00","mainEntityOfPage":{"@id":"https://www.pymnts.com/earnings/2024/ross-stores-treasure-hunt-environment-drives-off-price-store-sales/"},"wordCount":402,"publisher":{"@id":"https://www.pymnts.com/#organization"},"image":{"@id":"https://www.pymnts.com/earnings/2024/ross-stores-treasure-hunt-environment-drives-off-price-store-sales/#primaryimage"},"thumbnailUrl":"https://www.pymnts.com/wp-content/uploads/2024/05/Ross-Stores-1.jpg","keywords":["dd’s Discounts","Earnings","holidays","News","PYMNTS News","Retail","Retail sales","Revenue","Ross Dress for Less","ross stores","What's Hot"],"articleSection":["Earnings"],"inLanguage":"en-US","copyrightYear":"2024","copyrightHolder":{"@id":"https://www.pymnts.com/#organization"}},{"@type":"WebPage","@id":"https://www.pymnts.com/earnings/2024/ross-stores-treasure-hunt-environment-drives-off-price-store-sales/","url":"https://www.pymnts.com/earnings/2024/ross-stores-treasure-hunt-environment-drives-off-price-store-sales/","name":"Ross Stores: ‘Treasure Hunt Environment’ Drives Store Sales","isPartOf":{"@id":"https://www.pymnts.com/#website"},"primaryImageOfPage":{"@id":"https://www.pymnts.com/earnings/2024/ross-stores-treasure-hunt-environment-drives-off-price-store-sales/#primaryimage"},"image":{"@id":"https://www.pymnts.com/earnings/2024/ross-stores-treasure-hunt-environment-drives-off-price-store-sales/#primaryimage"},"thumbnailUrl":"https://www.pymnts.com/wp-content/uploads/2024/05/Ross-Stores-1.jpg","datePublished":"2024-11-22T21:15:35+00:00","dateModified":"2024-11-22T21:15:35+00:00","description":"Ross Stores aims to draw customers and drive sales by offering value and a “treasure hunt environment,” executives said.","breadcrumb":{"@id":"https://www.pymnts.com/earnings/2024/ross-stores-treasure-hunt-environment-drives-off-price-store-sales/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https://www.pymnts.com/earnings/2024/ross-stores-treasure-hunt-environment-drives-off-price-store-sales/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https://www.pymnts.com/earnings/2024/ross-stores-treasure-hunt-environment-drives-off-price-store-sales/#primaryimage","url":"https://www.pymnts.com/wp-content/uploads/2024/05/Ross-Stores-1.jpg","contentUrl":"https://www.pymnts.com/wp-content/uploads/2024/05/Ross-Stores-1.jpg","width":1200,"height":720},{"@type":"BreadcrumbList","@id":"https://www.pymnts.com/earnings/2024/ross-stores-treasure-hunt-environment-drives-off-price-store-sales/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://www.pymnts.com/"},{"@type":"ListItem","position":2,"name":"Ross Stores: ‘Treasure Hunt Environment’ Drives Off-Price Store Sales"}]},{"@type":"WebSite","@id":"https://www.pymnts.com/#website","url":"https://www.pymnts.com/","name":"PYMNTS.com","description":"What&#039;s next in payments and commerce","publisher":{"@id":"https://www.pymnts.com/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://www.pymnts.com/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https://www.pymnts.com/#organization","name":"PYMNTS.com","url":"https://www.pymnts.com/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https://www.pymnts.com/#/schema/logo/image/","url":"https://www.pymnts.com/wp-content/uploads/2023/05/PYMNTS_2023_logo_black-1.png","contentUrl":"https://www.pymnts.com/wp-content/uploads/2023/05/PYMNTS_2023_logo_black-1.png","width":3329,"height":687,"caption":"PYMNTS.com"},"image":{"@id":"https://www.pymnts.com/#/schema/logo/image/"},"sameAs":["https://www.facebook.com/pymnts/","https://x.com/pymnts"]},{"@type":"Person","@id":"https://www.pymnts.com/#/schema/person/9f0152ca483ca33a5d8121739eadfe4b","name":"PYMNTS","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https://www.pymnts.com/#/schema/person/image/","url":"https://secure.gravatar.com/avatar/f05cc0fdcc9e387e4f3570c17158c503?s=96&d=blank&r=g","contentUrl":"https://secure.gravatar.com/avatar/f05cc0fdcc9e387e4f3570c17158c503?s=96&d=blank&r=g","caption":"PYMNTS"},"sameAs":["https://www.facebook.com/pymnts","https://www.linkedin.com/company/pymnts-com","https://x.com/https://twitter.com/pymnts"],"url":"https://www.pymnts.com/author/pymnts/"}]}</script> <!-- / Yoast SEO Premium plugin. --> <link rel='dns-prefetch' href='//js.hs-scripts.com' /> <link rel='dns-prefetch' href='//stats.wp.com' /> <link rel='dns-prefetch' href='//fonts.googleapis.com' /> <link rel="alternate" type="application/rss+xml" title="PYMNTS.com &raquo; Feed" href="https://www.pymnts.com/feed/" /> <link rel="alternate" type="application/rss+xml" title="PYMNTS.com &raquo; Comments Feed" href="https://www.pymnts.com/comments/feed/" /> <link rel="alternate" type="application/rss+xml" title="PYMNTS.com &raquo; Ross Stores: ‘Treasure Hunt Environment’ Drives Off-Price Store Sales Comments Feed" href="https://www.pymnts.com/earnings/2024/ross-stores-treasure-hunt-environment-drives-off-price-store-sales/feed/" /> <script type="text/javascript"> /* <![CDATA[ */ window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/15.0.3\/72x72\/","ext":".png","svgUrl":"https:\/\/s.w.org\/images\/core\/emoji\/15.0.3\/svg\/","svgExt":".svg","source":{"concatemoji":"https:\/\/www.pymnts.com\/wp-includes\/js\/wp-emoji-release.min.js?ver=6.7.2"}}; /*! This file is auto-generated */ !function(i,n){var o,s,e;function c(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(o,JSON.stringify(t))}catch(e){}}function p(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data),r=(e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0),new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data));return t.every(function(e,t){return e===r[t]})}function u(e,t,n){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\uddfa\ud83c\uddf3","\ud83c\uddfa\u200b\ud83c\uddf3")&&!n(e,"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f","\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f");case"emoji":return!n(e,"\ud83d\udc26\u200d\u2b1b","\ud83d\udc26\u200b\u2b1b")}return!1}function f(e,t,n){var r="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):i.createElement("canvas"),a=r.getContext("2d",{willReadFrequently:!0}),o=(a.textBaseline="top",a.font="600 32px Arial",{});return e.forEach(function(e){o[e]=t(a,e,n)}),o}function t(e){var t=i.createElement("script");t.src=e,t.defer=!0,i.head.appendChild(t)}"undefined"!=typeof Promise&&(o="wpEmojiSettingsSupports",s=["flag","emoji"],n.supports={everything:!0,everythingExceptFlag:!0},e=new Promise(function(e){i.addEventListener("DOMContentLoaded",e,{once:!0})}),new Promise(function(t){var n=function(){try{var e=JSON.parse(sessionStorage.getItem(o));if("object"==typeof e&&"number"==typeof e.timestamp&&(new Date).valueOf()<e.timestamp+604800&&"object"==typeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if("undefined"!=typeof Worker&&"undefined"!=typeof OffscreenCanvas&&"undefined"!=typeof URL&&URL.createObjectURL&&"undefined"!=typeof Blob)try{var e="postMessage("+f.toString()+"("+[JSON.stringify(s),u.toString(),p.toString()].join(",")+"));",r=new Blob([e],{type:"text/javascript"}),a=new Worker(URL.createObjectURL(r),{name:"wpTestEmojiSupports"});return void(a.onmessage=function(e){c(n=e.data),a.terminate(),t(n)})}catch(e){}c(n=f(s,u,p))}t(n)}).then(function(e){for(var t in e)n.supports[t]=e[t],n.supports.everything=n.supports.everything&&n.supports[t],"flag"!==t&&(n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&n.supports[t]);n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&!n.supports.flag,n.DOMReady=!1,n.readyCallback=function(){n.DOMReady=!0}}).then(function(){return e}).then(function(){var e;n.supports.everything||(n.readyCallback(),(e=n.source||{}).concatemoji?t(e.concatemoji):e.wpemoji&&e.twemoji&&(t(e.twemoji),t(e.wpemoji)))}))}((window,document),window._wpemojiSettings); /* ]]> */ </script> <!-- pymnts.com is managing ads with Advanced Ads --><script id="pymnt-ready"> window.advanced_ads_ready=function(e,a){a=a||"complete";var d=function(e){return"interactive"===a?"loading"!==e:"complete"===e};d(document.readyState)?e():document.addEventListener("readystatechange",(function(a){d(a.target.readyState)&&e()}),{once:"interactive"===a})},window.advanced_ads_ready_queue=window.advanced_ads_ready_queue||[]; </script> <style id='wp-emoji-styles-inline-css'> img.wp-smiley, img.emoji { display: inline !important; border: none !important; box-shadow: none !important; height: 1em !important; width: 1em !important; margin: 0 0.07em !important; vertical-align: -0.1em !important; background: none !important; padding: 0 !important; } </style> <link rel='stylesheet' id='all-css-4' href='https://www.pymnts.com/_static/??-eJzTLy/QzcxLzilNSS3WzyrWz01NyUxMzUnNTc0rQeEU5CRWphbp5qSmJyZX6uVm5uklFxfr6OPTDpRD5sM02efaGpobWxpZmhgbGwAAROEu5A==' type='text/css' media='all' /> <style id='jetpack-sharing-buttons-style-inline-css'> .jetpack-sharing-buttons__services-list{display:flex;flex-direction:row;flex-wrap:wrap;gap:0;list-style-type:none;margin:5px;padding:0}.jetpack-sharing-buttons__services-list.has-small-icon-size{font-size:12px}.jetpack-sharing-buttons__services-list.has-normal-icon-size{font-size:16px}.jetpack-sharing-buttons__services-list.has-large-icon-size{font-size:24px}.jetpack-sharing-buttons__services-list.has-huge-icon-size{font-size:36px}@media print{.jetpack-sharing-buttons__services-list{display:none!important}}.editor-styles-wrapper .wp-block-jetpack-sharing-buttons{gap:0;padding-inline-start:0}ul.jetpack-sharing-buttons__services-list.has-background{padding:1.25em 2.375em} </style> <link rel='stylesheet' id='all-css-6' href='https://www.pymnts.com/wp-content/plugins/contact-form-7/includes/css/styles.css?m=1739354845g' type='text/css' media='all' /> <link rel='stylesheet' id='studio-fonts-css' href='//fonts.googleapis.com/css?family=Oswald%3ALato%3A400%2C700%7CWork+Sans%3A900%7CMontserrat%3A400%2C700%7COpen+Sans%3A800%7CPlayfair+Display%3A400%2C700%2C900%7CQuicksand%7CRaleway%3A200%2C400%2C700%7CRoboto+Slab%3A400%2C700%26subset%3Dlatin%2Clatin-ext&#038;ver=1.0.0' media='all' /> <script type="text/javascript" id="advanced-ads-advanced-js-js-extra"> /* <![CDATA[ */ var advads_options = {"blog_id":"1","privacy":{"enabled":false,"state":"not_needed"}}; /* ]]> */ </script> <script type="text/javascript" src="https://www.pymnts.com/_static/??-eJyVjt0KwjAMhV/Irsjm34X4LLGNXbY2q02r8+2touCFCEIgcHK+c6KvUREbXyyKHuqcC6bbazWBuBlkoX+ZVCCXIOOn2UyckbOOvjhi0WAvwAatAis6lqMno0EE8zPuff2WkHsMtfTkcVYBnBKaJU4jPjg7Bahv9WjGfzAB8rlPRbGvuuMSK30I++Wm3bWrbtuthzschWcp" ></script><link rel="https://api.w.org/" href="https://www.pymnts.com/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://www.pymnts.com/wp-json/wp/v2/posts/2297272" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://www.pymnts.com/xmlrpc.php?rsd" /> <meta name="generator" content="WordPress 6.7.2" /> <link rel='shortlink' href='https://www.pymnts.com/?p=2297272' /> <link rel="alternate" title="oEmbed (JSON)" type="application/json+oembed" href="https://www.pymnts.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fwww.pymnts.com%2Fearnings%2F2024%2Fross-stores-treasure-hunt-environment-drives-off-price-store-sales%2F" /> <link rel="alternate" title="oEmbed (XML)" type="text/xml+oembed" href="https://www.pymnts.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fwww.pymnts.com%2Fearnings%2F2024%2Fross-stores-treasure-hunt-environment-drives-off-price-store-sales%2F&#038;format=xml" /> <link rel="alternate" type="application/feed+json" title="PYMNTS.com &raquo; JSON Feed" href="https://www.pymnts.com/feed/json/" /> <link rel="alternate" type="application/feed+json" title="PYMNTS.com &raquo; Ross Stores: ‘Treasure Hunt Environment’ Drives Off-Price Store Sales Comments Feed" href="https://www.pymnts.com/earnings/2024/ross-stores-treasure-hunt-environment-drives-off-price-store-sales/feed/json/" /> <!-- DO NOT COPY THIS SNIPPET! Start of Page Analytics Tracking for HubSpot WordPress plugin v11.1.40--> <script class="hsq-set-content-id" data-content-id="blog-post"> var _hsq = _hsq || []; _hsq.push(["setContentType", "blog-post"]); </script> <!-- DO NOT COPY THIS SNIPPET! End of Page Analytics Tracking for HubSpot WordPress plugin --> <style>img#wpstats{display:none}</style> <script type="text/javascript"> var advadsCfpQueue = []; var advadsCfpAd = function( adID ){ if ( 'undefined' == typeof advadsProCfp ) { advadsCfpQueue.push( adID ) } else { advadsProCfp.addElement( adID ) } }; </script> <script> var userObject; </script> <!-- Begin comScore Tag --> <script> var _comscore = _comscore || []; _comscore.push({ c1: "2", c2: "39641934", options: { enableFirstPartyCookie: "true" } }); (function() { var s = document.createElement("script"), el = document.getElementsByTagName("script")[0]; s.async = true; s.src = "https://sb.scorecardresearch.com/cs/39641934/beacon.js"; el.parentNode.insertBefore(s, el); })(); </script> <noscript> <img src="https://sb.scorecardresearch.com/p?c1=2&c2=39641934&cv=3.9.1&cj=1"> </noscript> <!-- End comScore Tag --> <style type="text/css"> .post-cont-out, .post-cont-in { margin-right: 0; } .nav-links { display: none; } .nav-left-wrap { width: 60px; } .nav-logo-out { margin-left: -60px; } .nav-logo-in { margin-left: 60px; } .nav-logo-show { padding-right: 20px; width: 200px; height: 50px; } .nav-logo-show img { width: auto; padding-top: 5px; } .nav-left-width { width: 280px !important; } .nav-logo-out-fade { margin-left: -280px; } .nav-logo-in-fade { margin-left: 280px; } .share-count, .feat-info-views { display: none; }</style> <style type="text/css" id="custom-background-css"> body.custom-background { background-color: #f9f9f9; } </style> <link rel="icon" href="https://www.pymnts.com/wp-content/uploads/2022/11/cropped-PYMNTS-Icon-512x512-1.png?w=32" sizes="32x32" /> <link rel="icon" href="https://www.pymnts.com/wp-content/uploads/2022/11/cropped-PYMNTS-Icon-512x512-1.png?w=192" sizes="192x192" /> <link rel="apple-touch-icon" href="https://www.pymnts.com/wp-content/uploads/2022/11/cropped-PYMNTS-Icon-512x512-1.png?w=180" /> <meta name="msapplication-TileImage" content="https://www.pymnts.com/wp-content/uploads/2022/11/cropped-PYMNTS-Icon-512x512-1.png?w=270" /> <style> html { margin-top: 0px !important; } </style> <!-- Google Tag Manager --> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],j=d.createElement(s);j.async=true;j.src="https://load.gtm.pymnts.com/4gb8jtcwxmzux.js?"+i;f.parentNode.insertBefore(j,f);})(window,document,'script','dataLayer','dzrxseq=aWQ9R1RNLVdWRldDRDk1JmFzPXk%3D&page=1');</script> <!-- End Google Tag Manager --> <!-- Standard Google Analytics tag (gtag.js) --> <script async src="https://www.googletagmanager.com/gtag/js?id=G-LT5LN10NVZ"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-LT5LN10NVZ'); </script> <!-- End standard Google Analytics tag --> </head> <body> <style> .pymnt_ads { width: 100%; display: flex; justify-content: center; } .pymnt_ads img { width: 100%; height: auto; } .adContainer { max-height: 300px; margin: auto; } .adContainer img { max-height: 300px; } .pymnt_ads img.adb-placeholder-blank { display: none; } </style> <div id="PYMNT_ad" class="bg-dark pymnt_ads"> <div class="adContainer" data-ad-group="156701"> <div data-pymnt-trackid="2439345" data-pymnt-trackbid="1" class="pymnt-target" id="pymnt-1642771429"><!-- RD & MC - Billboard/Bottom/Category Article Zone (Auto Refresh) [js] --> <script type="text/javascript"> var rnd = window.rnd || Math.floor(Math.random()*10e6); var pid840509 = window.pid840509 || rnd; var plc840509 = window.plc840509 || 0; var abkw = window.abkw || ''; var absrc = 'https://servedbyadbutler.com/adserve/;ID=188401;size=0x0;setID=840509;type=js;sw='+screen.width+';sh='+screen.height+';spr='+window.devicePixelRatio+';kw='+abkw+';pid='+pid840509+';place='+(plc840509++)+';rnd='+rnd+'';var _absrc = absrc.split("type=js"); absrc = _absrc[0] + 'type=js;referrer=' + encodeURIComponent(document.location.href) + _absrc[1]; document.write('<scr'+'ipt src="'+absrc+'" type="text/javascript"></scr'+'ipt>'); </script><!-- PI - Billboard/Bottom/Category article zone ( WAR) [js] --> <script type="text/javascript"> var rnd = window.rnd || Math.floor(Math.random()*10e6); var pid846291 = window.pid846291 || rnd; var plc846291 = window.plc846291 || 0; var abkw = window.abkw || ''; var absrc = 'https://servedbyadbutler.com/adserve/;ID=188401;size=0x0;setID=846291;type=js;sw='+screen.width+';sh='+screen.height+';spr='+window.devicePixelRatio+';kw='+abkw+';pid='+pid846291+';place='+(plc846291++)+';rnd='+rnd+''; document.write('<scr'+'ipt src="'+absrc+'" type="text/javascript"></scr'+'ipt>'); </script></div> </div> </div> <div class="container-scroller" id="headerContainerScroller"> <div class="main-header w-100"> <header class="mb-5 main-nav "> <div class="container-fluid p-0" id="header-2022-bs-container"> <div class="row g-0 border-mobile bg-black"> <div class="col-10 col-lg-9 d-flex justify-content-start align-items-center ps-3 ps-lg-5 py-0 bg-black py-1"> <div class="logo"> <a href="/"> <img width="100%" height="50" src="/wp-content/uploads/2023/04/PYMNTS_2023_logo_white.svg?v=1.1" class="card-img-top" alt="PYMNTS Logo"> </a> </div> </div> <div class="col-2 col-lg-3 justify-content-end align-items-center d-flex py-0 pe-3 pe-lg-5 bg-black"> <div class="row row-cols-auto"> <div class="col ms-auto d-flex justify-content-end align-items-center navbar-dark utility text-white"> <div class="search-container hide-mobile" style="bottom:15px;"> <div class="pymnts-search"> <form method="get" id="searchform" action="/"> <div style="display: flex;"> <input name="s" id="s" placeholder="SEARCH" type="search" class="search-bar border-0 px-1 mx-n2"> <button type="submit" class="search-icon-btn border-0 mx-0 px-0"> <i class="bi bi-search"></i> </button> </div> </form> </div> </div> <div class="hide-mobile ms-2"> <a href="/streaming/" class="text-uppercase fw-bolder" style="color:#00A469">WATCH NOW</a>&nbsp;|&nbsp;<a href="/subscribe/" class="text-white">SUBSCRIBE</a> </div> <button class="navbar-toggler hide-desktop" type="button" data-bs-toggle="collapse" data-bs-target="#main_nav"> <span class="navbar-toggler-icon"></span> </button> </div> </div> </div> <div class="col-12 col-lg-12 align-items-center border-top border-bottom border-dark px-0 mobile-display bg-white"> <nav class="navbar navbar-expand-lg navbar-light p-0"> <div class="container-fluid"> <div class="collapse navbar-collapse" id="main_nav"> <ul class="navbar-nav flex-fill navbar-nav-scroll"> <li class="nav-item hide-desktop"> <form class="d-flex mx-auto" method="get" role="search" id="searchform" action="/" style="max-width:250px;"> <input name="s" id="s" class="form-control me-0 fw-normal smaller text-light" type="search" placeholder="Search PYMNTS..." aria-label="Search"> <button class="btn btn-outline-success text-uppercase small fw-bold border-start-0" type="submit">Search</button> </form> </li> <li class="nav-item border-end border-dark align-items-start noborder-mobile ms-lg-5 mt-3 mt-lg-0"> <a href="https://tv.pymnts.com/" class="nav-link"><i class="bi bi-tv-fill"></i>&nbsp;PYMNTS TV</a> </li> <li class="nav-item"><a class="nav-link" href="/today-on-pymnts/"> Today </a></li> <li class="nav-item"><a class="nav-link" href="/topic/b2b/"> B2B </a></li> <li class="nav-item"><a class="nav-link" href="/topic/retail/"> Retail </a> </li> <li class="nav-item"><a class="nav-link" href="/topic/fintech/"> Fintech </a></li> <li class="nav-item"><a class="nav-link" href="/topic/connected-economy/"> Digital Transformation </a> </li> <li class="nav-item"><a class="nav-link" href="/topic/crypto/"> Crypto </a> </li> <li class="nav-item"><a class="nav-link" href="/topic/ai"> AI </a></li> <!-- <li class="nav-item"><a class="nav-link" href="/tracker/"> Tracker<sup>&#174;</sup> Reports </a></li> --> <!-- <li class="nav-item"><a class="nav-link" href="/study/"> PYMNTS<sup>&#174;</sup> Intelligence </a></li> --> <!-- NEW DROP DOWN MENU --> <li class="nav-item dropdown noborder-mobile d-none d-lg-block"> <a class="nav-link dropdown-toggle fw-bold" href="https://www.pymnts.com/pymnts-intelligence/" role="button" id="intelligence-link" data-bs-toggle="dropdown" aria-expanded="false"> PYMNTS<sup>®</sup> Intelligence </a> <ul class="dropdown-menu w-100 rounded-0" style="border-color:#ccc;"> <li class="mt-3"><a class="dropdown-item mb-2" style="font-size: 0.85rem;" href="/tracker">Trackers</a> </li> <li><a class="dropdown-item" href="/study" style="font-size: 0.85rem;">Proprietary Data Studies</a> </li> <li><a class="dropdown-item" href="/study/?filter-type=category&filter-items=pymnts-data-lab" style="font-size: 0.85rem;">PYMNTS Data Lab</a> </li> </ul> </li> <div class="nav-item d-block d-lg-none my-4"> <li class="nav-item"> <a class="nav-link fw-bold" href="https://www.pymnts.com/pymnts-intelligence/" role="button"> PYMNTS<sup>®</sup> Intelligence </a></li> <li class="nav-item"><a class="nav-link" href="/tracker">Trackers</a> </li> <li class="nav-item"><a class="nav-link" href="/study">Proprietary Data Studies</a> </li> <li class="nav-item"><a class="nav-link" href="/study/?filter-type=category&filter-items=pymnts-data-lab">PYMNTS Data Lab</a> </li> </div> <li class="nav-item"><a class="nav-link" href="/topic/markets/"> Markets </a></li> <li class="nav-item"><a class="nav-link" href="/events/"> Events </a></li> <!-- END NEW DROP DOWN MENU --> <li class="border-start border-dark nav-item dropdown has-megamenu noborder-mobile align-items-end me-lg-5"> <a href="#" class="nav-link dropdown-toggle no-border hide-mobile" data-bs-toggle="dropdown">More&nbsp;<i class="bi bi-three-dots-vertical"></i></a> <div class="dropdown-menu megamenu shadow border" role="menu"> <div class="row"> <div class="col px-0"> <div class="pb-2 pb-lg-0 g-0 d-flex flex-column flex-lg-row justify-content-lg-evenly"> <div class="mb-0 mb-lg-3 text-center text-md-start mx-auto mx-lg-0 ps-0"> <h6 class="fw-bold text-uppercase mb-2 mb-lg-3 small"> <a href="/topic">Topics</a> </h6> <div class="row row-cols-1 row-cols-md-3 g-md-5"> <div class="col"> <ul class="m-0 p-0"> <li><a href="/topic/ai/" class="text-nowrap">Artifical Intelligence</a></li> <li><a href="/topic/automotive/" class="text-nowrap">Connected Car</a> </li> <li><a href="/topic/buy-now-pay-later/" class="text-nowrap">Buy Now Pay Later</a></li> <li><a href="/topic/banking/" class="text-nowrap">Banking</a> </li> <li><a href="/topic/cloud/" class="text-nowrap">Cloud</a> </li> <li><a href="/topic/cross-border/" class="text-nowrap">Cross-Border Payments</a></li> </ul> </div> <div class="col"> <ul class="m-0 p-0"> <li><a href="/topic/gig-economy/" class="text-nowrap">Gig-Economy</a> </li> <li><a href="/topic/grocery-and-pharmacy/" class="text-nowrap">Grocery & Pharmacy</a></li> <li><a href="/topic/healthcare-payments/" class="text-nowrap">Healthcare Payments</a></li> <li><a href="/topic/insurtech/" class="text-nowrap">Insurtech</a> </li> <li><a href="/topic/smbs/" class="text-nowrap">Small & Medium Businesses</a> </li> <li><a href="/topic/social-platforms/" class="text-nowrap">Social Platforms</a></li> </ul> </div> <div class="col pe-0"> <ul class="m-0 p-0 mb-3"> <li><a href="/topic/subscription-commerce/" class="text-nowrap">Subscription Commerce</a></li> <li><a href="/topic/travel-payments/" class="text-nowrap">Travel</a> </li> <li><a href="/topic/techreg/" class="text-nowrap">TechREG<sup>&#174;</sup></a> </li> <li><a href="/topic/real-time-payments/" class="text-nowrap">Real-Time Payments</a></li> <li><a href="/topic/restaurants/" class="text-nowrap">Restaurants</a> </li> <li class="nav-item"><a class="text-nowrap" href="/emea/"> EMEA </a></li> </ul> </div> </div> </div> <div class="vr hide-mobile"></div> <div class="ps-0 mx-auto mx-lg-0"> <h6 class="fw-bold text-uppercase mb-3 small hide-mobile"> Featured </h6> <div class="row"> <div class="col mt-2 mt-lg-0"> <div class="row"> <div class="col"> <ul class="m-0 p-0 d-flex flex-row flex-wrap flex-lg-nowrap flex-lg-column justify-content-center justify-content-lg-start"> <li class="me-4 me-lg-0 hide-desktop fw-bold small"> SEE ALSO:</li> <li class="me-4 me-lg-0"><a href="/tag/editors-picks/" class="text-nowrap small">Editor’s Picks</a></li> <li class="me-4 me-lg-0"><a href="/author/karen-webster/" class="text-nowrap small">Opinion</a> </li> <li class="me-4 me-lg-0"><a href="/connected-economy-index/" class="text-nowrap small">CE100 Index</a></li> <li class="me-4 me-lg-0"><a href="/topic/working-capital-liquidity" class="small text-nowrap">Working Capital & Liquidity</a></li> <li class="me-4 me-lg-0"> <a href="/cpi/" class="small text-nowrap text-primary">Competition Policy International</a><br> <span class="text-secondary smaller"><i>A PYMNTS Company</i></span> </li> </ul> </div> </div> </div> </div> </div> <div class="vr py-2 hide-mobile"></div> <div class="mb-3 text-center text-lg-start hide-mobile"> <h6 class="fw-bold text-uppercase mb-3 small"> Stay Current </h6> <div class="row"> <div class="col"> <ul class="m-0 p-0"> <li class="text-nowrap"><i class="bi bi-calendar"></i>&nbsp;<a href="/events/" class="text-nowrap small">Events</a> </li> <li class="text-nowrap"><i class="bi bi-envelope-plus"></i>&nbsp;<a href="/subscribe/" class="text-nowrap small">Subscribe</a> </li> <li class="text-nowrap"><i class="bi bi-people-fill"></i>&nbsp;<a href="/partnerships/" class="text-nowrap small">Advertise With Us</a></li> </ul> </div> </div> </div> </div> </div> </div> </div> </div> </div> </li> </ul> </div> </div> </nav> </div> </div> <script> /* * Handle Pymnts Charts */ function getChartType(option) { const series = option.series; const isArray = Array.isArray(series); if (isArray) { console.log("series is array"); if (series[0].type) return series[0].type; } else { console.log("series is not array"); } console.log("SERIES", series); alert("UNKNOWN CHART"); } function adjustTitleLength(title) { let titleStr = title.replaceAll('<br>', ''); const max = 35; const titleWords = titleStr.split(' '); const titleArr = []; let curLine = titleWords[0] let count = curLine.length; for (let i = 1; i < titleWords.length; ++i) { count += titleWords[i].length; if (count > max) { titleArr.push(curLine); curLine = titleWords[i]; count = curLine.length; } else curLine += ' ' + titleWords[i]; } if (curLine.length) titleArr.push(curLine); return titleArr.join("\n"); } function adjustTitles(option) { if (option.title && option.title.text) option.title.text = adjustTitleLength(option.title.text); if (option.title && option.title.subtext) option.title.subtext = adjustTitleLength(option.title.subtext); } function adjustMobilePie(chartDom, option) { delete option.legend.top; option.legend.bottom = 0; const currentHeight = chartDom.clientHeight; chartDom.style.height = currentHeight + 60 + "px"; option.grid = {}; option.grid = { top: -30 } } function adjustMobileLine(chartDom, option) { const currentHeight = chartDom.clientHeight; chartDom.style.height = currentHeight + 35 + "px"; option.grid.height = 350; } function adjustMobileBar(chartDom, option) { // If vertical bar chart if (option.xAxis.type === 'value') { option.yAxis.show = false; } } function adjustToMobile(chartDom, option) { console.log("ADJUST TO MOBILE"); const chartType = getChartType(option); console.log('Chart Type', chartType); chartDom.style.margin = "" adjustTitles(option); const numTitleLines = option.title.text ? option.title.text.split("\n").length : 0; const numSubtitleLines = option.title.subtext ? option.title.subtext.split("\n").length : 0; const increase = (numTitleLines * 16) + (numSubtitleLines * 14); const curHeight = chartDom.clientHeight; chartDom.style.height = curHeight + increase + "px"; option.grid = {}; option.grid.top = increase + 50; option.tooltip.position = function(point, params, dom, rect, size) { console.log(dom.clientWidth, size.viewSize[0]) return [(size.viewSize[0] - dom.clientWidth) / 2, point[1]]; }; switch (chartType) { case 'bar': return adjustMobileBar(chartDom, option); case 'line': return adjustMobileLine(chartDom, option); case 'pie': return adjustMobilePie(chartDom, option); default: console.error('No Mobile adjustment for Chart Type: ', chartType); } } function mcwParser(str, token) { console.log('str', typeof str, str) const par = JSON.parse(str, (key, value) => { if (typeof value === 'string' && value.startsWith(token)) { const func = value.substring(8); return eval(func); } return value; }) return par; } async function loadPymntsCharts() { console.log('loadPymntsCharts'); const charts = document.querySelectorAll('.pymntsChart'); console.log('loadPymntsCharts charts', charts); for (let i = 0; i < charts.length; ++i) { let request = { url: `https://charts.pymnts.com:6300/id/${charts[i].getAttribute('id')}`, method: 'get' }; console.log('request', request); let response; try { response = await axios(request); var chartDom = charts[i]; console.log('loadPymntsCharts response', response.data); if (typeof response.data === 'undefined' || !response.data.length) return; console.log('loadPymntsCharts ready to rock and roll'); var option = mcwParser(response.data[0].option, 'funcxyz_'); console.log('loadPymntsCharts option', option); option.title.textStyle.fontSize = 14; option.title.textStyle.fontWeight = 'bold'; option.title.subtextStyle.fontSize = 12; chartDom.style.height = option.info.containerHeight ? option.info.containerHeight + 'px' : '500px'; chartDom.style.width = '90%'; chartDom.style.maxWidth = '1200px'; chartDom.style.margin = '1rem auto'; if (window.innerWidth <= 768) adjustToMobile(chartDom, option); var myChart = echarts.init(chartDom); myChart.setOption(option); if (option.info && option.info.source) { const parent = charts[i].parentNode; console.log('parentNode', parent); const node = document.createElement("div"); const below = option.info.below ? option.info.below : ''; node.innerHTML = below + "<br />Source: " + option.info.source; node.style.width = '90%'; node.style.maxWidth = '1200px'; node.style.margin = '1rem auto'; parent.appendChild(node); } } catch (e) { console.error('loadPymntsCharts error', e); } } } window.addEventListener('DOMContentLoaded', loadPymntsCharts); let lastYScroll = -1000000000 const handleHeaderScrolling = () => { const container = document.querySelector('header'); let position = container.style.position; lastYScroll = window.scrollY; } window.addEventListener('scroll', handleHeaderScrolling); </script> <script> const intelligenceLink = document.getElementById("intelligence-link"); const handleIntelligenceClick = () => { window.open("https://www.pymnts.com/pymnts-intelligence/", '_self') } intelligenceLink.addEventListener("click", handleIntelligenceClick) </script> </header> </div> </div><!-- This is html for all articles --> <style> h1, h2, h3, h4, h5 { text-transform:none!important; font-weight:700!important; } .modal-header .btn-x, .modal-header .btn-x:focus, .modal-header .btn-x:hover { box-sizing: content-box; width: 1em; height: 1em; padding: 0.25em 0.25em; color: #000; background: transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat; border: 0; border-radius: 0.375rem; opacity: 0.5; background-color:#fff; } .wpcf7 form{ --bs-bg-opacity: 1; /* color: white; */ background-color: #EFEFEF !important; border-radius: var(--bs-border-radius) !important; padding: 3rem !important; box-shadow: 0 .2rem 1rem rgba(0, 0, 0, .1) !important; } .wpcf7 form a{ /* color: white; */ } .wpcf7 form em{ font-size: 12px } .wpcf7 form input[type=text], .wpcf7 form input[type=email], .wpcf7 form input[type=tel], .wpcf7 form select { width: 100%; border-radius: 0.375rem; height: 40px; border: none; font-size: 14px; } .wpcf7 form input[type=submit] { width: 100%; border-radius: 0.375rem; height: 40px; border: none; margin-top: 1rem; font-size: 1rem !important; border: 1px solid gray; } .wpcf7-response-output{ border: none !important; margin: 2em 0 1em !important; padding: 0 !important; } </style> <script>const postType = 'default'; </script> <div class="container my-5 article-post" id="singleContainer"> <div class="row " id="articlePost"> <div class="col-12 col-lg-8 ms-auto mb-4" id="insertArticle"> <h1 class="mb-4 text-center text-dark fw-bold display-6"> Ross Stores: ‘Treasure Hunt Environment’ Drives Off-Price Store Sales </h1> <div class="post-info-right left relative article-author-box mb-2"> <div class="post-info-name"> <div class="row"> <div class="col-6 my-auto"> <span class="post-info-text small muted text-uppercase">By</span> <span class="author-name vcard fn small muted text-uppercase fw-bold" itemprop="author"> <a href="https://www.pymnts.com/author/pymnts/" title="Posts by PYMNTS" rel="author">PYMNTS</a> </span> <span class="small muted d-none d-md-inline">&nbsp;|&nbsp;</span> <span class="small muted text-uppercase d-block d-md-inline">November 22, 2024</span> </div> <div class="col-6 text-end my-auto"> <!-- <span class="d-none d-sm-inline">Share:</span> --> <a href="https://www.facebook.com/sharer.php?u=https://www.pymnts.com/earnings/2024/ross-stores-treasure-hunt-environment-drives-off-price-store-sales/&amp;t=Ross+Stores%3A+%E2%80%98Treasure+Hunt+Environment%E2%80%99+Drives+Off-Price+Store+Sales" title="Share on Facebook"><i class="bi bi-facebook me-1 text-dark"></i></a><a href="https://twitter.com/share?text=Ross+Stores%3A+%E2%80%98Treasure+Hunt+Environment%E2%80%99+Drives+Off-Price+Store+Sales -&amp;url=https://www.pymnts.com/earnings/2024/ross-stores-treasure-hunt-environment-drives-off-price-store-sales/" title="Tweet This Post"><i class="bi bi-twitter-x mx-1 mx-1 text-dark"></i></a><a href="https://www.linkedin.com/shareArticle?mini=true&amp;url=https://www.pymnts.com/earnings/2024/ross-stores-treasure-hunt-environment-drives-off-price-store-sales/&amp;title=Ross+Stores%3A+%E2%80%98Treasure+Hunt+Environment%E2%80%99+Drives+Off-Price+Store+Sales&amp;summary=&amp;source=" title="Share on LinkedIn"><i class="bi bi-linkedin mx-1 mx-1 text-dark"></i></a><a href="mailto:?subject=Ross Stores: ‘Treasure Hunt Environment’ Drives Off-Price Store Sales&amp;BODY=I found this article interesting and want to share it with you. Check it out: https://www.pymnts.com/earnings/2024/ross-stores-treasure-hunt-environment-drives-off-price-store-sales/"><i class="bi bi-envelope-fill ms-1 me-0 ms-1 me-md-1 text-dark"></i></a> <span class="d-none d-md-inline">&nbsp;|&nbsp;</span> <span class="d-block d-md-inline"> <button class="d-none d-lg-inline-block noHover audioPlay border-0 px-0 article-play-button fw-normal py-1 my-0" type="button" value="Play"> <i class="bi bi-play-circle-fill mx-1 text-dark"></i></button> <button class="d-lg-none noHover audioPlay border-0 px-0 article-play-button fw-normal py-1 my-0" type="button" value="Play"><span class="listenToArticle small text-uppercase"></span><i class="bi bi-play-circle-fill text-dark mx-1"></i></button> <button class="noHover audioPause border-0 px-0 article-pause-button py-1 my-0"><i class="bi bi-pause-circle-fill text-dark mx-0"></i></button> </span> </div></div> </div> </div> <div id="post-feat-img" class="left relative mb-3"> <img class="py-desktop w-100 h-auto pymnts-featured-sm-image " width="1000" height="600" alt="" src="https://www.pymnts.com/wp-content/uploads/2024/05/Ross-Stores-1.jpg?w=768" /> </div> <div class="post-feat-text"> </div> <!--post-feat-img--> <div id="pymnts-content2297272" class="single lh-article mt-1 lnk-article"> <p><a class="editor-rtfLink" href="https://investors.rossstores.com/" target="_blank" rel="noopener"><span data-preserver-spaces="true">Ross Stores</span></a><span data-preserver-spaces="true"> aims to draw customers and drive sales by offering value and a “treasure hunt environment,” executives said Thursday (Nov. 21) during the off-price retailer’s quarterly earnings call.</span></p> <p><span data-preserver-spaces="true">At its </span><a class="editor-rtfLink" href="https://www.rossstores.com/" target="_blank" rel="noopener"><span data-preserver-spaces="true">Ross Dress for Less</span></a><span data-preserver-spaces="true"> and </span><a class="editor-rtfLink" href="https://www.ddsdiscounts.com/" target="_blank" rel="noopener"><span data-preserver-spaces="true">dd’s Discounts</span></a><span data-preserver-spaces="true"> stores, which are largely focused on apparel and home goods, the company turns goods quickly by offering “the right goods at the right value,” Ross Stores Vice Chair and CEO </span><a class="editor-rtfLink" href="https://investors.rossstores.com/management/barbara-rentler" target="_blank" rel="noopener"><span data-preserver-spaces="true">Barbara Rentler</span></a><span data-preserver-spaces="true"> said during the call.</span></p> <p><span data-preserver-spaces="true">“It’s really about the value you’re putting on the floor, the products and the value,” Rentler said. “Then it will turn quickly because the customer knows in a treasure hunt environment, ‘If I don’t buy it, it won’t be there next week.’”</span></p> <p><span data-preserver-spaces="true">Ross Stores saw a 1% gain in comparable store sales in the quarter that ended Nov. 2, while seeing a 3% gain in the nine months ended Nov. 2, according to a Thursday </span><a class="editor-rtfLink" href="https://investors.rossstores.com/news-releases/news-release-details/ross-stores-reports-third-quarter-earnings-updates-fourth-4" target="_blank" rel="noopener"><span data-preserver-spaces="true">earnings release</span></a><span data-preserver-spaces="true">.</span></p> <p><span data-preserver-spaces="true">Rentler said the company was disappointed with the slowdown in sales gains during the quarter but added that its earnings were better than expected due to a higher operating margin and lower costs for incentives, freight and distribution, according to the release.</span></p> <p><span data-preserver-spaces="true">She attributed Ross Stores’ slower rate of sales growth to the high costs of necessities that continue to pressure customers’ discretionary spending, severe weather from Hurricanes Helene and Milton, and unseasonably warm weather, per the release.</span></p> <p><span data-preserver-spaces="true">Rentler also said in the release that “we believe we should have better executed some of our merchandising initiatives.”</span></p> <p><span data-preserver-spaces="true">“I think we had some execution issues in a couple of businesses that we’ve identified and that we think we can correct — didn’t probably move as quickly as we should have in some things where there were, I would say, shifts in the world from a product perspective,” Rentler said during the call. “So, I feel that’s an opportunity, and we missed some volume there.”</span></p> <p><span data-preserver-spaces="true">Looking ahead, Ross Stores expects to see comparable store sales growth of 2% to 3% in the quarter ending Feb. 1, 2025, according to the earnings release.</span></p> <p><span data-preserver-spaces="true">“As you get into the fourth quarter, many of the businesses that are really important during the holiday season, whether it’s gifting or cosmetics, </span><span data-preserver-spaces="true">those businesses</span><span data-preserver-spaces="true"> have been strengths for us,” Rentler said during the call. “So, as we go into that period, we’re going to some of our strongest businesses.”</span></p> <div class="pymnt-b91ac75ec77539b51eaeac8874d77dee pymnt-bottom-of-article" id="pymnt-b91ac75ec77539b51eaeac8874d77dee"></div> <div id="bottom-ad"> <div data-pymnt-trackid="2439346" data-pymnt-trackbid="1" class="pymnt-target" id="pymnt-105029146"><!-- RD & MC Bottom Article Zone (Auto Refresh) [js] --> <script type="text/javascript"> var rnd = window.rnd || Math.floor(Math.random()*10e6); var pid848355 = window.pid848355 || rnd; var plc848355 = window.plc848355 || 0; var abkw = window.abkw || ''; var absrc = 'https://servedbyadbutler.com/adserve/;ID=188401;size=0x0;setID=848355;type=js;sw='+screen.width+';sh='+screen.height+';spr='+window.devicePixelRatio+';kw='+abkw+';pid='+pid848355+';place='+(plc848355++)+';rnd='+rnd+'';var _absrc = absrc.split("type=js"); absrc = _absrc[0] + 'type=js;referrer=' + encodeURIComponent(document.location.href) + _absrc[1]; document.write('<scr'+'ipt src="'+absrc+'" type="text/javascript"></scr'+'ipt>'); </script><!-- PI - Billboard/Bottom/Category article zone ( WAR) [js] --> <script type="text/javascript"> var rnd = window.rnd || Math.floor(Math.random()*10e6); var pid846291 = window.pid846291 || rnd; var plc846291 = window.plc846291 || 0; var abkw = window.abkw || ''; var absrc = 'https://servedbyadbutler.com/adserve/;ID=188401;size=0x0;setID=846291;type=js;sw='+screen.width+';sh='+screen.height+';spr='+window.devicePixelRatio+';kw='+abkw+';pid='+pid846291+';place='+(plc846291++)+';rnd='+rnd+''; document.write('<scr'+'ipt src="'+absrc+'" type="text/javascript"></scr'+'ipt>'); </script><br/></div> </div> <div class="row row-cols-1 row-cols-lg-1 recommended-articles" style="clear:both;"> <div class="col mb-1"> <h4 class="header-border text-uppercase small mb-0"> <span class="border-layer border-secondary"> Recommended </span> </h4> <div class="row item noBorderLast remove-col-3"> <div class="col-12 col-md-3 border-bottom border-light py-2 fw-bolder recommended-1"> <a href="https://www.pymnts.com/news/artificial-intelligence/2025/european-ceos-want-investment-ai-infrastructure/" class="small recommended-link" rel="bookmark" title="European CEOs Call for Investment in AI Infrastructure">European CEOs Call for Investment in AI Infrastructure</a> </div> <div class="col-12 col-md-3 border-bottom border-light py-2 fw-bolder recommended-2"> <a href="https://www.pymnts.com/news/retail/2025/gray-is-the-new-gold-luxury-brands-target-aging-wealth/" class="small recommended-link" rel="bookmark" title="Gray Is the New Gold: Luxury Brands Target Aging Wealth">Gray Is the New Gold: Luxury Brands Target Aging Wealth</a> </div> <div class="col-12 col-md-3 border-bottom border-light py-2 fw-bolder recommended-3"> <a href="https://www.pymnts.com/antitrust/2025/apple-and-google-under-scrutiny-for-potential-antitrust-violations-in-the-uk/" class="small recommended-link" rel="bookmark" title="Apple and Google Under Scrutiny for Potential Antitrust Violations in the UK">Apple and Google Under Scrutiny for Potential Antitrust Violations in the UK</a> </div> <div class="col-12 col-md-3 border-bottom border-light py-2 fw-bolder recommended-4"> <a href="https://www.pymnts.com/artificial-intelligence-2/2025/data-connects-the-dots-to-new-revenue-opportunities-for-banks/" class="small recommended-link" rel="bookmark" title="Data ‘Connects the Dots’ to New Revenue Opportunities for Banks">Data ‘Connects the Dots’ to New Revenue Opportunities for Banks</a> </div> </div> </div> <div class="col"> <div class="post-tags"> <span class="smaller fw-bold text-uppercase">See More In: </span><span class="smaller muted text-uppercase" itemprop="keywords"><a href="https://www.pymnts.com/tag/dds-discounts/" rel="tag">dd’s Discounts</a>, <a href="https://www.pymnts.com/tag/earnings/" rel="tag">Earnings</a>, <a href="https://www.pymnts.com/tag/holidays/" rel="tag">holidays</a>, <a href="https://www.pymnts.com/tag/news/" rel="tag">News</a>, <a href="https://www.pymnts.com/tag/pymnts-news/" rel="tag">PYMNTS News</a>, <a href="https://www.pymnts.com/tag/retail/" rel="tag">Retail</a>, <a href="https://www.pymnts.com/tag/retail-sales/" rel="tag">Retail sales</a>, <a href="https://www.pymnts.com/tag/revenue/" rel="tag">Revenue</a>, <a href="https://www.pymnts.com/tag/ross-dress-for-less/" rel="tag">Ross Dress for Less</a>, <a href="https://www.pymnts.com/tag/ross-stores/" rel="tag">ross stores</a>, <a href="https://www.pymnts.com/tag/whats-hot/" rel="tag">What's Hot</a></span> </div> </div> </div> </div> </div> <div id="sidebar-container" class="d-none d-lg-block col-3 ms-5 me-auto"> <div id="sidebar-wrap" class="small"> <h4 class="header-border text-uppercase mb-2 fs-6 small"> <span class="border-layer"> Trending News </span> </h4> <div class="d-flex mb-3"> <div class="item flex-grow-1 noBorderLast"> <div class="border-bottom border-light pb-2"> <a href="https://www.pymnts.com/cryptocurrency/2025/binance-tops-pymnts-provider-rankings-of-us-cryptocurrency-apps/" title="Binance Tops PYMNTS’ Provider Rankings of US Cryptocurrency Apps" > Binance Tops PYMNTS’ Provider Rankings of US Cryptocurrency Apps </a> <br> </div> <div class="border-bottom border-light py-2"> <a href="https://www.pymnts.com/amazon/2025/amazon-reportedly-delaying-updated-alexa-over-incorrect-answers/" title="Amazon Reportedly Delaying Updated Alexa Over Incorrect Answers"> Amazon Reportedly Delaying Updated Alexa Over Incorrect Answers </a> <br> </div> <div class="border-bottom border-light py-2"> <a href="https://www.pymnts.com/identity/2025/unbeatable-fake-ids-become-booming-underground-business/" title="'Unbeatable' Fake IDs Become Booming Underground Business"> 'Unbeatable' Fake IDs Become Booming Underground Business </a> <br> </div> </div> </div> <h4 class="header-border text-uppercase mb-2 fs-6 small"> <span class="border-layer"> The Big Story </span> </h4> <div class="d-flex mb-3"> <div class="item flex-grow-1 noBorderLast"> <div class="border-bottom border-light pb-2"> <a href="https://www.pymnts.com/news/artificial-intelligence/2025/march-madness-2025-beyond-when-ai-meets-big-dance/" title="March Madness 2025 and Beyond: When AI Meets the Big Dance" > March Madness 2025 and Beyond: When AI Meets the Big Dance </a> <br> </div> </div> </div> <style> #PYMNT_report_ad.pymnt_ads { width: 100%; display: flex; justify-content: center; } #PYMNT_report_ad.pymnt_ads img { width: 100%; height: auto; } </style> <div id="PYMNT_report_ad" class="pymnt_ads"> <div class="mb-5 mt-3"> <div data-pymnt-trackid="2439347" data-pymnt-trackbid="1" class="pymnt-target" id="pymnt-1632179880"><!-- RD & MC - Sidebar Zone(Auto Refresh) [js] --> <script type="text/javascript"> var rnd = window.rnd || Math.floor(Math.random()*10e6); var pid840510 = window.pid840510 || rnd; var plc840510 = window.plc840510 || 0; var abkw = window.abkw || ''; var absrc = 'https://servedbyadbutler.com/adserve/;ID=188401;size=0x0;setID=840510;type=js;sw='+screen.width+';sh='+screen.height+';spr='+window.devicePixelRatio+';kw='+abkw+';pid='+pid840510+';place='+(plc840510++)+';rnd='+rnd+'';var _absrc = absrc.split("type=js"); absrc = _absrc[0] + 'type=js;referrer=' + encodeURIComponent(document.location.href) + _absrc[1]; document.write('<scr'+'ipt src="'+absrc+'" type="text/javascript"></scr'+'ipt>'); </script><!-- PI - Sidebar zone ( WAR) [js] --> <script type="text/javascript"> var rnd = window.rnd || Math.floor(Math.random()*10e6); var pid846292 = window.pid846292 || rnd; var plc846292 = window.plc846292 || 0; var abkw = window.abkw || ''; var absrc = 'https://servedbyadbutler.com/adserve/;ID=188401;size=0x0;setID=846292;type=js;sw='+screen.width+';sh='+screen.height+';spr='+window.devicePixelRatio+';kw='+abkw+';pid='+pid846292+';place='+(plc846292++)+';rnd='+rnd+'';var _absrc = absrc.split("type=js"); absrc = _absrc[0] + 'type=js;referrer=' + encodeURIComponent(document.location.href) + _absrc[1]; document.write('<scr'+'ipt src="'+absrc+'" type="text/javascript"></scr'+'ipt>'); </script></div> </div> </div> <h4 class="header-border text-uppercase mb-2 fs-6 small"> <span class="border-layer"> Featured News </span> </h4> <div class="d-flex mb-3"> <div class="item flex-grow-1 noBorderLast"> <div class="border-bottom border-light pb-2"> <a href="https://www.pymnts.com/artificial-intelligence-2/2025/sp-ai-cloud-to-boost-global-it-spending-by-9percent-this-year/" title="Divided Picture Emerges on Tech and Enterprise AI Spend" > Divided Picture Emerges on Tech and Enterprise AI Spend </a> <br> </div> <div class="border-bottom border-light py-2"> <a href="https://www.pymnts.com/news/ecommerce/2025/even-ecommerce-sales-took-a-hit-in-january-as-consumers-pulled-back/" title="eCommerce Sales Take Big Hit for January; Is Uncertainty to Blame?"> eCommerce Sales Take Big Hit for January; Is Uncertainty to Blame? </a> <br> </div> <div class="border-bottom border-light py-2"> <a href="https://www.pymnts.com/news/retail/2025/walmart-lags-ecommerce-while-amazon-laps-mobile-shopping/" title="Walmart Lags eCommerce While Amazon Laps Mobile Shopping"> Walmart Lags eCommerce While Amazon Laps Mobile Shopping </a> <br> </div> <div class="border-bottom border-light py-2"> <a href="https://www.pymnts.com/news/fintech-investments/2025/upstart-and-affirm-rally-bill-plummets-on-earnings-as-fintech-ipo-index-adds-2-4percent/" title="Upstart and Affirm Rally, BILL Plummets on Earnings as FinTech IPO Index Adds 2.4%"> Upstart and Affirm Rally, BILL Plummets on Earnings as FinTech IPO Index Adds 2.4% </a> <br> </div> <div class="border-bottom border-light py-2"> <a href="https://www.pymnts.com/artificial-intelligence-2/2025/60-of-consumers-use-voice-assistants/" title="60% of Consumers Use Voice Assistants"> 60% of Consumers Use Voice Assistants </a> <br> </div> <div class="border-bottom border-light py-2"> <a href="https://www.pymnts.com/artificial-intelligence-2/2025/openai-plans-grand-expansion-while-losing-billions-will-it-survive/" title="OpenAI Plans Grand Expansion While Losing Billions. Sound Familiar?"> OpenAI Plans Grand Expansion While Losing Billions. Sound Familiar? </a> <br> </div> <div class="border-bottom border-light py-2"> <a href="https://www.pymnts.com/healthcare/2025/digital-health-streamlines-care-but-the-physician-role-remains-crucial/" title="Digital Health Streamlines Care, but the Physician Role Remains Crucial"> Digital Health Streamlines Care, but the Physician Role Remains Crucial </a> <br> </div> </div> </div> <h4 class="header-border text-uppercase fs-6 mb-2 mt-3"> <span class="border-layer">Subscribe</span> </h4> <div id="mlb2-5774674" class="ml-subscribe-form-5774674"> <form action="/wp-content/themes/flex-mag-sixspoke/mini-handler.php" method="post"> <input aria-label="email" aria-required="true" type="email" class="form-control rounded-0 shadow-none my-3 smaller" data-inputmask="" name="email" placeholder="EMAIL" autocomplete="email" required style="max-width:250px;"/> <div class="form-check mb-2"> <input id="pymnts_check" class="form-check-input rounded-0 shadow-none" type="checkbox" name="vars[main_nl]" value="1"> <label class="form-check-label" for="pymnts_check"> <b>PYMNTS Today</b> </label> </div> <div class="form-check mb-2"> <input id="ai_check" class="form-check-input rounded-0 shadow-none" type="checkbox" name="vars[ai_nl]" value="1"> <label class="form-check-label" for="ai_check"> <b>Artificial Intelligence</b> </label> </div> <div class="form-check mb-2"> <input id="crypto_check" class="form-check-input rounded-0 shadow-none" type="checkbox" name="vars[crypto_nl]" value="1"> <label class="form-check-label" for="crypto_check"> <b>Cryptocurrency</b> </label> </div> <div class="form-check mb-2"> <input id="b2b_check" class="form-check-input rounded-0 shadow-none" type="checkbox" name="vars[b2b_nl]" value="1"> <label class="form-check-label" for="b2b_check"> <b>B2B</b> </label> </div> <!-- <div class="form-check mb-2"> <input id="retail_check" class="form-check-input rounded-0 shadow-none" type="checkbox" name="vars[retail_nl]" value="1"> <label class="form-check-label" for="retail_check"> <b>Retail</b> </label> </div> --> <div class="form-check mb-2"> <input id="dt_check" class="form-check-input rounded-0 shadow-none" type="checkbox" name="vars[digital_nl]" value="1"> <label class="form-check-label" for="dt_check"> <b>Digital Transformation</b> </label> </div> <button type="submit" class="btn smaller fw-bold my-2">SUBSCRIBE</button> <button disabled="disabled" style="display:none" type="button" class="loading"><div class="ml-form-embedSubmitLoad"></div> <span class="sr-only">Loading...</span> </button> <input type="hidden" id="token" name="token"/> </form> <script src="https://www.google.com/recaptcha/api.js?render=6Le36I4kAAAAAMCdrtj4Jb9rq43eln5c4Zt33TLI"></script> <script> function handleCaptcha() { console.log('handleCaptcha'); grecaptcha.ready(function() { grecaptcha.execute('6Le36I4kAAAAAMCdrtj4Jb9rq43eln5c4Zt33TLI', {action: 'subscriptions'}).then(function(token) { console.log('token', token); document.getElementById("token").value = token; }); // refresh token every minute to prevent expiration setInterval(function(){ grecaptcha.execute('6Le36I4kAAAAAMCdrtj4Jb9rq43eln5c4Zt33TLI', { action: 'subscriptions'}).then(function(token) { console.log( 'refreshed token:', token ); document.getElementById("token").value = token; }); }, 60000); }); } window.addEventListener('DOMContentLoaded', handleCaptcha); </script> </div> <!-- JW Player Script --> <script src="https://cdn.jwplayer.com/libraries/RxUYnmul.js"></script> <script src="https://ssl.p.jwpcdn.com/live/channel-embed.js"></script> <script>jwLiveChannelSetup({ channelId: "JUELnFMu" });</script> <style> .jw-live-placeholder.jw-embed-text-placeholder,.jw-live-error{display: none;} .jw-embed-state-playing:before{ color: #222; float: left; font-size: .9rem; font-weight: 700; line-height: 100%; padding-top: 5px; position: relative; text-transform: uppercase; font-family: Roboto,sans-serif; padding-bottom: 10px; } .jw-embed-state-playing { padding-bottom: 25px; padding-top:25px; } </style> <!-- Partner with PYMNTS --> <h4 class="header-border text-uppercase mb-2 fs-6 mt-3"> <span class="border-layer">Partner with PYMNTS</span> </h4> <p class="small">We’re always on the lookout for opportunities to partner with innovators and disruptors.</p> <a class="btn mb-4 text-uppercase smaller" style="padding;0.75rem;color: #434445;" href="/partnerships/">Learn More</a> </div> <div id="post-sidebar">&nbsp;</div> </div> </div> </div> </div> </div> <div id="pymntsHiddenDiv" style="display:none"></div> <script src="https://code.responsivevoice.org/responsivevoice.js?key=1js7hkt8"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/echarts/5.4.1/echarts.min.js"></script> <script> /* * createElement: Creates an element and appends to parent * @param parent (Element | String): optional parent to attach child to. Can be a query selector or an actual element itself. * @param tag (String): element tag to create * @param c (String): optional class(es) of the element. Multiple classes are allowed when separated by a space. * @param text (String): optional innerText of the element * @param attributes (Obj): optional object whose key/value pairs will be added to the element (e.g. {src: 'https://google.com', id: 'myId'}) * @param style (Obj): optional set of styles to apply to the created element (e.g. {color: "red"}) * @return Element on success (the created child element); false on error (if tag contains invalid characters). * Example: createElement('body', 'div', 'hello-world-class hello-moon-class', 'Hello World', {id: 'helloWorldId'}, {color: 'blue'}); * Author: Michael Wood * License-1: Copyright February 2022. Michael Wood. All rights reserved. * License-2: BSD License for any company that employs Michael Wood either as a consultant or employee. */ function createElement (parent, tag, c = false, text = false, attributes = false, style = null) { let el = {}; try { el = document.createElement(tag); } catch (e) { return false; } let parentEl = null; try { if (parent) { if (typeof parent === 'string') parentEl = document.querySelector(parent); else parentEl = parent; if (parentEl) parentEl.appendChild(el); } if (c) el.className = c; if (text) el.innerText = text; if (attributes) { for (const [key, value] of Object.entries(attributes)) { el.setAttribute (key, value); }; } if (style) { for (const [key, value] of Object.entries(style)) { el.style[key] = value; }; } } catch (e) { console.error(e); return false; } return el } function setInnerHTML(elm, html) { elm.innerHTML = html; Array.from(elm.querySelectorAll("script")) .forEach( oldScriptEl => { const newScriptEl = document.createElement("script"); Array.from(oldScriptEl.attributes).forEach( attr => { newScriptEl.setAttribute(attr.name, attr.value) }); const scriptText = document.createTextNode(oldScriptEl.innerHTML); newScriptEl.appendChild(scriptText); oldScriptEl.parentNode.replaceChild(newScriptEl, oldScriptEl); }); } function createHTMLElement (parent, tag, c = false, html = false, attributes = false, style = null) { let el = {}; try { el = document.createElement(tag); } catch (e) { return false; } let parentEl = null; try { if (parent) { if (typeof parent === 'string') parentEl = document.querySelector(parent); else parentEl = parent; if (parentEl) parentEl.appendChild(el); } if (c) el.className = c; // if (html) el.innerHTML = html; if (html) setInnerHTML(el, html); if (attributes) { for (const [key, value] of Object.entries(attributes)) { el.setAttribute (key, value); }; } if (style) { for (const [key, value] of Object.entries(style)) { el.style[key] = value; }; } } catch (e) { console.error(e); return false; } return el } const I = id => document.getElementById(id); const Q = val => document.querySelector(val); const A = val => document.querySelectorAll(val); /* * Handle signup form here */ function handleRegistration () { const pymntsDeviceIdEl = I('userDeviceId'); console.log('userDeviceId', pymntsDeviceIdEl); if (!pymntsDeviceIdEl) return; // let cookie = {}; // document.cookie.split(';').forEach(function(el) { // let [key,value] = el.split('='); // cookie[key.trim()] = value; // }) // console.log('userDeviceId Cookie', cookie[cookieName]; } window.addEventListener('DOMContentLoaded', handleRegistration); /* * infinite scrolling */ let nextArticle = 1; let loadedArticles = []; let relatedArticles = []; let host = window.location.hostname; let curArticle = null; let showingArticle = 'orig'; let sidebarWrap = null; let sidebarFreezeTrigger = null; let pathTitles = []; let curPath = window.location.pathname;; let curTitle = document.title; let currentPath = window.location.pathname; let Links = JSON.parse('{"current":"https:\/\/www.pymnts.com\/earnings\/2024\/ross-stores-treasure-hunt-environment-drives-off-price-store-sales\/","latest":["https:\/\/www.pymnts.com\/cryptocurrency\/2025\/binance-tops-pymnts-provider-rankings-of-us-cryptocurrency-apps\/","https:\/\/www.pymnts.com\/amazon\/2025\/amazon-reportedly-delaying-updated-alexa-over-incorrect-answers\/","https:\/\/www.pymnts.com\/identity\/2025\/unbeatable-fake-ids-become-booming-underground-business\/","https:\/\/www.pymnts.com\/personnel\/2025\/varo-chief-colin-walsh-steps-down-as-bakkts-ex-ceo-takes-over\/","https:\/\/www.pymnts.com\/bank-regulation\/2025\/jpmorgan-declines-to-share-private-credit-lending-data-with-regulators\/","https:\/\/www.pymnts.com\/artificial-intelligence-2\/2025\/musk-new-version-of-grok-ai-tool-launching-monday\/","https:\/\/www.pymnts.com\/news\/cfpb\/2025\/cfpb-firings-on-hold-amid-lawsuit-against-trump-layoffs\/","https:\/\/www.pymnts.com\/news\/retail\/2025\/saks-seeks-suppliers-patience-on-payments-as-luxury-brands-struggle\/","https:\/\/www.pymnts.com\/artificial-intelligence-2\/2025\/anthropic-tries-to-halt-governments-plans-for-google\/","https:\/\/www.pymnts.com\/apple\/2025\/apple-reportedly-battling-bugs-holding-back-long-awaited-siri-upgrade\/","https:\/\/www.pymnts.com\/news\/delivery\/2025\/uber-takes-doordash-to-court-over-coercive-restaurant-tactics\/","https:\/\/www.pymnts.com\/news\/artificial-intelligence\/2025\/march-madness-2025-beyond-when-ai-meets-big-dance\/","https:\/\/www.pymnts.com\/politics\/2025\/treasury-ig-and-gao-investigate-doge-access-to-federal-payment-systems\/","https:\/\/www.pymnts.com\/news\/cfpb\/2025\/report-former-cfpb-chief-technology-alleges-agency-data-set-for-deletion\/","https:\/\/www.pymnts.com\/news\/investment-tracker\/2025\/report-figure-aims-to-raise-1-5-billion-for-humanoid-robots\/","https:\/\/www.pymnts.com\/news\/regulation\/2025\/regulatory-roundup-cfpb-on-the-chopping-block-stablecoins-in-focus\/","https:\/\/www.pymnts.com\/meta\/2025\/meta-form-team-focused-ai-powered-humanoid-robots\/","https:\/\/www.pymnts.com\/personnel\/2025\/cftc-appoints-whistleblower-office-director-brian-young-to-lead-enforcement\/","https:\/\/www.pymnts.com\/news\/investment-tracker\/2025\/e-money-markets-raises-pre-seed-funding-build-white-labeled-fx-solution\/","https:\/\/www.pymnts.com\/artificial-intelligence-2\/2025\/sp-ai-cloud-to-boost-global-it-spending-by-9percent-this-year\/","https:\/\/www.pymnts.com\/shipping\/2025\/freight-technologies-launches-transportation-management-system-for-usmca-region\/","https:\/\/www.pymnts.com\/news\/artificial-intelligence\/2025\/google-deepmind-ceo-demis-hassabis-calm-confident-about-ai-strategy\/","https:\/\/www.pymnts.com\/news\/ecommerce\/2025\/even-ecommerce-sales-took-a-hit-in-january-as-consumers-pulled-back\/","https:\/\/www.pymnts.com\/news\/cfpb\/2025\/cfpb-expands-layoffs-to-include-dozens-of-term-employees\/","https:\/\/www.pymnts.com\/earnings\/2025\/are-cryptocurrency-payments-in-the-cards-for-draftkings\/","https:\/\/www.pymnts.com\/news\/social-commerce\/2025\/tiktok-returns-to-apple-and-google-app-stores\/","https:\/\/www.pymnts.com\/news\/international\/2025\/shein-and-temu-aim-to-move-production-to-avoid-us-tariffs\/","https:\/\/www.pymnts.com\/cryptocurrency\/2025\/wyoming-nears-first-stablecoin-launch-by-public-entity-for-the-public-benefit\/","https:\/\/www.pymnts.com\/news\/retail\/2025\/walmart-lags-ecommerce-while-amazon-laps-mobile-shopping\/","https:\/\/www.pymnts.com\/news\/fintech-investments\/2025\/upstart-and-affirm-rally-bill-plummets-on-earnings-as-fintech-ipo-index-adds-2-4percent\/","https:\/\/www.pymnts.com\/artificial-intelligence-2\/2025\/60-of-consumers-use-voice-assistants\/","https:\/\/www.pymnts.com\/cryptocurrency\/2025\/coinbase-revenue-doubled-in-2024-with-crypto-now-going-mainstream\/","https:\/\/www.pymnts.com\/artificial-intelligence-2\/2025\/report-anthropic-set-to-launch-hybrid-ai-model-with-variable-reasoning-levels\/","https:\/\/www.pymnts.com\/earnings\/2025\/airbnb-overhauls-mobile-app-to-be-similar-to-amazon\/","https:\/\/www.pymnts.com\/artificial-intelligence-2\/2025\/openai-plans-grand-expansion-while-losing-billions-will-it-survive\/","https:\/\/www.pymnts.com\/legal\/2025\/judge-grants-request-for-60-day-hold-on-sec-lawsuit-against-binance\/","https:\/\/www.pymnts.com\/consumer-finance\/2025\/holiday-hangover-card-delinquencies-hit-multi-year-high\/","https:\/\/www.pymnts.com\/technology\/2025\/report-chip-designer-arm-plans-to-become-chip-manufacturer\/","https:\/\/www.pymnts.com\/healthcare\/2025\/digital-health-streamlines-care-but-the-physician-role-remains-crucial\/","https:\/\/www.pymnts.com\/data\/2025\/sap-and-databricks-enable-customers-to-unify-data-for-ai\/","https:\/\/www.pymnts.com\/news\/artificial-intelligence\/2025\/building-your-own-ai-dream-team-no-code\/","https:\/\/www.pymnts.com\/artificial-intelligence-2\/2025\/ai-models-openai-unveils-ai-model-plans-anthropic-launches-economic-index\/","https:\/\/www.pymnts.com\/smbs\/2025\/digits-adds-ai-invoicing-solution-to-smb-focused-accounting-platform\/","https:\/\/www.pymnts.com\/bank-regulation\/2025\/proposed-congressional-resolutions-aim-to-overturn-cfpbs-overdraft-rule\/","https:\/\/www.pymnts.com\/news\/banking\/2025\/jpmorgan-boss-debunks-political-debanking-but-calls-for-review\/","https:\/\/www.pymnts.com\/apple\/2025\/apple-hints-at-new-device-launch-next-week\/","https:\/\/www.pymnts.com\/news\/investment-tracker\/2025\/uk-based-oneid-raises-20-million-to-grow-digital-identity-service\/","https:\/\/www.pymnts.com\/politics\/2025\/mass-layoffs-hit-workers-at-government-agencies\/","https:\/\/www.pymnts.com\/artificial-intelligence-2\/2025\/ai-firm-cohere-sued-by-publishers-over-copyright-infringement\/","https:\/\/www.pymnts.com\/economy\/2025\/jobless-claims-decline-by-7000-as-labor-market-remains-stable\/","https:\/\/www.pymnts.com\/news\/b2b-payments\/2025\/regions-bank-debuts-embedded-erp-finance-tool\/","https:\/\/www.pymnts.com\/earnings\/2025\/adyen-processing-volumes-jump-22percent-as-digital-payments-surge\/","https:\/\/www.pymnts.com\/news\/investment-tracker\/2025\/apptronik-raises-350-million-dollars-meaningful-robot-human-work-interactions\/","https:\/\/www.pymnts.com\/economy\/2025\/energy-food-transportation-led-increase-wholesale-prices-january\/","https:\/\/www.pymnts.com\/spend-management\/2025\/coupa-brings-agentic-ai-features-to-spend-management-platform\/","https:\/\/www.pymnts.com\/mastercard\/2025\/mastercard-launches-tool-help-firms-trace-money-laundering\/","https:\/\/www.pymnts.com\/news\/ridesharing\/2025\/carsharing-marketplaces-getaround-and-hyrecar-wind-down-us-operations\/","https:\/\/www.pymnts.com\/artificial-intelligence-2\/2025\/musk-pledges-to-withdraw-openai-bid-if-company-remains-nonprofit\/","https:\/\/www.pymnts.com\/artificial-intelligence-2\/2025\/alibaba-chair-confirms-apple-ai-partnership-in-china\/","https:\/\/www.pymnts.com\/news\/fintech-investments\/2025\/finmo-aims-to-expand-treasury-management-after-raising-18-million\/","https:\/\/www.pymnts.com\/news\/security-and-risk\/2025\/fis-take-biometrics-approach-to-battling-account-takeovers\/","https:\/\/www.pymnts.com\/subscription-commerce\/2025\/beyond-flat-fees-the-rise-of-hybrid-subscription-models\/","https:\/\/www.pymnts.com\/amazon\/2025\/aws-turns-to-ancient-logic-to-tackle-modern-ais-hallucinations\/","https:\/\/www.pymnts.com\/news\/retail\/2025\/75percent-zillennials-shop-online-in-store\/","https:\/\/www.pymnts.com\/credit-unions\/2025\/get-keep-and-grow-customers-credit-unions-double-down-on-digital\/","https:\/\/www.pymnts.com\/news\/retail\/2025\/retailers-cant-close-internal-data-gaps-its-costing-them\/","https:\/\/www.pymnts.com\/gig-economy\/2025\/upwork-demand-for-ai-talent-drove-record-revenue-in-2024\/","https:\/\/www.pymnts.com\/news\/regulation\/2025\/european-commission-withdraws-draft-rules-on-technology-patents-ai-liability-and-consumer-privacy\/","https:\/\/www.pymnts.com\/earnings\/2025\/trading-surge-boosts-robinhood-crypto-transaction-revenues-700\/","https:\/\/www.pymnts.com\/artificial-intelligence-2\/2025\/openai-to-release-gpt-4-5-within-weeks-gpt-5-within-months\/","https:\/\/www.pymnts.com\/healthcare\/2025\/walgreens-continues-efforts-to-divest-healthcare-clinic-chain-villagemd\/","https:\/\/www.pymnts.com\/apple\/2025\/report-apple-explores-robots-for-smart-home-applications\/","https:\/\/www.pymnts.com\/artificial-intelligence-2\/2025\/ai-action-summit-global-ai-regulations-tilting-toward-growth\/","https:\/\/www.pymnts.com\/amazon\/2025\/amazon-shopping-app-tests-feature-displaying-products-from-other-sites\/","https:\/\/www.pymnts.com\/news\/cfpb\/2025\/cfpb-lays-off-dozens-employees-headquarters-remains-closed\/","https:\/\/www.pymnts.com\/bank-regulation\/2025\/fintech-group-seeks-to-intervene-in-cfpb-data-rule-lawsuit\/","https:\/\/www.pymnts.com\/artificial-intelligence-2\/2025\/adobe-debuts-production-quality-video-ai-offerings\/","https:\/\/www.pymnts.com\/apple\/2025\/apple-tv-app-to-be-offered-for-android-devices\/","https:\/\/www.pymnts.com\/healthcare\/2025\/cvs-health-all-in-one-app-aims-personalize-healthcare\/","https:\/\/www.pymnts.com\/accounts-receivable\/2025\/chaser-integrates-with-sage-to-bolster-automated-ar-management\/","https:\/\/www.pymnts.com\/news\/banking\/2025\/jpmorgan-chase-begins-about-1000-layoffs-while-continuing-to-hire\/","https:\/\/www.pymnts.com\/economy\/2025\/trump-steel-aluminum-tariffs-could-drive-up-car-insurance-costs\/","https:\/\/www.pymnts.com\/earnings\/2025\/burger-king-owner-plans-remodels-amid-challenging-consumer-backdrop\/","https:\/\/www.pymnts.com\/artificial-intelligence-2\/2025\/ai-startups-anthropic-nears-openai-in-fundraises-but-lags-far-behind-in-adoption\/","https:\/\/www.pymnts.com\/news\/investment-tracker\/2025\/suger-raises-15-million-to-streamline-cloud-marketplace-sales-process\/","https:\/\/www.pymnts.com\/economy\/2025\/januarys-inflation-shows-essential-expenses-erode-consumers-purchasing-power\/","https:\/\/www.pymnts.com\/personnel\/2025\/kroger-appoints-pepsico-veteran-david-kennerley-incoming-cfo\/","https:\/\/www.pymnts.com\/news\/regulation\/2025\/who-are-president-donald-trump-picks-lead-financial-regulators\/","https:\/\/www.pymnts.com\/artificial-intelligence-2\/2025\/alibaba-reportedly-revitalized-by-chinas-ai-fever\/","https:\/\/www.pymnts.com\/news\/payment-methods\/2025\/zelle-marks-1-trillion-milestone-as-p2p-payment-use-jumps\/","https:\/\/www.pymnts.com\/news\/b2b-payments\/2025\/corpay-introduces-multi-currency-accounts-to-help-businesses-manage-cross-border-payments\/","https:\/\/www.pymnts.com\/politics\/2025\/doge-staffer-mistakenly-given-editing-access-to-treasury-payments\/","https:\/\/www.pymnts.com\/news\/cfpb\/2025\/trump-names-new-cfpb-head-amid-regulatory-limbo\/","https:\/\/www.pymnts.com\/news\/regulation\/2025\/white-house-weighs-folding-fdic-into-other-agencies\/","https:\/\/www.pymnts.com\/transportation\/2025\/vehicle-transport-startup-targets-industrys-service-reliability-problem\/","https:\/\/www.pymnts.com\/consumer-insights\/2025\/zillennials-choose-access-over-car-home-ownership\/","https:\/\/www.pymnts.com\/artificial-intelligence-2\/2025\/82-of-us-workforce-believes-genai-boosts-productivity\/","https:\/\/www.pymnts.com\/smbs\/2025\/sales-prospects-brighten-as-small-businesses-find-life-in-loyalty-programs\/","https:\/\/www.pymnts.com\/artificial-intelligence-2\/2025\/ai-summit-eu-france-to-invest-320-billion-in-ai-to-rival-us-china\/","https:\/\/www.pymnts.com\/news\/ridesharing\/2025\/lyfts-2024-success-driven-by-customer-focus-price-lock-service\/"]}'); let CurLinkIndex = 0; Links.latest = Links.latest.filter(url => url !== Links.current); let partialsAlreadyLoaded = []; async function loadNextArticle(first = false) { // if (currentPath === '/news/payment-methods/2023/payments-are-sexy-again-at-ikea-stores-and-website/') { // Q('.recommended-articles').style.display = 'none'; // return; // } console.log('loadNextArticle', partialsAlreadyLoaded); if (CurLinkIndex >= Links.latest.length) return false; let nextUrl = Links.latest[CurLinkIndex++]; let test = partialsAlreadyLoaded.indexOf(nextUrl); let request = { url: nextUrl + '?postType=partial', method: 'get' }; let data = null; try { let response = await axios(request); data = response.data; } catch (e) { console.error(e); } partialsAlreadyLoaded.push(nextUrl); curArticle = createHTMLElement(I('insertArticle'), 'div', null, data, {id: `article-number-${nextArticle}`, urlinfo: nextUrl}); console.log('curArticle', curArticle); lastArticle = curArticle; curPath = nextUrl; console.log('curPath', curPath); setupArticleListening(curArticle); let containerScroller = curArticle.querySelector('.container-scroller'); containerScroller && containerScroller.classList && containerScroller.classList.add('d-none'); let articlePost = curArticle.querySelector('.article-post'); let h1 = curArticle.querySelector('h1'); let title = h1.innerText; curTitle = title; pathTitles.push({ path: nextUrl, title }); ++nextArticle; if (!first) { const url = new URL(nextUrl); triggerPageView(url.pathname); } else { setTimeout(() => { const url = new URL(nextUrl); triggerPageView(url.pathname); }, 12000); } } let lastUrlViewed = null; function registerPageView(url, tracker) { console.log('registerPageView', url, tracker); console.log('deviceIsBlockingAnalytics', deviceIsBlockingAnalytics); if (url === lastUrlViewed) { console.log('triggerPageView url === lastUrlViewed') return; } const info = pathTitles.find(entry => entry.path.indexOf(url) !== -1); if (!info) { console.log('triggerPageView !info', url, pathTitles) return; } lastUrlViewed = url; tracker.set('page', url); tracker.send('pageview', { 'title': info.title, 'url': url }); gtag("event", "pymnts_device_visit", { path: url }); if (!deviceIsBlockingAnalytics) doNotProxyReport(url); //reportPageToGoogle(url, info.title); console.log('fTest url title', url, info.title); //sendPageView(url, info.title); //console.log('triggerPageView registered url', info.title, url); } let firstTrigger = true; function triggerPageView (url, scrollingUp = false) { // if (scrollingUp) { // console.log('scrollingUp', url, window.location); // const request = { // url: `https://${window.location.hostname}/infiniteScroll.php`, // method: 'post', // data: { // path: url // } // } // axios(request) // .then(response => {console.log('scrollingUp', response.data)}) // .catch(error => console.error(error)); // } console.log('triggerPageView', url); if (!googleTracker) { let count = 0; let intervalId = setInterval(() => { ++count; if (googleTracker || count > 5) { clearInterval(intervalId); console.log('tracker', googleTracker); registerPageView(url, googleTracker); return; } }, 500); } else { console.log('tracker', googleTracker); registerPageView(url, googleTracker); } } let articleIsBeingSpoken = false; function setupArticleListening(el) { let playButton = el.querySelector('.bi-play-circle-fill'); let pauseButton = el.querySelector('.bi-pause-circle-fill'); let text = el.querySelector('.lh-article').innerText; let headline = el.querySelector('h1').innerText; if (headline) text = headline + '. ' + text; if (playButton) { playButton.addEventListener('click', () => { if (!articleIsBeingSpoken || playButtonPressed !== playButton) { responsiveVoice.speak(text, "US English Male"); articleIsBeingSpoken = true; //playButtonPressed = playButton; } else { responsiveVoice.resume(); } }) } if (pauseButton) { pauseButton.addEventListener('click', () => { responsiveVoice.pause(); }) } } let subscribeIsShown = false; function setVideoSubscribeLocation() { const video = I('articleVideo'); if (!video) return; const subscribe = I('videoSubscribe'); if (!subscribe) return; const videoRect = video.getBoundingClientRect(); const subscribeRect = subscribe.getBoundingClientRect(); const xDiff = videoRect.width - subscribeRect.width; const yDiff = videoRect.height - subscribeRect.height; const xOffset = (xDiff/2) + 'px'; const yOffset = (yDiff*(1/4)) + 'px'; subscribe.style.left = xOffset; subscribe.style.top = yOffset; } function showSubscribe() { let subscribe = I('videoSubscribe'); if (!subscribeIsShown) { subscribe.classList.remove('d-none'); setVideoSubscribeLocation(); subscribe.style.opacity = 1; subscribeIsShown = true; } } function hideSubscribe() { let subscribe = I('videoSubscribe'); if(subscribeIsShown) { subscribe.classList.add('d-none'); subscribe.style.opacity = 0; subscribeIsShown = false; } } function handleTimeUpdating(e) { const video = I('articleVideo'); const ending = video.duration - 5.5; if (ending < 0) ending = 0; if (video.currentTime >= ending) { showSubscribe(); } else { hideSubscribe(); } } function handleVideoPlaying(e, video) { console.log(video); console.log ('duration', video.duration); const ending = video.duration - 5; if (ending < 0) ending = 0; video.addEventListener('timeupdate', handleTimeUpdating); } function setupVideoCallToAction () { const video = I('articleVideo'); if (!video) return; video.addEventListener('play', (e) => handleVideoPlaying(e, video)); } let userIsAuthenticated = false; function isAuthenticatedUser () { return localStorage.getItem('pymnts.authorized') ? true : false; } function processChart (id) { var chartDom = document.getElementById(id); var myChart = echarts.init(chartDom); var option; option = { grid: { containLabel: true }, title: [ { text: "Types of digital payment methods\nused in the last month", textStyle: { color: 'black', lineHeight: 22 }, x: 'center' } ], tooltip: { trigger: 'item' }, yAxis: { type: 'category', data: [ 'Another wallet', 'Other', 'Voice payments', 'QR payments', 'Face payments', 'Samsung Pay', 'Cryptocurrency', 'Walmart Pay', 'Store Card', 'EBT', 'BNPL', 'Prepaid card', 'Peer to Peer', 'Google Pay', 'Apple Pay', 'Bank transfer', 'PayPal', 'Credit card', 'Debit card' ], axisLabel: { color: 'black' }, axisTick: { show: false } }, xAxis: { type: 'value', axisLabel: { formatter: '{value}%', color: 'black' } }, series: [ { data: [ 0.9, 1.4, 3.5, 4.5, 4.7, 6.3, 7.9, 8.2, 9.1, 10.8, 11.0, 14.7, 15.4, 15.5, 20.8, 34.9, 53.2, 57.4, 64.6 ], type: 'bar', showBackground: true, itemStyle: { color: (params) => { return params.name === 'EBT' ? 'rgba(0,89,227, .4)' : 'rgba(0,89,227, .8)'; } }, backgroundStyle: { color: 'rgba(180, 180, 180, 0.2)' }, label: { show: true, position: 'right', // inside formatter: (value) => `${value.data}%` }, axisLabel: { formatter: '{value} %' } } ] }; option && myChart.setOption(option); } function insertPymntsCharts() { console.log('insertPymntsCharts'); const charts = A('.pymnts-chart'); console.log('insertPymntsCharts charts', charts) if (!charts.length) return; for (let i = 0; i < charts.length; ++i) { const chartId = charts[i].getAttribute('id'); console.log('chartId', chartId); processChart(chartId); } } async function pageIsLoaded() { console.log('pageIsLoaded', window.location.pathname); // console.log('Links', CurLinkIndex, Links); insertPymntsCharts(); // console.log('cookies', cookies); //if (window.location.search === '?emailSent=true') alert ("Verification email has been sent.\nPlease check your inbox.") setupArticleListening(document); setupVideoCallToAction(); sidebarWrap = I('sidebar-wrap'); pathTitles.push({ path: location.pathname, title: Q('h1').innerText }); triggerPageView(curPath); loadNextArticle(true); } function handleScrolling() { //console.log('handleScrolling', curArticle, curPath); let curArticleBox = null; let curArticleId = null; if (curArticle) { curArticleId = curArticle.getAttribute('id'); //console.log('curArticleId', curArticleId); curArticleBox = curArticle.getBoundingClientRect(); //console.log('curArticle box', window.innerHeight, curArticleBox) if (curArticleBox.y <= window.innerHeight) { console.group(); console.log('handleScrolling have curArticle'); document.title = curTitle; const state = { 'page_id': 1, 'user_id': 5 } history.replaceState(state, '', curPath); const urlInfo = curArticle.getAttribute('urlinfo'); console.log('curArticle urlInfo', urlInfo); let test = partialsAlreadyLoaded.indexOf(urlInfo); console.log('test', test, partialsAlreadyLoaded.length); ++test; if (test && test === partialsAlreadyLoaded.length) { curArticle = null; loadNextArticle(); } else { const urlInfo = I(curArticleId).getAttribute('urlinfo'); const url = new URL(urlInfo); triggerPageView(url.pathname); curArticle = I(`article-number-${test+1}`); curPath = curArticle.getAttribute('urlinfo'); console.log('curPath', curPath); } showingArticle = curArticleId; console.log('showingArticle', showingArticle); console.log('curArticle', curArticle); console.groupEnd(); } } // handle scrolling up if (showingArticle !== 'orig') { const showingArticleBox = I(showingArticle).getBoundingClientRect(); if (showingArticleBox.y > window.innerHeight) { let parts = showingArticle.split('-'); let num = Number(parts[2]); if (num === 1) { showingArticle = 'orig'; console.log('showingArticle', showingArticle); const url = new URL(Links.current); triggerPageView(url.pathname, true); const state = { 'page_id': 1, 'user_id': 5 } history.replaceState(state, '', Links.current); curArticle = I('article-number-1'); console.log('curArticle', curArticle); curPath = curArticle.getAttribute('urlinfo'); console.log('curPath', curPath); } else { showingArticle = `article-number-${num - 1}`; console.log('showingArticle', showingArticle); curArticle = I(`article-number-${num}`); console.log('curArticle', curArticle); curPath = curArticle.getAttribute('urlinfo'); console.log('curPath', curPath); const urlInfo = I(showingArticle).getAttribute('urlinfo'); console.log('urlinfo', urlInfo); const url = new URL(urlInfo); triggerPageView(url.pathname, true); const state = { 'page_id': 1, 'user_id': 5 } history.replaceState(state, '', urlInfo); } } } let singleContainer = I('singleContainer').getBoundingClientRect(); if (sidebarWrap) { sidebarRect = sidebarWrap.getBoundingClientRect(); sidebarTop = sidebarRect.y; sidebarBottom = sidebarRect.y + sidebarRect.height; if (sidebarFreezeTrigger && window.scrollY < sidebarFreezeTrigger) { sidebarFreezeTrigger = null; sidebarWrap.style.position = 'static'; sidebarWrap.style.bottom = 'auto'; } else if (sidebarBottom <= window.innerHeight) { if(sidebarWrap.style.position !== 'fixed') { sidebarWrap.style.position = 'fixed'; sidebarWrap.style.bottom = '0px'; sidebarWrap.style.width = `${(singleContainer.width * .25) - 24}px`; sidebarFreezeTrigger = window.scrollY; } } } } function handleVideoResizing() { console.log('videoResize'); if (subscribeIsShown) setVideoSubscribeLocation(); } document.addEventListener('fullscreenchange', handleVideoResizing, false); document.addEventListener('mozfullscreenchange', handleVideoResizing, false); document.addEventListener('MSFullscreenChange', handleVideoResizing, false); document.addEventListener('webkitfullscreenchange', handleVideoResizing, false); function pageIsResized() { if (subscribeIsShown) setVideoSubscribeLocation(); let sidebarContainer = I('sidebar-container'); if(!sidebarContainer) return; let size = 'xxl'; if(window.innerWidth < 576) size = 'xs'; else if(window.innerWidth < 768) size = 'md'; else if(window.innerWidth < 992) size = 'lg'; else if(window.innerWidth < 1200) size = 'xl'; else size = 'xxl'; console.log(size); switch(size) { case 'xs': case 'md': sidebarContainer.classList.remove('d-lg-block'); sidebarContainer.classList.add('d-none'); sidebarContainer.style.display = 'none'; break; case 'lg': case 'xl': case 'xxl': sidebarContainer.classList.add('d-lg-block'); sidebarContainer.classList.remove('d-none'); sidebarContainer.style.display = 'block'; break; } let singleContainer = I('singleContainer').getBoundingClientRect(); if (sidebarWrap) sidebarWrap.style.width = `${(singleContainer.width * .25) - 24}px`; let insertArticle = I('insertArticle').getBoundingClientRect(); sidebarContainer.style.display = 'static'; } window.addEventListener('scroll', handleScrolling); window.addEventListener('DOMContentLoaded', pageIsLoaded); window.addEventListener('resize', pageIsResized); document.addEventListener( 'wpcf7mailsent', (event) => { console.log("wpcf7mailsent", event.detail); const submitLink = event.detail.inputs.filter(input => input.name === 'submit-link'); if (submitLink && submitLink.length){ window.open(submitLink[0].value); } }, false ); </script> <script>(function(){var advanced_ads_ga_UID="G-3WHRCQ5780",advanced_ads_ga_anonymIP=!!1;window.advanced_ads_check_adblocker=function(t){var n=[],e=null;function a(t){var n=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||function(t){return setTimeout(t,16)};n.call(window,t)}return a((function(){var t=document.createElement("div");t.innerHTML="&nbsp;",t.setAttribute("class","ad_unit ad-unit text-ad text_ad pub_300x250"),t.setAttribute("style","width: 1px !important; height: 1px !important; position: absolute !important; left: 0px !important; top: 0px !important; overflow: hidden !important;"),document.body.appendChild(t),a((function(){var a,o,i=null===(a=(o=window).getComputedStyle)||void 0===a?void 0:a.call(o,t),d=null==i?void 0:i.getPropertyValue("-moz-binding");e=i&&"none"===i.getPropertyValue("display")||"string"==typeof d&&-1!==d.indexOf("about:");for(var c=0,r=n.length;c<r;c++)n[c](e);n=[]}))})),function(t){"undefined"==typeof advanced_ads_adblocker_test&&(e=!0),null!==e?t(e):n.push(t)}}(),function(){function t(t){this.UID=t,this.analyticsObject="function"==typeof gtag;var n=this;return this.count=function(){gtag("event","AdBlock",{event_category:"Advanced Ads",event_label:"Yes",non_interaction:!0,send_to:n.UID})},function(){if(!n.analyticsObject){var e=document.createElement("script");e.src="https://www.googletagmanager.com/gtag/js?id="+t,e.async=!0,document.body.appendChild(e),window.dataLayer=window.dataLayer||[],window.gtag=function(){dataLayer.push(arguments)},n.analyticsObject=!0,gtag("js",new Date)}var a={send_page_view:!1,transport_type:"beacon"};window.advanced_ads_ga_anonymIP&&(a.anonymize_ip=!0),gtag("config",t,a)}(),this}advanced_ads_check_adblocker((function(n){n&&new t(advanced_ads_ga_UID).count()}))}();})();</script> <script> (async () => { /* Start measuring the visit length. */ // const visitStart = Date.now(); /* Helper functions. */ const generateDeviceId = () => { let d = new Date().getTime(); let d2 = ((typeof performance !== "undefined") && performance.now && (performance.now() * 1000)) || 0; return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, c => { let r = Math.random() * 16; if (d > 0) { r = (d + r) % 16 | 0; d = Math.floor(d / 16); } else { r = (d2 + r) % 16 | 0; d2 = Math.floor(d2 / 16); } return (c == "x" ? r : (r & 0x7 | 0x8)).toString(16); }); } // const getVisitCounter = () => { // let visitCounter = sessionStorage.getItem("pymnts_visit_counter"); // if (!visitCounter) { // visitCounter = {}; // } else { // visitCounter = JSON.parse(visitCounter); // } // return visitCounter; // } // const updateVisitCounter = () => { // const visitCounter = getVisitCounter(); // if (visitCounter[window.location.pathname]) { // visitCounter[window.location.pathname]++; // } else { // visitCounter[window.location.pathname] = 1; // } // sessionStorage.setItem("pymnts_visit_counter", JSON.stringify(visitCounter)); // } const getDeviceId = () => { let deviceId = localStorage.getItem("pymnts_device_id"); if (!deviceId) { deviceId = generateDeviceId(); localStorage.setItem("pymnts_device_id", deviceId); // TODO: add pymnts_device_id cookie } return deviceId; } const recordEvents = async (events) => { const data = { user_id: getDeviceId(), events: events }; const reqURL = `/wp-json/pymnts/info?data=${JSON.stringify(data)}`; const resp = await fetch(reqURL); const respJSON = await resp.json(); } // const updatePageviewData = async (events) => { // const visitCounter = getVisitCounter(); // const data = { // user_id: getDeviceId(), // user_agent: window.navigator.userAgent, // page_location: window.location.href, // page_title: document.title, // page_referrer: document.referrer, // visit_count: visitCounter[window.location.pathname], // engagement_time_msec: Math.round((Date.now() - visitStart)) // }; // const reqURL = `/wp-json/pymnts/upd?data=${encodeURIComponent(JSON.stringify(data))}`; // const resp = await fetch(reqURL); // const respJSON = await resp.json(); // } document.querySelector("body").addEventListener( "click", (ev) => { const el = ev.target; const tagName = el.tagName.toLowerCase(); let linkTarget = false; if ( tagName === "a" || tagName === "button" || el.classList.contains("track-clicks") ) { el.addEventListener("click", (ev) => { if (!el.classList.contains("click-tracked")) { el.classList.add("click-tracked"); if (tagName === "a") { linkTarget = el.href; } else if (tagName === "img" && el.parentElement.tagName.toLowerCase() === "a") { linkTarget = el.parentElement.href; } let events = [{ "name": "pymnts_click", "params": { "element_name": tagName, "element_classes": el.className ? el.className : "", "element_text": el.innerHtml ? el.innerHtml : "", "source": window.location.href, "destination": linkTarget, } }]; if (el.classList.contains("pymnts-ad")) { if (el.classList.contains("pymnts-ad-sidebar")) { events.push({ "name": "pymnts_click_sidebar_ad", "params": { "source": window.location.href, "destination": linkTarget, } }); } else if (el.classList.contains("pymnts-ad-bottom")) { events.push({ "name": "pymnts_click_bottom_article_ad", "params": { "source": window.location.href, "destination": linkTarget, } }); } else { events.push({ "name": "pymnts_click_header_banner_ad", "params": { "source": window.location.href, "destination": linkTarget, } }); } } recordEvents(events); } setTimeout(() => { // prevent accidental double-clicks from being tracked el.classList.remove("click-tracked"); }, 600); }); } }, true ); // updateVisitCounter(); // updatePageviewData(); // setInterval(updatePageviewData, 15000); })().catch(err => { console.error("pymnts-info error:", err); }); </script> <script type="text/javascript"> // jQuery(document).ready(function($) { // // Back to Top Button // var duration = 500; // $('.back-to-top').click(function(event) { // event.preventDefault(); // $('html, body').animate({scrollTop: 0}, duration); // return false; // }); // // Main Menu Dropdown Toggle // $('.menu-item-has-children a').click(function(event){ // event.stopPropagation(); // location.href = this.href; // }); // $('.menu-item-has-children').click(function(){ // $(this).addClass('toggled'); // if($('.menu-item-has-children').hasClass('toggled')) // { // $(this).children('ul').toggle(); // $('.fly-nav-menu').getNiceScroll().resize(); // } // $(this).toggleClass('tog-minus'); // return false; // }); // Main Menu Scroll // $(window).load(function(){ // $('.fly-nav-menu').niceScroll({cursorcolor:"#888",cursorwidth: 7,cursorborder: 0,zindex:999999}); // }); // Infinite Scroll // $('.infinite-content').infinitescroll({ // navSelector: ".nav-links", // nextSelector: ".nav-links a:first", // itemSelector: ".infinite-post", // loading: { // msgText: "Loading more posts...", // finishedMsg: "Sorry, no more posts" // } // }); // $(window).unbind('.infscr'); // $(".inf-more-but").click(function(){ // $('.infinite-content').infinitescroll('retrieve'); // return false; // }); // $(window).load(function() { // // The slider being synced must be initialized first // $('.post-gallery-bot').flexslider({ // animation: "slide", // controlNav: false, // animationLoop: true, // slideshow: false, // itemWidth: 80, // itemMargin: 10, // asNavFor: '.post-gallery-top' // }); // $('.post-gallery-top').flexslider({ // animation: "fade", // controlNav: false, // animationLoop: true, // slideshow: false, // prevText: "&lt;", // nextText: "&gt;", // sync: ".post-gallery-bot" // }); // }); // }); </script> <script type="text/javascript" id="contact-form-7-js-extra"> /* <![CDATA[ */ var wpcf7 = {"api":{"root":"https:\/\/www.pymnts.com\/wp-json\/","namespace":"contact-form-7\/v1"}}; /* ]]> */ </script> <script type="text/javascript" src="https://www.pymnts.com/_static/??-eJyVyzEOwjAMAMAP4VqorQoD4i2OHVCixKlqh/J8YGNgYbzhcF+Bm3pUx7X0e1JDEgFvwFSiCm0QuntTLCkgOYehJh2yHfBH/ZjY4da2Cgsm5dIlGtr+wGxvS3z+e7/etV6Oy3ge5+k0zfkF4XBEZQ==" ></script><script type="text/javascript" id="leadin-script-loader-js-js-extra"> /* <![CDATA[ */ var leadin_wordpress = {"userRole":"visitor","pageType":"post","leadinPluginVersion":"11.1.40"}; /* ]]> */ </script> <script type="text/javascript" src="https://js.hs-scripts.com/45558957.js?integration=WordPress&amp;ver=11.1.40" id="leadin-script-loader-js-js"></script> <script type="text/javascript" id="advanced-ads-pro/front-js-extra"> /* <![CDATA[ */ var advanced_ads_cookies = {"cookie_path":"\/","cookie_domain":""}; var advadsCfpInfo = {"cfpExpHours":"3","cfpClickLimit":"3","cfpBan":"7","cfpPath":"","cfpDomain":"www.pymnts.com"}; /* ]]> */ </script> <script type="text/javascript" id="advanced-ads-pro/cache_busting-js-extra"> /* <![CDATA[ */ var advanced_ads_pro_ajax_object = {"ajax_url":"https:\/\/www.pymnts.com\/wp-admin\/admin-ajax.php","lazy_load_module_enabled":"","lazy_load":{"default_offset":0,"offsets":[]},"moveintohidden":"","wp_timezone_offset":"-18000","the_id":"2297272","is_singular":"1"}; var advanced_ads_responsive = {"reload_on_resize":"0"}; /* ]]> */ </script> <script type="text/javascript" id="advadsTrackingScript-js-extra"> /* <![CDATA[ */ var advadsTracking = {"impressionActionName":"aatrack-records","clickActionName":"aatrack-click","targetClass":"pymnt-target","blogId":"1","frontendPrefix":"pymnt-"}; /* ]]> */ </script> <script type="text/javascript" src="https://www.pymnts.com/_static/??-eJyVzE0KAjEMQOELTSdIK+pC5izpDyW1zZQm1eu7URDc6PrxPnh0E3bWxAq9zkwsgPGOHFI0GMX0sQOKJBUo32ltxGuRBf5jPEr6edWB4UacoU9fKXwwkUThnV/e1q6Hk73Yozs7V56KSFHp" ></script><script type="text/javascript" src="https://stats.wp.com/e-202508.js" id="jetpack-stats-js" data-wp-strategy="defer"></script> <script type="text/javascript" id="jetpack-stats-js-after"> /* <![CDATA[ */ _stq = window._stq || []; _stq.push([ "view", JSON.parse("{\"v\":\"ext\",\"blog\":\"225068944\",\"post\":\"2297272\",\"tz\":\"-5\",\"srv\":\"www.pymnts.com\",\"hp\":\"vip\",\"j\":\"1:14.2.1\"}") ]); _stq.push([ "clickTrackerInit", "225068944", "2297272" ]); /* ]]> */ </script> <script>window.advads_admin_bar_items = [{"title":"Adbutler Banner Ad","type":"ad"},{"title":"Banner ads group","type":"group"},{"title":"Adbutler Bottom ad","type":"ad"},{"title":"Bottom article ads group","type":"group"},{"title":"adbutler sidebar ad","type":"ad"},{"title":"Sidebar ads group","type":"group"}];</script><script>window.advads_ajax_queries = [{"id":"bottom-of-article","method":"placement","params":{"cache-busting":"auto","pro_minimum_length":"200","previous_method":"placement","previous_id":"bottom-of-article","post":"r0","url_parameter":"\/earnings\/2024\/ross-stores-treasure-hunt-environment-drives-off-price-store-sales\/","placement_type":"post_bottom","output":{"class":["pymnt-bottom-of-article"],"placement_id":"bottom-of-article"}},"elementid":"pymnt-b91ac75ec77539b51eaeac8874d77dee","blog_id":1}]; window.advads_has_ads = [["2439345","ad","Adbutler Banner Ad","off"],["2439346","ad","Adbutler Bottom ad","off"],["2439347","ad","adbutler sidebar ad","off"]]; window.advads_ajax_queries_args = {"r0":{"id":2297272,"author":"1","post_type":"post"}}; ( window.advanced_ads_ready || jQuery( document ).ready ).call( null, function() {if ( !window.advanced_ads_pro ) {console.log("Advanced Ads Pro: cache-busting can not be initialized");} });</script><script>!function(){window.advanced_ads_ready_queue=window.advanced_ads_ready_queue||[],advanced_ads_ready_queue.push=window.advanced_ads_ready;for(var d=0,a=advanced_ads_ready_queue.length;d<a;d++)advanced_ads_ready(advanced_ads_ready_queue[d])}();</script><script id="webpushr-script"> (function(w,d, s, id) {w.webpushr=w.webpushr||function(){(w.webpushr.q=w.webpushr.q||[]).push(arguments)};var js, fjs = d.getElementsByTagName(s)[0];js = d.createElement(s); js.async=1; js.id = id;js.src = "https://cdn.webpushr.com/app.min.js"; d.body.appendChild(js);}(window,document, 'script', 'webpushr-jssdk')); webpushr('setup',{'key':'BMzcFf1fR52znWSoBe3xcJO01lfIbaiaDprMl3loXvqa0yVwjT_xXSuRvMDUzFmI3-4ySQVgdcv9XPSURrxYktI','sw':'https://www.pymnts.com/wp-content/plugins/webpushr-web-push-notifications/sdk_files/webpushr-sw.js.php'}); </script> <script id="pymnt-tracking">var advads_tracking_ads = {"1":[2439345,2439346,2439347]};var advads_tracking_urls = {"1":"https:\/\/www.pymnts.com\/wp-admin\/admin-ajax.php"};var advads_tracking_methods = {"1":"frontend"};var advads_tracking_parallel = {"1":false};var advads_tracking_linkbases = {"1":"https:\/\/www.pymnts.com\/linkout\/"};</script>

Pages: 1 2 3 4 5 6 7 8 9 10