CINXE.COM
Newsom Vetoes California Consumer Data Control and Privacy Bill
<!DOCTYPE html> <html lang="en-US"> <head> <title>Newsom Vetoes California Consumer Data Control and Privacy Bill</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>Newsom Vetoes California Consumer Data Control and Privacy Bill</title> <meta name="description" content="California Gov. Gavin Newsom axed a bill enhancing consumer data control while passing one to combat social media addiction in minors." /> <link rel="canonical" href="https://www.pymnts.com/news/regulation/2024/newsom-vetoes-california-privacy-bill-that-upped-consumer-data-control/" /> <meta property="og:locale" content="en_US" /> <meta property="og:type" content="article" /> <meta property="og:title" content="Newsom Vetoes California Privacy Bill That Upped Consumer Data Control | PYMNTS.com" /> <meta property="og:description" content="In a pivotal moment for data privacy and child protection, California Gov. Gavin Newsom recently made two contrasting decisions that highlight the" /> <meta property="og:url" content="https://www.pymnts.com/news/regulation/2024/newsom-vetoes-california-privacy-bill-that-upped-consumer-data-control/" /> <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-09-24T17:58:25+00:00" /> <meta property="og:image" content="https://www.pymnts.com/wp-content/uploads/2024/09/California-Gavin-Newsom.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/news/regulation/2024/newsom-vetoes-california-privacy-bill-that-upped-consumer-data-control/#article","isPartOf":{"@id":"https://www.pymnts.com/news/regulation/2024/newsom-vetoes-california-privacy-bill-that-upped-consumer-data-control/"},"author":{"name":"PYMNTS","@id":"https://www.pymnts.com/#/schema/person/9f0152ca483ca33a5d8121739eadfe4b"},"headline":"Newsom Vetoes California Privacy Bill That Upped Consumer Data Control","datePublished":"2024-09-24T17:58:25+00:00","dateModified":"2024-09-24T17:58:25+00:00","mainEntityOfPage":{"@id":"https://www.pymnts.com/news/regulation/2024/newsom-vetoes-california-privacy-bill-that-upped-consumer-data-control/"},"wordCount":766,"publisher":{"@id":"https://www.pymnts.com/#organization"},"image":{"@id":"https://www.pymnts.com/news/regulation/2024/newsom-vetoes-california-privacy-bill-that-upped-consumer-data-control/#primaryimage"},"thumbnailUrl":"https://www.pymnts.com/wp-content/uploads/2024/09/California-Gavin-Newsom.jpg","keywords":["Apple","Big Tech","California","consumer protection","data privacy","data protection","Gavin Newsom","Google","Microsoft","Minors","News","PYMNTS News","regulation","Social Media","TechREG"],"articleSection":["Regulation"],"inLanguage":"en-US","copyrightYear":"2024","copyrightHolder":{"@id":"https://www.pymnts.com/#organization"}},{"@type":"WebPage","@id":"https://www.pymnts.com/news/regulation/2024/newsom-vetoes-california-privacy-bill-that-upped-consumer-data-control/","url":"https://www.pymnts.com/news/regulation/2024/newsom-vetoes-california-privacy-bill-that-upped-consumer-data-control/","name":"Newsom Vetoes California Consumer Data Control and Privacy Bill","isPartOf":{"@id":"https://www.pymnts.com/#website"},"primaryImageOfPage":{"@id":"https://www.pymnts.com/news/regulation/2024/newsom-vetoes-california-privacy-bill-that-upped-consumer-data-control/#primaryimage"},"image":{"@id":"https://www.pymnts.com/news/regulation/2024/newsom-vetoes-california-privacy-bill-that-upped-consumer-data-control/#primaryimage"},"thumbnailUrl":"https://www.pymnts.com/wp-content/uploads/2024/09/California-Gavin-Newsom.jpg","datePublished":"2024-09-24T17:58:25+00:00","dateModified":"2024-09-24T17:58:25+00:00","description":"California Gov. Gavin Newsom axed a bill enhancing consumer data control while passing one to combat social media addiction in minors.","breadcrumb":{"@id":"https://www.pymnts.com/news/regulation/2024/newsom-vetoes-california-privacy-bill-that-upped-consumer-data-control/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https://www.pymnts.com/news/regulation/2024/newsom-vetoes-california-privacy-bill-that-upped-consumer-data-control/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https://www.pymnts.com/news/regulation/2024/newsom-vetoes-california-privacy-bill-that-upped-consumer-data-control/#primaryimage","url":"https://www.pymnts.com/wp-content/uploads/2024/09/California-Gavin-Newsom.jpg","contentUrl":"https://www.pymnts.com/wp-content/uploads/2024/09/California-Gavin-Newsom.jpg","width":1200,"height":720,"caption":"Gavin Newsom, California"},{"@type":"BreadcrumbList","@id":"https://www.pymnts.com/news/regulation/2024/newsom-vetoes-california-privacy-bill-that-upped-consumer-data-control/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://www.pymnts.com/"},{"@type":"ListItem","position":2,"name":"Newsom Vetoes California Privacy Bill That Upped Consumer Data Control"}]},{"@type":"WebSite","@id":"https://www.pymnts.com/#website","url":"https://www.pymnts.com/","name":"PYMNTS.com","description":"What'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 » Feed" href="https://www.pymnts.com/feed/" /> <link rel="alternate" type="application/rss+xml" title="PYMNTS.com » Comments Feed" href="https://www.pymnts.com/comments/feed/" /> <link rel="alternate" type="application/rss+xml" title="PYMNTS.com » Newsom Vetoes California Privacy Bill That Upped Consumer Data Control Comments Feed" href="https://www.pymnts.com/news/regulation/2024/newsom-vetoes-california-privacy-bill-that-upped-consumer-data-control/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.1"}}; /*! 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/QzcxLzilNSS3WzyrWz01NyUxMzUnNTc0rQeEU5CRWphbp5qSmJyZX6uVm5uklFxfr6OPTDpRD5sM02efaGpobGxkZmBkYGQMARIMu1Q==' 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=1708458468g' 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&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/??-eJyVjuEKwjAMhF/ImrmB/hKfJbaxy9ZmdWl1vr1VFPwhghAIXO67C1yTYbGhOFIY6pwLzbfXWkeW9aAr+GUykf2MmT7NdpJMkiGF4lkU0F1QLDmDTiGVY2ALqEr5Gfe+fkvIPcVaegq0mIjeKC+appEenJsi1rd6suM/mCKH3M/FSKi6l5IqfYj7za5r22bbtN1wBxwGZxE=" ></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/2104981" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://www.pymnts.com/xmlrpc.php?rsd" /> <meta name="generator" content="WordPress 6.7.1" /> <link rel='shortlink' href='https://www.pymnts.com/?p=2104981' /> <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%2Fnews%2Fregulation%2F2024%2Fnewsom-vetoes-california-privacy-bill-that-upped-consumer-data-control%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%2Fnews%2Fregulation%2F2024%2Fnewsom-vetoes-california-privacy-bill-that-upped-consumer-data-control%2F&format=xml" /> <link rel="alternate" type="application/feed+json" title="PYMNTS.com » JSON Feed" href="https://www.pymnts.com/feed/json/" /> <link rel="alternate" type="application/feed+json" title="PYMNTS.com » Newsom Vetoes California Privacy Bill That Upped Consumer Data Control Comments Feed" href="https://www.pymnts.com/news/regulation/2024/newsom-vetoes-california-privacy-bill-that-upped-consumer-data-control/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 --> </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; } </style> <div id="PYMNT_ad" class="bg-dark pymnt_ads"> <div class="adContainer" data-ad-group="156701"> <div data-pymnt-trackid="2296646" data-pymnt-trackbid="1" class="pymnt-target" id="pymnt-1601972242"><a data-no-instant="1" href="https://www.pymnts.com/study/the-state-of-fraud-and-financial-crime-united-states/" rel="noopener" class="adv-link" target="_blank" aria-label="PYMNTS State of Fraud and Financial Crime November 2024 Banner"><img src="https://www.pymnts.com/wp-content/uploads/2024/11/PYMNTS-State-of-Fraud-and-Financial-Crime-November-2024-Banner.gif" alt="" width="3840" height="766" /></a></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> | <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> 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>®</sup> Reports </a></li> --> <!-- <li class="nav-item"><a class="nav-link" href="/study/"> PYMNTS<sup>®</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> <li><a class="dropdown-item" href="/monitor-edge/" style="font-size: 0.85rem;">MonitorEdge Series</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> <li class="nav-item"><a class="nav-link" href="/monitor-edge/">MonitorEdge Series</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 <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>®</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> <a href="/events/" class="text-nowrap small">Events</a> </li> <li class="text-nowrap"><i class="bi bi-envelope-plus"></i> <a href="/subscribe/" class="text-nowrap small">Subscribe</a> </li> <li class="text-nowrap"><i class="bi bi-people-fill"></i> <a href="/partnerships/" class="text-nowrap small">Become a Partner</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"> Newsom Vetoes California Privacy Bill That Upped Consumer Data Control </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"> | </span> <span class="small muted text-uppercase d-block d-md-inline">September 24, 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/news/regulation/2024/newsom-vetoes-california-privacy-bill-that-upped-consumer-data-control/&t=Newsom+Vetoes+California+Privacy+Bill+That+Upped+Consumer+Data+Control" title="Share on Facebook"><i class="bi bi-facebook me-1 text-dark"></i></a><a href="https://twitter.com/share?text=Newsom+Vetoes+California+Privacy+Bill+That+Upped+Consumer+Data+Control -&url=https://www.pymnts.com/news/regulation/2024/newsom-vetoes-california-privacy-bill-that-upped-consumer-data-control/" 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&url=https://www.pymnts.com/news/regulation/2024/newsom-vetoes-california-privacy-bill-that-upped-consumer-data-control/&title=Newsom+Vetoes+California+Privacy+Bill+That+Upped+Consumer+Data+Control&summary=&source=" title="Share on LinkedIn"><i class="bi bi-linkedin mx-1 mx-1 text-dark"></i></a><a href="mailto:?subject=Newsom Vetoes California Privacy Bill That Upped Consumer Data Control&BODY=I found this article interesting and want to share it with you. Check it out: https://www.pymnts.com/news/regulation/2024/newsom-vetoes-california-privacy-bill-that-upped-consumer-data-control/"><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"> | </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="Gavin Newsom, California" src="https://www.pymnts.com/wp-content/uploads/2024/09/California-Gavin-Newsom.jpg?w=768" /> </div> <div class="post-feat-text"> </div> <!--post-feat-img--> <div id="pymnts-content2104981" class="single lh-article mt-1 lnk-article"> <p>In a pivotal moment for <a class="editor-rtfLink" href="https://www.pymnts.com/data/2024/states-tighten-data-privacy-laws-in-response-to-evolving-digital-challenges/" target="_blank" rel="noopener">data privacy</a> and child protection, California Gov. <a class="editor-rtfLink" href="https://www.gov.ca.gov/about/" target="_blank" rel="noopener">Gavin Newsom</a> recently made two contrasting decisions that highlight the complexities and competing interests in the realm of <a class="editor-rtfLink" href="https://www.pymnts.com/category/news/regulation/#:~:text=Irish%20Data%20Regulators%20Put%20Google%20AI%20Model%20Under%20Review.%20September" target="_blank" rel="noopener">digital regulation</a>.</p> <p>While he vetoed a <a class="editor-rtfLink" href="https://digitaldemocracy.calmatters.org/bills/ca_202320240ab3048" target="_blank" rel="noopener">privacy bill</a> aimed at empowering consumers, he <a class="editor-rtfLink" href="https://www.gov.ca.gov/2024/09/20/governor-newsom-signs-landmark-bill-to-protect-kids-from-social-media-addiction-takes-action-on-other-measures/#:~:text=SACRAMENTO%20%E2%80%93%20Moving%20to%20protect%20the%20health%20and%20well-being%20of" target="_blank" rel="noopener">approved legislation</a> designed to curb social media addiction among minors. These actions reflect the current landscape of privacy rights and underscore the ongoing struggle between <a class="editor-rtfLink" href="https://www.pymnts.com/trends/consumer-protection/#:~:text=July%2031,%202024.%20CFPB%20Rent-A-Center%20Affiliate%20Acima%20Lawsuit%20Claims%20Illegal" target="_blank" rel="noopener">consumer protection</a> and corporate interests in California’s tech-heavy economy.</p> <p>Newsom vetoed a bill that sought to simplify how consumers manage their data privacy online. This legislation would have mandated that internet browsers and mobile operating systems implement an “opt-out preference signal,” enabling users to easily send legally binding requests to opt out of data sharing under the <a class="editor-rtfLink" href="https://www.oag.ca.gov/privacy/ccpa" target="_blank" rel="noopener">California Consumer Privacy Act</a> (CCPA).</p> <p>In his veto <a class="editor-rtfLink" href="https://www.documentcloud.org/documents/25172165-ab-3048-veto-message" target="_blank" rel="noopener">letter</a>, Newsom expressed concerns about imposing such mandates on operating system developers, arguing that no major mobile platform currently supports an opt-out signal. He emphasized the importance of allowing developers to make design decisions rather than placing regulatory burdens on them.</p> <p>“Last year, I signed <a class="editor-rtfLink" href="https://sd13.senate.ca.gov/news/press-release/october-10-2023/governor-newsom-signs-first-in-the-nation-bill-to-protect#:~:text=(SACRAMENTO)%20%E2%80%93%20Today,%20Governor%20Gavin%20Newsom%20signed%20into%20law%20Senate" target="_blank" rel="noopener">SB 362 (Becker)</a>, which requires the California Privacy Protection Agency to establish an accessible deletion mechanism allowing consumers to request that data brokers delete all of their personal information,” Newsom wrote in the letter. “I am concerned, however, about placing a mandate on operating system (OS) developers at this time. No major mobile OS incorporates an option for an opt out signal. By contrast, most internet browsers either include such an option or, if users choose, they can download a plug-in with the same functionality. To ensure the ongoing usability of mobile devices, it’s best if design questions are first addressed by developers, rather than by regulators.”</p> <p>The vetoed bill was a priority for the <a class="editor-rtfLink" href="https://cppa.ca.gov/#:~:text=Welcome%20to%20the%20California%20Privacy%20Protection%20Agency.%20Who%20We%20Are." target="_blank" rel="noopener">California Privacy Protection Agency</a> and would have affected major tech companies like <a class="editor-rtfLink" href="https://www.google.com/" target="_blank" rel="noopener">Google</a>, <a class="editor-rtfLink" href="https://www.microsoft.com/en-us/" target="_blank" rel="noopener">Microsoft</a> and <a class="editor-rtfLink" href="https://www.apple.com/" target="_blank" rel="noopener">Apple</a>, all of which <a class="editor-rtfLink" href="https://finance.yahoo.com/news/newsoms-veto-bill-allowing-consumers-202200711.html" target="_blank" rel="noopener">lobbied against it</a>.</p> <p>“It’s disappointing that this marks the end of the road for this landmark privacy legislation during this session,” said <a class="editor-rtfLink" href="https://www.linkedin.com/in/matthew-schwartz-343a98aa/" target="_blank" rel="noopener">Matt Schwartz</a>, policy analyst at Consumer Reports, in a <a class="editor-rtfLink" href="https://advocacy.consumerreports.org/press_release/california-governor-vetoes-landmark-bill-for-privacy-rights/" target="_blank" rel="noopener">statement</a>. “Ultimately, industry worked overtime to squash this bill, as it empowered Californians to better protect their privacy, undermining the commercial surveillance business model of these tech companies. We strongly disagree with the idea expressed in the Governor’s veto statement that it should be left to operating systems to provide privacy choices for consumers. They’ve shown time and again they won’t meaningfully do so until forced.”</p> <p>Meanwhile, Newsom <a class="editor-rtfLink" href="https://www.ocregister.com/2024/09/21/california-governor-signs-law-to-protect-children-from-social-media-addiction-2/" target="_blank" rel="noopener">signed a law</a> aimed at mitigating the impact of social media on minors. This legislation prohibits social media platforms from knowingly offering addictive feeds to users under 18 without parental consent, set to take effect in 2027. It reflects a growing recognition of the negative effects of social media on young people, including increased isolation, anxiety and unhealthy consumption patterns.</p> <p>Critics of the legislation argued it may unintentionally restrict adults’ access to content due to age verification issues and could compromise online privacy by necessitating greater data collection from users, the Orange County Register said in a report.</p> <p>The <a class="editor-rtfLink" href="https://www.ocregister.com/2024/09/21/california-governor-signs-law-to-protect-children-from-social-media-addiction-2/" target="_blank" rel="noopener">law</a> defines an “addictive feed” as any platform where multiple user-generated media pieces are recommended or prioritized for display based on user information or device association, with certain exceptions.</p> <p>This new legislation comes on the heels of a recent <a class="editor-rtfLink" href="https://www.cnn.com/2024/06/20/tech/new-york-hochul-social-media-algorithms-children/index.html#:~:text=Under%20New%20York%E2%80%99s%20SAFE%20For%20Kids%20Act,%20social%20media%20platforms" target="_blank" rel="noopener">New York law</a> that allows parents to block algorithm-driven content for their kids. <a class="editor-rtfLink" href="https://www.npr.org/2023/03/24/1165764450/utahs-new-social-media-law-means-children-will-need-approval-from-parents" target="_blank" rel="noopener">Utah has also passed laws</a> last year aimed at restricting children’s access to social media.</p> <p>California’s new law will take effect in a state home to many of the largest tech firms in the world. Previous attempts to implement <a class="editor-rtfLink" href="https://apnews.com/article/technology-california-government-and-politics-netflix-inc-f48601e13be547bf8b86aff42eed5124" target="_blank" rel="noopener">similar regulations failed</a>, but Gov. Newsom had already made strides in 2022 with a pioneering law that <a class="editor-rtfLink" href="https://www.cbsnews.com/sanfrancisco/news/california-children-online-privacy-law-1st-in-nation-signed-by-gov-newsom/" target="_blank" rel="noopener">prevents online platforms from misusing personal data</a> in ways that could endanger children. This initiative is part of a growing movement across the country focused on mitigating the effects of social media on young people’s wellbeing.</p> <p>“Every parent knows the harm social media addiction can inflict on their children — isolation from human contact, stress and anxiety, and endless hours wasted late into the night,” Newsom said in a Friday (Sept. 20) <a class="editor-rtfLink" href="https://www.gov.ca.gov/2024/09/20/governor-newsom-signs-landmark-bill-to-protect-kids-from-social-media-addiction-takes-action-on-other-measures/#:~:text=SACRAMENTO%20%E2%80%93%20Moving%20to%20protect%20the%20health%20and%20well-being%20of" target="_blank" rel="noopener">statement</a>. “With this bill, California is helping protect children and teenagers from purposely designed features that feed these destructive habits.”</p> <p>Under the new law, social media platforms are prohibited from sending notifications to minors from midnight to 6 a.m. and from 8 a.m. to 3 p.m. on weekdays during the school year. All accounts for minors must be set to private by default.</p> <div class="pymnt-5fc66413fcd50491504ee7823bbac3bf pymnt-bottom-of-article" id="pymnt-5fc66413fcd50491504ee7823bbac3bf"></div> <div id="bottom-ad"> </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/artificial-intelligence-2/2024/openai-expands-chatgpt-with-web-search-taking-aim-at-googles-territory/" class="small recommended-link" rel="bookmark" title="OpenAI Expands ChatGPT With Web Search, Taking Aim at Google’s Territory">OpenAI Expands ChatGPT With Web Search, Taking Aim at Google’s Territory</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/earnings/2024/roblox-engaging-bigger-kids-with-better-content-drives-more-payments/" class="small recommended-link" rel="bookmark" title="Roblox: Engaging Bigger Kids With Better Content Drives More Payments">Roblox: Engaging Bigger Kids With Better Content Drives More Payments</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/artificial-intelligence-2/2024/meta-and-amd-race-to-meet-demand-for-ai-with-infrastructure-push/" class="small recommended-link" rel="bookmark" title="Meta and AMD Race to Meet Demand for AI With Infrastructure Push">Meta and AMD Race to Meet Demand for AI With Infrastructure Push</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/news/b2b-payments/2024/fiserv-and-clover-serve-up-new-tools-for-small-businesses/" class="small recommended-link" rel="bookmark" title="Fiserv and Clover Serve up New Tools for Small Businesses">Fiserv and Clover Serve up New Tools for Small Businesses</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/apple/" rel="tag">Apple</a>, <a href="https://www.pymnts.com/tag/big-tech/" rel="tag">Big Tech</a>, <a href="https://www.pymnts.com/tag/california/" rel="tag">California</a>, <a href="https://www.pymnts.com/tag/consumer-protection/" rel="tag">consumer protection</a>, <a href="https://www.pymnts.com/tag/data-privacy/" rel="tag">data privacy</a>, <a href="https://www.pymnts.com/tag/data-protection/" rel="tag">data protection</a>, <a href="https://www.pymnts.com/tag/gavin-newsom/" rel="tag">Gavin Newsom</a>, <a href="https://www.pymnts.com/tag/google/" rel="tag">Google</a>, <a href="https://www.pymnts.com/tag/microsoft/" rel="tag">Microsoft</a>, <a href="https://www.pymnts.com/tag/minors/" rel="tag">Minors</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/regulation-2/" rel="tag">regulation</a>, <a href="https://www.pymnts.com/tag/social-media/" rel="tag">Social Media</a>, <a href="https://www.pymnts.com/tag/techreg/" rel="tag">TechREG</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/gig-economy/2024/securing-gig-economy-combatting-api-vulnerabilities-artificial-intelligence-driven-threats/" title="Securing the Gig Economy: Combatting API Vulnerabilities and AI-Driven Threats" > Securing the Gig Economy: Combatting API Vulnerabilities and AI-Driven Threats </a> <br> </div> <div class="border-bottom border-light py-2"> <a href="https://www.pymnts.com/news/retail/2024/best-buy-revenues-dip-as-consumers-await-deals-and-sales/" title="Best Buy Revenues Dip as Consumers Await 'Deals and Sales'"> Best Buy Revenues Dip as Consumers Await 'Deals and Sales' </a> <br> </div> <div class="border-bottom border-light py-2"> <a href="https://www.pymnts.com/artificial-intelligence-2/2024/google-vets-raise-56-million-to-give-ai-its-android-like-moment/" title="Google Vets Raise $56 Million to Give AI Its 'Android-Like Moment'"> Google Vets Raise $56 Million to Give AI Its 'Android-Like Moment' </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/retail/2024/j-p-morgan-weighs-in-on-retails-three-big-moments-of-truth/" title="J.P. Morgan Weighs In on Retail’s Three Big Moments of Truth" > J.P. Morgan Weighs In on Retail’s Three Big Moments of Truth </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="2296647" data-pymnt-trackbid="1" class="pymnt-target" id="pymnt-1156152852"><a data-no-instant="1" href="https://www.pymnts.com/study/the-state-of-fraud-and-financial-crime-united-states/" rel="noopener" class="adv-link" target="_blank" aria-label="PYMNTS State of Fraud and Financial Crime November 2024 Ad"><img src="https://www.pymnts.com/wp-content/uploads/2024/11/PYMNTS-State-of-Fraud-and-Financial-Crime-November-2024-Ad.gif" alt="" width="2160" height="2160" /></a></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/opinion/2024/why-instant-payments-are-no-longer-optional-for-credit-unions/" title="Why Instant Payments Are No Longer Optional for Credit Unions" > Why Instant Payments Are No Longer Optional for Credit Unions </a> <br> </div> <div class="border-bottom border-light py-2"> <a href="https://www.pymnts.com/accounts-receivable/2024/cfos-say-better-receivables-visibility-now-important-strategic-asset/" title="CFOs Say Better Receivables Visibility Now Important Strategic Asset"> CFOs Say Better Receivables Visibility Now Important Strategic Asset </a> <br> </div> <div class="border-bottom border-light py-2"> <a href="https://www.pymnts.com/consumer-insights/2024/41-of-zillennials-prioritize-price-over-brand-loyalty/" title="41% of Zillennials Prioritize Price Over Brand Loyalty"> 41% of Zillennials Prioritize Price Over Brand Loyalty </a> <br> </div> <div class="border-bottom border-light py-2"> <a href="https://www.pymnts.com/healthcare/2024/healthcare-cash-crunch-complex-payments-and-sidelined-treasurers-strain-financial-health/" title="Healthcare Cash Crunch: Complex Payments and Sidelined Treasurers Strain Financial Health"> Healthcare Cash Crunch: Complex Payments and Sidelined Treasurers Strain Financial Health </a> <br> </div> <div class="border-bottom border-light py-2"> <a href="https://www.pymnts.com/mobile-wallets/2024/digital-identities-wallets-tokens-give-consumers-passport-commerce/" title="Digital Identities, Wallets and Tokens Give Consumers Passports to Commerce"> Digital Identities, Wallets and Tokens Give Consumers Passports to Commerce </a> <br> </div> <div class="border-bottom border-light py-2"> <a href="https://www.pymnts.com/news/artificial-intelligence/2024/chatgpt-new-role-estee-lauder-beauty-consultant/" title="ChatGPT Flexes Muscles in Unexpected Arena as Estée Lauder Beauty Consultant"> ChatGPT Flexes Muscles in Unexpected Arena as Estée Lauder Beauty Consultant </a> <br> </div> <div class="border-bottom border-light py-2"> <a href="https://www.pymnts.com/news/b2b-payments/2024/in-b2b-payments-it-takes-two-to-create-value/" title="In B2B Payments, It Takes Two to Create Value"> In B2B Payments, It Takes Two to Create Value </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"> </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 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 (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\/news\/regulation\/2024\/newsom-vetoes-california-privacy-bill-that-upped-consumer-data-control\/","latest":["https:\/\/www.pymnts.com\/bank-regulation\/2024\/fsb-assigns-lower-capital-requirement-to-bank-of-america\/","https:\/\/www.pymnts.com\/accounts-payable\/2024\/esker-integrates-accounts-payable-solution-with-microsoft-erps\/","https:\/\/www.pymnts.com\/gig-economy\/2024\/securing-gig-economy-combatting-api-vulnerabilities-artificial-intelligence-driven-threats\/","https:\/\/www.pymnts.com\/news\/retail\/2024\/best-buy-revenues-dip-as-consumers-await-deals-and-sales\/","https:\/\/www.pymnts.com\/artificial-intelligence-2\/2024\/google-vets-raise-56-million-to-give-ai-its-android-like-moment\/","https:\/\/www.pymnts.com\/news\/investment-tracker\/2024\/citi-invests-mortgage-infrastructure-provider-pylon\/","https:\/\/www.pymnts.com\/news\/regulation\/2024\/ftc-evolv-oversold-abilities-of-ai-powered-weapon-detector\/","https:\/\/www.pymnts.com\/antitrust\/2024\/apple-ordered-to-lift-in-app-purchase-restrictions-in-brazil\/","https:\/\/www.pymnts.com\/partnerships\/2024\/mollie-and-paypal-partner-on-payment-solutions-for-marketplace-platforms\/","https:\/\/www.pymnts.com\/consumer-insights\/2024\/consumer-confidence-jumps-spending-plans-mixed\/","https:\/\/www.pymnts.com\/news\/retail\/2024\/ross-tjx-and-gap-pivot-as-consumer-spending-shift-poses-challenges\/","https:\/\/www.pymnts.com\/partnerships\/2024\/what-synapses-court-filings-reveal-about-the-future-of-bank-fintech-partnerships\/","https:\/\/www.pymnts.com\/earnings\/2024\/burlington-sales-impacted-by-significantly-warmer-fall-temperatures\/","https:\/\/www.pymnts.com\/earnings\/2024\/kohls-increases-private-brands-inventory-to-bolster-value-messaging\/","https:\/\/www.pymnts.com\/news\/cross-border-commerce\/cross-border-payments\/2024\/dlocal-becomes-certified-payment-initiation-service-provider-in-brazil\/","https:\/\/www.pymnts.com\/news\/banking\/2024\/deutsche-bank-wins-new-business-thanks-to-commerzbank-uncertainty\/","https:\/\/www.pymnts.com\/news\/cross-border-commerce\/2024\/private-sector-will-pave-path-for-x-border-payments-transformation\/","https:\/\/www.pymnts.com\/earnings\/2024\/dicks-sporting-goods-outperforms-headwinds-experiences-exclusive-brands\/","https:\/\/www.pymnts.com\/mastercard\/2024\/mastercard-makes-private-equity-debut-with-550-million-deal\/","https:\/\/www.pymnts.com\/news\/artificial-intelligence\/2024\/donald-trump-weighs-concept-white-house-ai-czar\/","https:\/\/www.pymnts.com\/news\/investment-tracker\/2024\/cardless-raises-30-million-to-continue-developing-co-branded-credit-cards\/","https:\/\/www.pymnts.com\/news\/b2b-payments\/2024\/hsbc-launches-platform-for-managing-domestic-and-international-business-payments\/","https:\/\/www.pymnts.com\/cryptocurrency\/2024\/united-kingdom-targets-2026-crypto-rules-digital-asset-ownership-climbs\/","https:\/\/www.pymnts.com\/artificial-intelligence-2\/2024\/mistral-reportedly-eyes-us-expansion-to-take-on-ai-giants\/","https:\/\/www.pymnts.com\/apple\/2024\/apple-ai-launch-faces-difficult-and-long-process-in-china\/","https:\/\/www.pymnts.com\/opinion\/2024\/why-instant-payments-are-no-longer-optional-for-credit-unions\/","https:\/\/www.pymnts.com\/accounts-receivable\/2024\/cfos-say-better-receivables-visibility-now-important-strategic-asset\/","https:\/\/www.pymnts.com\/consumer-insights\/2024\/41-of-zillennials-prioritize-price-over-brand-loyalty\/","https:\/\/www.pymnts.com\/news\/retail\/2024\/kohls-appoints-michaels-chief-ashley-buchanan-to-succeed-retiring-ceo\/","https:\/\/www.pymnts.com\/fraud-prevention\/2024\/fincen-aims-to-expand-public-private-partnerships-combating-fraud\/","https:\/\/www.pymnts.com\/meta\/2024\/judge-sets-trial-date-for-ftc-antitrust-lawsuit-against-meta\/","https:\/\/www.pymnts.com\/healthcare\/2024\/healthcare-cash-crunch-complex-payments-and-sidelined-treasurers-strain-financial-health\/","https:\/\/www.pymnts.com\/news\/2024\/crypto-entrepreneur-justin-sun-invests-30-million-in-trump-backed-world-liberty-financial\/","https:\/\/www.pymnts.com\/artificial-intelligence-2\/2024\/boosted-ai-raises-15-million-to-grow-investment-management-platform\/","https:\/\/www.pymnts.com\/cybersecurity\/2024\/ransomware-attack-targets-supply-chain-management-software-provider-blue-yonder\/","https:\/\/www.pymnts.com\/cryptocurrency\/2024\/report-cantor-fitzgerald-seeks-tethers-support-for-bitcoin-lending-project\/","https:\/\/www.pymnts.com\/blockchain\/2024\/blockchains-b2b-dreams-start-with-new-regulations\/","https:\/\/www.pymnts.com\/news\/delivery\/2024\/doordash-adds-5-new-chains-grocery-partner-list\/","https:\/\/www.pymnts.com\/acquisitions\/2024\/envestnet-finalizes-4-5-billion-go-private-deal-with-bain-capital\/","https:\/\/www.pymnts.com\/news\/2024\/retailers-tap-data-readiness-to-boost-holiday-spend-and-customer-loyalty\/","https:\/\/www.pymnts.com\/identity\/2024\/id-me-valued-at-1-8-billion-following-tender-offer\/","https:\/\/www.pymnts.com\/news\/regulation\/2024\/ec-bluesky-breaches-rules-by-not-disclosing-number-of-users\/","https:\/\/www.pymnts.com\/partnerships\/2024\/mastercard-launches-open-banking-partnership-with-unzer\/","https:\/\/www.pymnts.com\/mastercard\/2024\/mastercard-to-begin-rollout-of-shopping-experiences-supporting-small-businesses\/","https:\/\/www.pymnts.com\/mobile-wallets\/2024\/digital-identities-wallets-tokens-give-consumers-passport-commerce\/","https:\/\/www.pymnts.com\/news\/2024\/geico-and-travelers-fined-11-3-million-for-ny-data-breaches\/","https:\/\/www.pymnts.com\/news\/regulation\/2024\/uks-fca-aims-to-support-competitiveness-of-financial-services-sector\/","https:\/\/www.pymnts.com\/news\/banking\/2024\/mbanq-debuts-ai-powered-loan-origination-platform-comet\/","https:\/\/www.pymnts.com\/bank-regulation\/2024\/lawmakers-question-us-banking-relationship-with-hong-kong\/","https:\/\/www.pymnts.com\/artificial-intelligence-2\/2024\/nvidia-says-ai-model-generates-sounds-never-heard-before\/","https:\/\/www.pymnts.com\/personnel\/2024\/us-bank-appoints-kristy-carstensen-to-lead-global-treasury-management\/","https:\/\/www.pymnts.com\/consumer-insights\/2024\/retailers-take-note-consumers-say-there-are-too-many-deals\/","https:\/\/www.pymnts.com\/news\/ipo\/2024\/goldman-sachs-banker-sees-massive-potential-for-2025-ipo-uptick\/","https:\/\/www.pymnts.com\/digital-onboarding\/2024\/how-upgrading-onboarding-experience-redefines-b2b-relationships\/","https:\/\/www.pymnts.com\/bank-regulation\/2024\/report-td-bank-close-to-adding-compliance-monitors\/","https:\/\/www.pymnts.com\/artificial-intelligence-2\/2024\/wex-debuts-ai-powered-enhanced-to-benefits-admin-tool\/","https:\/\/www.pymnts.com\/news\/retail\/2024\/macys-employee-accused-of-concealing-132-million-in-delivery-costs\/","https:\/\/www.pymnts.com\/news\/artificial-intelligence\/2024\/chatgpt-new-role-estee-lauder-beauty-consultant\/","https:\/\/www.pymnts.com\/antitrust\/2024\/warren-accuses-verisign-of-web-domain-registration-monopoly\/","https:\/\/www.pymnts.com\/news\/b2b-payments\/2024\/in-b2b-payments-it-takes-two-to-create-value\/","https:\/\/www.pymnts.com\/news\/security-and-risk\/2024\/the-true-cost-of-fraud-goes-well-beyond-dollars-lost\/","https:\/\/www.pymnts.com\/news\/retail\/2024\/j-p-morgan-weighs-in-on-retails-three-big-moments-of-truth\/","https:\/\/www.pymnts.com\/news\/retail\/2024\/rush-hour-retail-how-geolocation-impacts-customer-experience-during-the-holidays\/","https:\/\/www.pymnts.com\/connectedeconomy\/2024\/ce-100-index-jumps-5-2-as-c3-ai-and-snowflake-surge-by-double-digits\/","https:\/\/www.pymnts.com\/apple\/2024\/apple-loses-bid-to-stall-india-antitrust-probe-report\/","https:\/\/www.pymnts.com\/news\/retail\/2024\/how-alto-pharmacy-is-redefining-the-pharmacy-experience-through-digital-innovation\/","https:\/\/www.pymnts.com\/economy\/2024\/report-trump-tariffs-could-cost-consumers-78-billion-per-year\/","https:\/\/www.pymnts.com\/news\/retail\/2024\/chinas-secondhand-luxury-market-blooms-as-consumers-feel-pinched\/","https:\/\/www.pymnts.com\/acquisitions\/2024\/celero-commerce-bolsters-retail-presence-with-precision-payments-purchase\/","https:\/\/www.pymnts.com\/news\/social-commerce\/2024\/social-media-startup-bluesky-sees-300-post-election-user-jump\/","https:\/\/www.pymnts.com\/news\/cfpb\/2024\/trump-considering-pretty-significant-changes-to-cfpb\/","https:\/\/www.pymnts.com\/legal\/2024\/barclays-calls-on-ex-ceo-to-fight-50-million-uk-fine\/","https:\/\/www.pymnts.com\/technology\/2024\/retro-revival-nostalgic-tech-is-making-comeback\/","https:\/\/www.pymnts.com\/mobile-wallets\/2024\/digital-wallets-gain-traction-nearly-half-of-us-consumers-tap-in\/","https:\/\/www.pymnts.com\/bnpl\/2024\/lenovo-adds-klarnas-flexible-payment-methods-in-15-european-countries\/","https:\/\/www.pymnts.com\/subscription-commerce\/2024\/judge-rules-siriusxm-must-make-it-easier-to-cancel-subscriptions\/","https:\/\/www.pymnts.com\/news\/b2b-payments\/2024\/cards-making-gains-with-commercial-payments-but-greenfield-opportunity-still-is-massive\/","https:\/\/www.pymnts.com\/news\/cross-border-commerce\/cross-border-payments\/2024\/treasury-official-us-promotes-innovation-and-regulatory-frameworks-for-cross-border-payments\/","https:\/\/www.pymnts.com\/loans\/2024\/main-street-lending-program-borrowers-challenged-high-interest-rates\/","https:\/\/www.pymnts.com\/fraud-prevention\/2024\/fraudsters-shift-tactics-to-customers-challenging-financial-institutions-to-innovate\/","https:\/\/www.pymnts.com\/earnings\/2024\/ross-stores-treasure-hunt-environment-drives-off-price-store-sales\/","https:\/\/www.pymnts.com\/economy\/2024\/leading-indicators-bumpy-holiday-season-for-consumers-and-maybe-b2b-too\/","https:\/\/www.pymnts.com\/earnings\/2024\/gaps-brand-reinvigoration-focus-turns-to-in-store-and-online-experiences\/","https:\/\/www.pymnts.com\/apple\/2024\/report-apple-aims-to-increase-siris-capabilities-with-advanced-llms\/","https:\/\/www.pymnts.com\/consumer-insights\/2024\/bnpl-mobile-banking-embraced-low-income-paycheck-consumers\/","https:\/\/www.pymnts.com\/news\/investment-tracker\/2024\/amazon-increases-total-investment-artificial-intelligence-startup-anthropic-8-billion-dollars\/","https:\/\/www.pymnts.com\/google\/2024\/making-sense-of-the-search-landscape-in-light-of-googles-antitrust-woes\/","https:\/\/www.pymnts.com\/antitrust\/2024\/uks-cma-says-apple-and-google-policies-hold-back-innovation\/","https:\/\/www.pymnts.com\/healthcare\/2024\/the-treasurer-will-see-you-now-collaboration-is-the-medicine-the-healthcare-industry-needs\/","https:\/\/www.pymnts.com\/news\/b2b-payments\/2024\/ingo-payments-ceo-takes-aim-at-fbo-account-and-move-on-mentality-in-payments\/","https:\/\/www.pymnts.com\/news\/payments-innovation\/2024\/panel-data-driven-paradigms-future-proof-security-lifecycle-management\/","https:\/\/www.pymnts.com\/mobile-wallets\/2024\/two-thirds-of-digital-wallet-users-in-france-use-them-for-everything-but-payments\/","https:\/\/www.pymnts.com\/news\/fintech-investments\/2024\/fintech-ipo-index-surges-3-8percent-as-lemonade-affirm-lead-the-pack\/","https:\/\/www.pymnts.com\/buy-now-pay-later\/2024\/why-complexity-is-the-enemy-of-the-sale\/","https:\/\/www.pymnts.com\/fraud-prevention\/2024\/report-financial-scams-drive-122-increase-in-fraud-losses-by-us-banks\/","https:\/\/www.pymnts.com\/news\/banking\/2024\/bridging-the-digital-divide-how-banks-can-meet-customer-expectations-in-lending\/","https:\/\/www.pymnts.com\/partnerships\/2024\/adyen-to-support-global-expansion-of-spendesks-spend-management-platform\/","https:\/\/www.pymnts.com\/artificial-intelligence-2\/2024\/report-openai-considers-adding-web-browser-and-search-partnerships\/","https:\/\/www.pymnts.com\/antitrust\/2024\/doj-proposal-in-antitrust-case-aims-to-undo-google-anthropic-partnership\/","https:\/\/www.pymnts.com\/earnings\/2024\/intuit-sees-ai-driving-big-changes-for-small-businesses\/"]}'); 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=" ",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: "<", // nextText: ">", // 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/??-eJyVyzEOwjAMAMAP4VoFqsKAeItjB5QocaraoTwf2BhYGG843Bbgph7VcSn9ntSQRMAbMJWoQiuE7t4USwpIzmGoSYdsO/xRPyZ2uLW1woxJuXSJhrY9MNvbEp//3q93rZdx3k+H03Qcz/kF4U1EYQ==" ></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&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":"2104981","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/??-eJyVzEEKgzAQQNELGYdGqO1CPMuYBJk0mQRn1Ou7aUFwY9ef/2CvxhXWwAo1rTOxAPoN2QVv0IupSwEUCSoQr6nNxG2UBv5jJpRwe9UF3Yd4hrpOidyJ8SQKv/z1xjw8emtf9vm2XTwAih5R4w==" ></script><script type="text/javascript" src="https://stats.wp.com/e-202448.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\":\"2104981\",\"tz\":\"-5\",\"srv\":\"www.pymnts.com\",\"hp\":\"vip\",\"j\":\"1:14.0\"}") ]); _stq.push([ "clickTrackerInit", "225068944", "2104981" ]); /* ]]> */ </script> <script>window.advads_admin_bar_items = [{"title":"PYMNTS State of Fraud and Financial Crime November 2024 Banner","type":"ad"},{"title":"Banner ads group","type":"group"},{"title":"PYMNTS State of Fraud and Financial Crime November 2024 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":"\/news\/regulation\/2024\/newsom-vetoes-california-privacy-bill-that-upped-consumer-data-control\/","placement_type":"post_bottom","output":{"class":["pymnt-bottom-of-article"],"placement_id":"bottom-of-article"}},"elementid":"pymnt-5fc66413fcd50491504ee7823bbac3bf","blog_id":1}]; window.advads_has_ads = [["2296646","ad","PYMNTS State of Fraud and Financial Crime November 2024 Banner","off"],["2296647","ad","PYMNTS State of Fraud and Financial Crime November 2024 Ad","off"]]; window.advads_ajax_queries_args = {"r0":{"id":2104981,"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":[2296646,2296647]};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>