PageSourceSearch

https://kluvos.com/blog

html kluvos.com collected 2026-09-24 20:01:39 UTC 84,480 bytes, 840 lines download raw bytes

1<!DOCTYPE html>
2<html lang="en" class="marketing-2026-shell">
3<head>
4  <meta charset="UTF-8">
5<script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"beacon":"bam.nr-data.net","errorBeacon":"bam.nr-data.net","licenseKey":"NRJS-afdcac2135e6cb0514d","applicationID":"1010921732","transactionName":"IlddFkoMXltWSh9XWw5fHAtWB1dP","queueTime":1,"applicationTime":19,"agent":""}</script>
vendor: 1 bytes, line 5
5
6<script type="text/javascript">(window.NREUM||(NREUM={})).init={ajax:{deny_list:["bam.nr-data.net"]}};(window.NREUM||(NREUM={})).loader_config={licenseKey:"NRJS-afdcac2135e6cb0514d",applicationID:"1010921732",browserID:"1103240984"};;/*! For license information please see nr-loader-rum-1.322.0.min.js.LICENSE.txt */
7(()=>{var e={8122(e,t,r){"use strict";r.d(t,{a:()=>i});var n=r(944);function i(e,t){try{if(!e||"object"!=typeof e)return(0,n.R)(3);if(!t||"object"!=typeof t)return(0,n.R)(4);const r=Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t)),a=0===Object.keys(r).length?e:r;for(let s in a)if(void 0!==e[s])try{if(null===e[s]){r[s]=null;continue}Array.isArray(e[s])&&Array.isArray(t[s])?r[s]=Array.from(new Set([...e[s],...t[s]])):e[s]instanceof Map||e[s]instanceof Set||e[s]instanceof Date||e[s]instanceof RegExp?r[s]=e[s]:"object"==typeof e[s]&&null!==t[s]&&"object"==typeof t[s]?r[s]=i(e[s],t[s]):r[s]=e[s]}catch(e){r[s]||(0,n.R)(1,e)}return r}catch(e){(0,n.R)(2,e)}}},2555(e,t,r){"use strict";r.d(t,{f:()=>s});var n=r(384),i=r(8122);const a={beacon:n.NT.beacon,errorBeacon:n.NT.errorBeacon,licenseKey:void 0,applicationID:void 0,sa:void 0,queueTime:void 0,applicationTime:void 0,ttGuid:void 0,user:void 0,account:void 0,product:void 0,extra:void 0,jsAttributes:{},userAttributes:void 0,atts:void 0,transactionName:void 0,tNamePlain:void 0};function s(e){try{return!!e.licenseKey&&!!e.errorBeacon&&!!e.applicationID}catch(e){return!1}}r.d(t,["D",0,e=>(0,i.a)(e,a)])},7699(e,t,r){"use strict";var n=r(860);const i={[n.K7.logging]:!0,[n.K7.genericEvents]:!0,[n.K7.jserrors]:!0,[n.K7.ajax]:!0};r.d(t,["It",0,1e6,"KC",0,i,"qh",0,"SESSION_ERROR"])},9324(e,t,r){"use strict";r.d(t,["xv",0,"1.322.0"])},981(e,t,r){"use strict";r.d(t,["R",0,{AJAX:"AjaxRequest",PA:"PageAction",UA:"UserAction",BP:"BrowserPerformance",WS:"WebSocket",SPV:"SecurityPolicyViolation",JSE:"JavaScriptError",LOG:"Log",PVE:"PageView",PVT:"PageViewTiming",SR:"SessionReplay",ST:"SessionTrace",BI:"BrowserInteraction"}])},6154(e,t,r){"use strict";var n=r(1863);const i="undefined"!=typeof window&&!!window.document,a="undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self.navigator instanceof WorkerNavigator||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis.navigator instanceof WorkerNavigator),s=i?window:"undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis),o=Boolean("hidden"===s?.document?.visibilityState),c=""+s?.location,u=/iPad|iPhone|iPod/.test(s.navigator?.userAgent),d=u&&"undefined"==typeof SharedWorker,l=((()=>{const e=s.navigator?.userAgent?.match(/Firefox[/\s](\d+\.\d+)/);Array.isArray(e)&&e.length>=2&&e[1]})(),Date.now()-(0,n.t)());r.d(t,["OF",0,u,"RI",0,i,"WN",0,l,"bv",0,a,"gm",0,s,"m",0,c,"mw",0,o,"sb",0,d,"zk",0,()=>{const e=s?.performance?.getEntriesByType?.("navigation")?.[0];if(e&&e.responseStart>0&&e.responseStart<s.performance.now())return e}])},3241(e,t,r){"use strict";r.d(t,{W:()=>i});var n=r(6154);function i(e={}){try{n.gm.dispatchEvent(new CustomEvent("newrelic",{detail:e}))}catch(e){}}},1687(e,t,r){"use strict";r.d(t,{Ak:()=>o,Ze:()=>u,x3:()=>c});var n=r(3241),i=r(3606),a=r(860),s=r(2646);function o(e,t){if(!e)return;const r={staged:!1,priority:a.P3[t]||0};e.runtime.drainRegistry.get(t)||e.runtime.drainRegistry.set(t,r)}function c(e,t){if(!e)return;const r=e.runtime.drainRegistry;r&&(r.get(t)&&r.delete(t),l(e,t,!1),r.size&&d(e))}function u(e,t="feature",r=!1){if(e){if(!e.runtime.drainRegistry.get(t)||r)return l(e,t);e.runtime.drainRegistry.get(t).staged=!0,d(e)}}function d(e){if(!e)return;const t=Array.from(e.runtime.drainRegistry);t.every(([e,t])=>t.staged)&&(t.sort((e,t)=>e[1].priority-t[1].priority),t.forEach(([t])=>{e.runtime.drainRegistry.delete(t),l(e,t)}))}function l(e,t,r=!0){if(!e)return;const a=e.ee,o=i.i.handlers;if(a&&!a.aborted&&a.backlog&&o){if((0,n.W)({type:"lifecycle",name:"drain",feature:t}),r){const e=a.backlog[t],r=o[t];if(r){for(let t=0;e&&t<e.length;++t)f(e[t],r);Object.entries(r).forEach(([e,t])=>{Object.values(t||{}
7).forEach(t=>{t[0]?.on&&t[0].context()instanceof s.y&&!t[0].listeners(e).includes(t[1])&&t[0].on(e,t[1])})})}}a.isolatedBacklog||delete o[t],a.backlog[t]=null,a.emit("drain-"+t,[])}}function f(e,t){var r=e[1];Object.values(t[r]||{}).forEach(t=>{var r=e[0];if(t[0]===r){var n=t[1],i=e[3],a=e[2];n.apply(i,a)}})}},7836(e,t,r){"use strict";var n=r(384),i=r(8990),a=r(2646),s=r(5607);const o="nr@context:".concat(s.W),c=function e(t,r){var n={},s={},d={},l=!1;try{l=16===r.length&&u.initializedAgents?.[r]?.runtime.isolatedBacklog}catch(e){}var f={on:p,addEventListener:p,removeEventListener:function(e,t){var r=n[e];if(!r)return;for(var i=0;i<r.length;i++)r[i]===t&&r.splice(i,1)},emit:function(e,r,n,i,a){!1!==a&&(a=!0);if(c.aborted&&!i)return;t&&a&&t.emit(e,r,n);var o=g(n);m(e).forEach(e=>{e.apply(o,r)});var u=v()[s[e]];u&&u.push([f,e,r,o]);return o},get:h,listeners:m,context:g,buffer:function(e,t){const r=v();if(t=t||"feature",f.aborted)return;Object.entries(e||{}).forEach(([e,n])=>{s[n]=t,t in r||(r[t]=[])})},abort:function(){f._aborted=!0,Object.keys(f.backlog).forEach(e=>{delete f.backlog[e]})},isBuffering:function(e){return!!v()[s[e]]},debugId:r,backlog:l?{}:t&&"object"==typeof t.backlog?t.backlog:{},isolatedBacklog:l};return Object.defineProperty(f,"aborted",{get:()=>{let e=f._aborted||!1;return e||(t&&(e=t.aborted),e)}}),f;function g(e){return e&&e instanceof a.y?e:e?(0,i.I)(e,o,()=>new a.y(o)):new a.y(o)}function p(e,t){n[e]=m(e).concat(t)}function m(e){return n[e]||[]}function h(t){return d[t]=d[t]||e(f,t)}function v(){return f.backlog}}(void 0,"globalEE"),u=(0,n.Zm)();u.ee||(u.ee=c),r.d(t,["P",0,o,"ee",0,c])},2646(e,t,r){"use strict";r.d(t,{y:()=>n});class n{constructor(e){this.contextId=e}}},9908(e,t,r){"use strict";r.d(t,{d:()=>n,p:()=>i});var n=r(7836).ee.get("handle");function i(e,t,r,i,a){a?(a.buffer([e],i),a.emit(e,t,r)):(n.buffer([e],i),n.emit(e,t,r))}},3606(e,t,r){"use strict";r.d(t,{i:()=>a});var n=r(9908);a.on=s;var i=a.handlers={};function a(e,t,r,a){s(a||n.d,i,e,t,r)}function s(e,t,r,i,a){a||(a="feature"),e||(e=n.d);var s=t[a]=t[a]||{};(s[r]=s[r]||[]).push([e,i])}},3878(e,t,r){"use strict";function n(e,t){return{capture:e,passive:!1,signal:t}}function i(e,t,r=!1,i){window.addEventListener(e,t,n(r,i))}function a(e,t,r=!1,i){document.addEventListener(e,t,n(r,i))}r.d(t,{DD:()=>a,jT:()=>n,sp:()=>i})},5607(e,t,r){"use strict";const n=(0,r(9566).bz)();r.d(t,["W",0,n])},9566(e,t,r){"use strict";r.d(t,{LA:()=>s,bz:()=>a});var n=r(6154);function i(e,t){return e?15&e[t]:16*Math.random()|0}function a(){const e=n.gm?.crypto||n.gm?.msCrypto;let t,r=0;return e&&e.getRandomValues&&(t=e.getRandomValues(new Uint8Array(30))),"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".split("").map(e=>"x"===e?i(t,r++).toString(16):"y"===e?(3&i()|8).toString(16):e).join("")}function s(e){const t=n.gm?.crypto||n.gm?.msCrypto;let r,a=0;t&&t.getRandomValues&&(r=t.getRandomValues(new Uint8Array(e)));const s=[];for(var o=0;o<e;o++)s.push(i(r,a++).toString(16));return s.join("")}},2614(e,t,r){"use strict";r.d(t,["BB",0,18e5,"Wt",0,"NRBA_SESSION::","iL",0,{SAME_TAB:"same-tab",CROSS_TAB:"cross-tab"},"tS",0,{STARTED:"session-started",PAUSE:"session-pause",RESET:"session-reset",RESUME:"session-resume",UPDATE:"session-update"},"wk",0,144e5])},1863(e,t,r){"use strict";function n(){return Math.floor(performance.now())}r.d(t,{t:()=>n})},944(e,t,r){"use strict";r.d(t,{R:()=>i});var n=r(3241);function i(e,t){"function"==typeof console.debug&&(console.debug("New Relic Warning: https://github.com/newrelic/newrelic-browser-agent/blob/main/docs/warning-codes.md#".concat(e),t),(0,n.W)({drained:null,type:"data",name:"warn",feature:"warn",data:{code:e,secondary:t}}))}},8990(e,t,r){"use strict";r.d(t,{I:()=>i});var n=Object.prototype.hasOwnProperty;function i(e,t,r){if(n.call(e,t))return e[t];var i=r();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(e,t,{value:i,writable:!0,enumerable:!1}),i}catch(e){}return e[t]=i,i}},6389(e,t,r){"use strict";function n(e,t=500,r={}){const n=r?.leading||!1;let i;return(...r)=>{n&&void 0===i&&(e.apply(this,r),i=setTimeout(()=>{i=clearTimeout(i)},t)),n||(clearTimeout(i),i=setTimeout(()=>{e.apply(this,r)},t))}}function i(e){let t=!1;return(...r)=>{t||(t=!0,e.apply(this,r))}}r.d(t,{J:()=>i,s:()=>n})},1910(e,t,r){"use strict";r.d(t,{i:()=>a});var n=r(944);const i=new Map;function a(...e){return e.every(e=>{if(i.has(e))return i.get(e);const t="function"==typeof e?e.toString():"",r=t.includes("[native code]"),a=t.includes("nrWrapper");return r||a||(0,n.R)(64,e?.name||t),i.set(e,r),r})}},5289(e,t,r){"use strict";r.d(t,{GG:()=>s,Qr:()=>c,sB:()=>o});var n=r(3878),i=r(6389);function a(){return"undefined"==typeof document||"complete"===document.readyState}function s(e,t){if(a())return e();const r=(0,i.J)(e),s=setInterval(()=>
7{a()&&(clearInterval(s),r())},500);(0,n.sp)("load",r,t)}function o(e){if(a())return e();(0,n.DD)("DOMContentLoaded",e)}function c(e){if(a())return e();(0,n.sp)("popstate",e)}},384(e,t,r){"use strict";r.d(t,{Zm:()=>c,bQ:()=>d,dV:()=>u,pV:()=>l});var n=r(6154),i=r(1863),a=r(944),s=r(1910);const o={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net"};function c(){return n.gm.NREUM||(n.gm.NREUM={}),void 0===n.gm.newrelic&&(n.gm.newrelic=n.gm.NREUM),n.gm.NREUM}function u(){let e=c();return e.o||(e.o={ST:n.gm.setTimeout,SI:n.gm.setImmediate||n.gm.setInterval,CT:n.gm.clearTimeout,XHR:n.gm.XMLHttpRequest,REQ:n.gm.Request,EV:n.gm.Event,PR:n.gm.Promise,MO:n.gm.MutationObserver,FETCH:n.gm.fetch,WS:n.gm.WebSocket},(0,s.i)(...Object.values(e.o))),e}function d(e,t){let r=c();r.initializedAgents??={},t.initializedAt={ms:(0,i.t)(),date:new Date},r.initializedAgents[e]=t,2===Object.keys(r.initializedAgents).length&&(0,a.R)(69)}function l(){return function(){let e=c();const t=e.info||{};e.info={beacon:o.beacon,errorBeacon:o.errorBeacon,...t}}(),function(){let e=c();const t=e.init||{};e.init={...t}}(),u(),function(){let e=c();const t=e.loader_config||{};e.loader_config={...t}}(),c()}r.d(t,["NT",0,o])},2843(e,t,r){"use strict";r.d(t,{G:()=>a,u:()=>i});var n=r(3878);function i(e,t=!1,r,i){(0,n.DD)("visibilitychange",function(){if(t)return void("hidden"===document.visibilityState&&e());e(document.visibilityState)},r,i)}function a(e,t,r){(0,n.sp)("pagehide",e,t,r)}},9300(e,t,r){"use strict";r(860).K7.ajax;r.d(t,["mo",0,{NONE:"none",FAILURES:"failures",ALL:"all"}])},3969(e,t,r){"use strict";const n=r(860).K7.metrics;r.d(t,["TZ",0,n,"XG",0,"storeEventMetrics","xV",0,"storeSupportabilityMetrics"])},6630(e,t,r){"use strict";const n=r(860).K7.pageViewEvent;r.d(t,["T",0,n])},782(e,t,r){"use strict";const n=r(860).K7.pageViewTiming;r.d(t,["T",0,n])},4234(e,t,r){"use strict";r.d(t,{W:()=>i});var n=r(1687);class i{constructor(e,t){this.agentRef=e,this.ee=e?.ee,this.featureName=t,this.blocked=!1}deregisterDrain(){(0,n.x3)(this.agentRef,this.featureName)}}},7767(e,t,r){"use strict";var n=r(6154);r.d(t,["V",0,e=>n.RI&&!0===e?.privacy.cookies_enabled])},8362(e,t,r){"use strict";r.d(t,{d:()=>a});var n=r(9566),i=r(1741);class a extends i.W{agentIdentifier=(0,n.LA)(16)}},1741(e,t,r){"use strict";r.d(t,{W:()=>a});var n=r(944),i=r(4261);class a{#e(e,...t){if(this[e]!==a.prototype[e])return this[e](...t);(0,n.R)(35,e)}addPageAction(e,t){return this.#e(i.hG,e,t)}register(e){return this.#e(i.eY,e)}recordCustomEvent(e,t){return this.#e(i.fF,e,t)}setPageViewName(e,t){return this.#e(i.Fw,e,t)}setCustomAttribute(e,t,r){return this.#e(i.cD,e,t,r)}noticeError(e,t){return this.#e(i.o5,e,t)}setUserId(e,t=!1){return this.#e(i.Dl,e,t)}setApplicationVersion(e){return this.#e(i.nb,e)}setErrorHandler(e){return this.#e(i.bt,e)}addRelease(e,t){return this.#e(i.k6,e,t)}log(e,t){return this.#e("log",e,t)}start(){return this.#e("start")}finished(e){return this.#e(i.BL,e)}recordReplay(){return this.#e(i.CH)}pauseReplay(){return this.#e(i.Tb)}addToTrace(e){return this.#e(i.U2,e)}setCurrentRouteName(e){return this.#e(i.PA,e)}interaction(e){return this.#e(i.dT,e)}wrapLogger(e,t,r){return this.#e(i.Wb,e,t,r)}measure(e,t){return this.#e(i.V1,e,t)}consent(e){return this.#e(i.Pv,e)}}},4261(e,t,r){"use strict";r.d(t,["BL",0,"finished","CH",0,"recordReplay","Dl",0,"setUserId","Fw",0,"setPageViewName","PA",0,"setCurrentRouteName","Pv",0,"consent","Tb",0,"pauseReplay","U2",0,"addToTrace","V1",0,"measure","Wb",0,"wrapLogger","bt",0,"setErrorHandler","cD",0,"setCustomAttribute","dT",0,"interaction","eY",0,"register","fF",0,"recordCustomEvent","hG",0,"addPageAction","k6",0,"addRelease","nb",0,"setApplicationVersion","o5",0,"noticeError"])},1738(e,t,r){"use strict";r.d(t,{U:()=>l,Y:()=>d});var n=r(3241),i=r(9908),a=r(1863),s=r(944),o=r(3969),c=r(8362),u=r(860);function d(e,t,r,a){const d=a||r;!d||d[e]&&d[e]!==c.d.prototype[e]||(d[e]=function(){(0,i.p)(o.xV,["API/"+e+"/called"],void 0,u.K7.metrics,r.ee),(0,n.W)({drained:!!r.runtime?.activatedFeatures,type:"data",name:"api",feature:"api-"+e,data:{}});try{return t.apply(this,arguments)}catch(e){(0,s.R)(23,e)}})}function l(e,t,r,n,s){const o=e.info;null===r?delete o.jsAttributes[t]:o.jsAttributes[t]=r,(s||null===r)&&(0,i.p)("api-"+n,[(0,a.t)(),t,r],void 0,"session",e.ee)}},8374(e,t,r){r.nc=(()=>{try{return document?.currentScript?.nonce}catch(e){}return""})()},860(e,t,r){"use strict";const n="events",i="jserrors",a="browser/blobs",s="browser/logs",o={ajax:"ajax",genericEvents:"generic_events",jserrors:i,logging:"logging",metrics:"metrics",pageAction:"page_action",pageViewEvent:"page_view_event",pageViewTiming:"page_view_timing",sessionReplay:"session_replay",sessionTrace:"session_trace",softNav:"soft_navigations"},c={[o.pageViewEvent]:1,[o.pageViewTiming]:2,[o.metrics]:3,[o.jserrors]:4,[o.softNav]:5,[o.ajax]:6,[o.sessionTrace]:7,[o.sessionReplay]:8,[o.logging]:9,[o.genericEvents]:10},u={[o.pageViewEvent]:"rum",[o.pageViewTiming]:n,[o.ajax]:n,[o.softNav]:n,[o.metrics]:i,[o.jserrors]:i,[o.sessionTrace]:a,[o.sessionReplay]:a,[o.logging]:s,[o.genericEvents]:"ins"};r.d(t,["$J",0,u,"K7",0,o,"P3",0,c,"XX",0,i,"Yy",0,s,"df",0,a,"hg",0,"connect"])}};const t={};function r(n){const i=t[n];if(void 0!==i)return i.exports;const a=t[n]={exports:{}};return e[n](a,a.exports,r),a.exports}r.m=e,r.d=(e,t)=>{if(Array.isArray(t))for(var n=0;n<t.length;){var i=t[n++],a=t[n++];r.o(e,i)?0===a&&n++:0===a?Object.defineProperty(e,i,{enumerable:!0,value:t[n++]}):Object.defineProperty(e,i,{enumerable:!0,get:a})}else for(var i in t)r.o(t,i)&&!r.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce((t,n)=>(r.f[n](e,t),t),[])),r.u=e=>"nr-rum-1.322.0.min.js",r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{const e={},t="NRBA-1.322.0.PROD:";r.l=(n,i,a,s)=>{if(e[n])return void e[n].push(i);let o,c;if(void 0!==a){const e=document.getElementsByTagName("script");for(var u=0;u<e.length;u++){const r=e[u];if(r.getAttribute("src")==n||r.getAttribute("data-webpack")==t+a){o=r;break}}}if(!o){c=!0;var d={296:"sha512-/59P7qAoMYQDJAZerTRPChdYcdrlcoEAw2TwA1wz6Y0/XLmt3sblL
7I5JCXAuxG0YxsW7iqJzgrcO7NJWO58EfQ=="};o=document.createElement("script"),o.charset="utf-8",r.nc&&o.setAttribute("nonce",r.nc),o.setAttribute("data-webpack",t+a),o.src=n,0!==o.src.indexOf(window.location.origin+"/")&&(o.crossOrigin="anonymous"),d[s]&&(o.integrity=d[s])}e[n]=[i];const l=(t,r)=>{o.onerror=o.onload=null,clearTimeout(f);const i=e[n];if(delete e[n],o.parentNode?.removeChild(o),i?.forEach(e=>e(r)),t)return t(r)},f=setTimeout(l.bind(null,void 0,{type:"timeout",target:o}),12e4);o.onerror=l.bind(null,o.onerror),o.onload=l.bind(null,o.onload),c&&document.head.appendChild(o)}})(),r.r=e=>{Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="https://js-agent.newrelic.com/",(()=>{const e={374:0,840:0};r.f.j=(t,n)=>{let i=r.o(e,t)?e[t]:void 0;if(0!==i)if(i)n.push(i[2]);else{const a=new Promise((r,n)=>i=e[t]=[r,n]);n.push(i[2]=a);const s=r.p+r.u(t),o=new Error,c=n=>{if(r.o(e,t)&&(i=e[t],0!==i&&(e[t]=void 0),i)){const e=n&&("load"===n.type?"missing":n.type),r=n&&n.target&&n.target.src;o.message="Loading chunk "+t+" failed: ("+e+": "+r+")",o.name="ChunkLoadError",o.type=e,o.request=r,i[1](o)}};r.l(s,c,"chunk-"+t,t)}};const t=(t,n)=>{let[i,a,s]=n;var o,c,u=0;if(i.some(t=>0!==e[t])){for(o in a)r.o(a,o)&&(r.m[o]=a[o]);if(s)s(r)}for(t&&t(n);u<i.length;u++)c=i[u],r.o(e,c)&&e[c]&&e[c][0](),e[c]=0},n=self["webpackChunk:NRBA-1.322.0.PROD"]=self["webpackChunk:NRBA-1.322.0.PROD"]||[];n.forEach(t.bind(null,0)),n.push=t.bind(null,n.push.bind(n))})(),(()=>{"use strict";r(8374);var e=r(8362),t=r(860);const n=Object.values(t.K7);var i=r(384),a=r(1741);var s=r(2555),o=r(981);t.K7.genericEvents,o.R.PA,o.R.UA,o.R.BP;const c={RESOURCES:"experimental.resources",REGISTER:"register"};var u=r(9300);const d=e=>{if(!e||"string"!=typeof e)return!1;try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0};var l=r(2614),f=r(944),g=r(8122);const p="[data-nr-mask]",m=e=>(0,g.a)(e,(()=>{const e={feature_flags:[],experimental:{register:!1,resources:!1,iframe_bridge:!1,iframe_domains:[]},mask_selector:"*",block_selector:"[data-nr-block]",mask_input_options:{color:!1,date:!1,"datetime-local":!1,email:!1,month:!1,number:!1,range:!1,search:!1,tel:!1,text:!1,time:!1,url:!1,week:!1,textarea:!1,select:!1,password:!0}};return{ajax:{deny_list:void 0,block_internal:!0,enabled:!0,autoStart:!0,capture_payloads:u.mo.NONE},api:{register:{get enabled(){return e.feature_flags.includes(c.REGISTER)||e.experimental.register},set enabled(t){e.experimental.register=t},duplicate_data_to_container:!1,get allow_iframe_bridge(){return e.feature_flags.includes(c.IFRAME_BRIDGE)||e.experimental.iframe_bridge},set allow_iframe_bridge(t){e.experimental.iframe_bridge=t},get iframe_domains(){return e.experimental.iframe_domains},set iframe_domains(t){Array.isArray(t)?e.experimental.iframe_domains=t:(0,f.R)(1,t)}}},browser_consent_mode:{enabled:!1},distributed_tracing:{enabled:void 0,exclude_newrelic_header:void 0,cors_use_newrelic_header:void 0,cors_use_tracecontext_headers:void 0,allowed_origins:void 0},get feature_flags(){return e.feature_flags},set feature_flags(t){e.feature_flags=t},generic_events:{enabled:!0,autoStart:!0},harvest:{interval:30},jserrors:{enabled:!0,autoStart:!0},logging:{enabled:!0,autoStart:!0},metrics:{enabled:!0,autoStart:!0},obfuscate:void 0,page_action:{enabled:!0},page_view_event:{enabled:!0,autoStart:!0},page_view_timing:{enabled:!0,autoStart:!0},performance:{capture_marks:!1,capture_measures:!1,capture_detail:!0,resources:{get enabled(){return e.feature_flags.includes(c.RESOURCES)||e.experimental.resources},set enabled(t){e.experimental.resources=t},asset_types:[],first_party_domains:[],ignore_newrelic:!0}},privacy:{cookies_enabled:!0},proxy:{assets:void 0,beacon:void 0},session:{expiresMs:l.wk,inactiveMs:l.BB},session_replay:{autoStart:!0,enabled:!1,preload:!1,sampling_rate:10,error_sampling_rate:100,collect_fonts:!1,inline_images:!1,fix_stylesheets:!0,mask_all_inputs:!0,get mask_text_selector(){return e.mask_selector},set mask_text_selector(t){d(t)?e.mask_selector="".concat(t,",").concat(p):""===t||null===t?e.mask_selector=p:(0,f.R)(5,t)},get block_class(){return"nr-block"},get ignore_class(){return"nr-ignore"},get mask_text_class(){return"nr-mask"},get block_selector(){return e.block_selector},set block_selector(t){d(t)?e.block_selector+=",".concat(t):""!==t&&(0,f.R)(6,t)},get mask_input_options(){return e.mask_input_options},set mask_input_options(t){t&&"object"==typeof t?e.mask_input_options={...t,password:!0}:(0,f.R)(7,t)}},session_trace:{enabled:!0,autoStart:!0},soft_navigations:{enabled:!0,autoStart:!0},ssl:void 0,user_actions:{enabled:!0,elementAttributes:["id","className","tagName","type"]},web_sockets:{enabled:!1}}})());var h=r(6154),v=r(9324);let b=0;const y={buildEnv:"PROD",distMethod:"CDN",version:v.xv,originTime:h.WN},_={consented:!1},w={activatedFeatures:void 0,appMetadata:{},configured:!1,get consented(){return this.session?.state?.consent||_.consented},set consented(e){_.consented=e}
7,customTransaction:void 0,denyList:[],disabled:!1,drainRegistry:new Map,connector:void 0,harvester:void 0,v2Target:void 0,isolatedBacklog:!1,isRecording:!1,loaderType:void 0,maxBytes:3e4,obfuscator:void 0,onerror:void 0,ptid:void 0,releaseIds:{},session:void 0,timeKeeper:void 0,registeredEntities:[],jsAttributesMetadata:{bytes:0},get harvestCount(){return++b},listeningForIframeMessages:!1},R="BA";var A=r(7836),x=r(3241);const E={accountID:void 0,trustKey:void 0,agentID:void 0,licenseKey:void 0,applicationID:void 0,xpid:void 0};var S=r(9908);const k="newrelic-iframe-";function T(e,t={},n,o){let{init:c,info:u,loader_config:d,runtime:l={},exposed:f=!0}=t;if(!u){const e=(0,i.pV)();c=e.init,u=e.info,d=e.loader_config}var p;e.init=m(c||{}),e.loader_config=(p=d||{},(0,g.a)(p,E)),u.jsAttributes??={},h.bv&&(u.jsAttributes.isWorker=!0),e.info=(0,s.D)(u);const v=e.init;e.runtime??=(e=>{const t=(0,g.a)(e,w),r=Object.keys(y).reduce((e,t)=>(e[t]={value:y[t],writable:!1,configurable:!0,enumerable:!0},e),{});return Object.defineProperties(t,r)})(l),e.runtime.v2Target??={type:R,instance:e.agentIdentifier,get id(){return e.runtime.appMetadata?.agents?.[0]?.entityGuid},get attributes(){return{"entity.guid":this.id,appId:e.info.applicationID}}},v.proxy.assets&&(e=>{const t=e.startsWith("http");e+="/",r.p=t?e:"https://"+e})(v.proxy.assets),e.runtime.configured||(Object.defineProperty(e,"beacons",{get:()=>[e.info.beacon,e.info.errorBeacon,e.init.proxy.assets,e.init.proxy.beacon].filter(Boolean)}),Object.defineProperty(e.runtime,"denyList",{get:()=>[...e.init.ajax.deny_list||[],...e.init.ajax.block_internal?e.beacons:[]]}),e.runtime.ptid=e.agentIdentifier,function(e){const t=(0,i.pV)();Object.getOwnPropertyNames(a.W.prototype).forEach(r=>{const n=a.W.prototype[r];if("function"!=typeof n||"constructor"===n)return;let i=t[r];e[r]&&!1!==e.exposed&&"micro-agent"!==e.runtime?.loaderType&&(t[r]=(...t)=>{const n=e[r](...t);return i?i(...t):n})})}(e),e.runtime.loaderType=n,e.ee=A.ee.get(e.agentIdentifier),e.exposed=f,(0,x.W)({drained:!!e.runtime.activatedFeatures,type:"lifecycle",name:"initialize",feature:void 0,data:e.config}),e.init.api.register.allow_iframe_bridge&&h.gm.addEventListener("message",t=>{"string"==typeof t.data?.type&&t.data.type.startsWith(k)&&(0,S.p)("iframe-message",[t],void 0,"IFRAME",e.ee)}),e.runtime.configured=!0)}var j=r(1863),P=r(4261),N=r(1738);
7var O=r(1687),M=r(4234),I=r(5289),D=r(7767);function V(e){return!!(0,i.dV)().o.MO&&(0,D.V)(e)&&!0===e?.session_trace.enabled}var W=r(6389),B=r(7699);const C=new WeakSet,K=new WeakMap;class U extends M.W{constructor(e,t){super(e,t),this.abortHandler=void 0,this.featAggregate=void 0,this.loadedSuccessfully=void 0,this.onAggregateImported=new Promise(e=>{this.loadedSuccessfully=e}),this.deferred=Promise.resolve(),!1===e.init[this.featureName].autoStart?this.deferred=new Promise((t,r)=>{this.ee.on("manual-start-all",(0,W.J)(()=>{(0,O.Ak)(e,this.featureName),t()}))}):(0,O.Ak)(e,t)}importAggregator(e,t,n={}){if(this.featAggregate)return;const i=async()=>{if(await this.deferred,this.#t(e),!(0,s.f)(e.info))return(0,f.R)(43),e.ee.abort(),void this.loadedSuccessfully(!1);try{await async function(e,t,n){if(K.has(e))return K.get(e);const i=(async()=>{if((0,D.V)(e.init))try{const{setupAgentSession:t}=await r.e(296).then(r.bind(r,1768));t(e)}catch(e){(0,f.R)(20,e),t.emit("internal-error",[e]),(0,S.p)(B.qh,[e],void 0,n,t)}if(e.init.api.register.allow_iframe_bridge)try{const{setupIframeMFEMessageListener:t}=await Promise.resolve().then(function(){const e=new Error("Cannot find module '../../loaders/configure/iframe-message-handler'");throw e.code="MODULE_NOT_FOUND",e});t(e)}catch(e){(0,f.R)(23,e)}const[{Connector:i},{Harvester:a}]=await Promise.all([r.e(296).then(r.bind(r,6589)),r.e(296).then(r.bind(r,5237))]);e.runtime.connector=new i(e),e.runtime.harvester=new a(e);const s=Object.values(e.features).filter(t=>e.runtime.drainRegistry.has(t.featureName));Promise.all(s.map(e=>e.onAggregateImported)).then(()=>e.runtime.harvester.startTimer())})();K.set(e,i),await i}(e,this.ee,this.featureName)}catch(e){return(0,f.R)(79,e),this.ee.abort(),void this.loadedSuccessfully(!1)}try{if(!this.#r(this.featureName,e.runtime.session,e.init))return this.abortHandler?.(),(0,O.Ze)(this.agentRef,this.featureName),void this.loadedSuccessfully(!1);const{Aggregate:r}=await t();this.featAggregate=new r(e,n),e.runtime.harvester.initializedAggregates.push(this.featAggregate),this.loadedSuccessfully(!0)}catch(e){(0,f.R)(34,e),this.abortHandler?.(),(0,O.Ze)(this.agentRef,this.featureName,!0),this.loadedSuccessfully(!1)}};h.RI?(0,I.GG)(()=>i(),!0):i()}#r(e,r,n){if(this.blocked)return!1;switch(e){case t.K7.sessionReplay:return V(n)&&!!r;case t.K7.sessionTrace:return!!r;default:return!0}}#t(e){if(!C.has(e)&&(C.add(e),!(0,s.f)(e.info))){const t=(0,i.pV)();let r={...t.info?.jsAttributes};try{r={...r,...e.info?.jsAttributes}}catch(e){}T(e,{...t,info:{...t.info,jsAttributes:r},runtime:e.runtime},e.runtime.loaderType)}}}var L=r(6630);class F extends U{static featureName=L.T;constructor(e){var t;super(e,L.T),this.setupInspectionEvents(),t=e,(0,N.Y)(P.Fw,function(e,r){"string"==typeof e&&("/"!==e.charAt(0)&&(e="/"+e),t.runtime.customTransaction=(r||"http://custom.transaction")+e,(0,S.p)("api-"+P.Fw,[(0,j.t)()],void 0,void 0,t.ee))},t),this.importAggregator(e,()=>e.init.feature_flags.includes("rum_v2")?r.e(296).then(r.bind(r,908)):r.e(296).then(r.bind(r,7927)))}setupInspectionEvents(){const e=(e,t)=>{e&&(0,x.W)({timeStamp:e.timeStamp,loaded:"complete"===e.target.readyState,type:"window",name:t,data:e.target.location+""})};(0,I.sB)(t=>{e(t,"DOMContentLoaded")}),(0,I.GG)(t=>{e(t,"load")}),(0,I.Qr)(t=>{e(t,"navigate")}),this.ee.on(l.tS.UPDATE,(e,t)=>{(0,x.W)({type:"lifecycle",name:"session",data:t})})}}class G extends e.d{constructor(e){var t;(super(),h.gm)?(this.features={},(0,i.bQ)(this.agentIdentifier,this),this.desiredFeatures=new Set(e.features||[]),this.desiredFeatures.add(F),T(this,e,e.loaderType||"agent"),t=this,(0,N.Y)(P.cD,function(e,r,n=!1){if("string"==typeof e){if(["string","number","boolean"].includes(typeof r)||null===r)return(0,N.U)(t,e,r,P.cD,n);(0,f.R)(40,typeof r)}else(0,f.R)(39,typeof e)},t),function(e){(0,N.Y)(P.Dl,function(t,r=!1){if("string"!=typeof t&&null!==t)return void(0,f.R)(41,typeof t);const n=e.info.jsAttributes["enduser.id"];r&&null!=n&&n!==t?(0,S.p)("api-setUserIdAndResetSession",[t],void 0,"session",e.ee):(0,N.U)(e,"enduser.id",t,P.Dl,!0)},e)}(this),function(e){(0,N.Y)(P.nb,function(t){if("string"==typeof t||null===t)return(0,N.U)(e,"application.version",t,P.nb,!1);(0,f.R)(42,typeof t)},e)}(this),function(e){(0,N.Y)("start",function(){e.ee.emit("manual-start-all")},e)}(this),function(e){(0,N.Y)(P.Pv,function(t=!0){if("boolean"==typeof t){if((0,S.p)("api-"+P.Pv,[t],void 0,"session",e.ee),e.runtime.consented=t,t){const t=e.features.page_view_event;t.onAggregateImported.then(e=>{const r=t.featAggregate;e&&!r.sentRum&&r.sendRum?.()})}}else(0,f.R)(65,typeof t)},e)}(this),this.run()):(0,f.R)(21)}get config(){return{info:this.info,init:this.init,loader_config:this.loader_config,runtime:this.runtime}}get api(){return this}run(){try{const e=function(e){const t={};
7return n.forEach(r=>{t[r]=!!e[r]?.enabled}),t}(this.init),r=[...this.desiredFeatures],i=this.init.feature_flags.includes("rum_v2");r.sort((e,r)=>t.P3[e.featureName]-t.P3[r.featureName]),r.forEach(r=>{if(!e[r.featureName]&&(i||r.featureName!==t.K7.pageViewEvent))return;const n=function(e){switch(e){case t.K7.ajax:return[t.K7.jserrors];case t.K7.sessionTrace:return[t.K7.ajax,t.K7.pageViewEvent];case t.K7.sessionReplay:return[t.K7.sessionTrace];case t.K7.pageViewTiming:return[t.K7.pageViewEvent];default:return[]}}(r.featureName).filter(e=>!(e in this.features));n.length>0&&(0,f.R)(36,{targetFeature:r.featureName,missingDependencies:n}),this.features[r.featureName]=new r(this)})}catch(e){(0,f.R)(22,e);for(const e in this.features)this.features[e].abortHandler?.();const t=(0,i.Zm)();delete t.initializedAgents[this.agentIdentifier]?.features,delete this.sharedAggregator;return t.ee.get(this.agentIdentifier).abort(),!1}}}var H=r(2843),z=r(782);class Y extends U{static featureName=z.T;constructor(e){super(e,z.T),h.RI&&((0,H.u)(()=>(0,S.p)("docHidden",[(0,j.t)()],void 0,z.T,this.ee),!0),(0,H.G)(()=>(0,S.p)("winPagehide",[(0,j.t)()],void 0,z.T,this.ee)),this.importAggregator(e,()=>r.e(296).then(r.bind(r,9981))))}}var Z=r(3969);class q extends U{static featureName=Z.TZ;constructor(e){super(e,Z.TZ),this.importAggregator(e,()=>r.e(296).then(r.bind(r,9623)))}}new G({features:[F,Y,q],loaderType:"lite"})})()})();</script>
7
8  <meta name="viewport" content="width=device-width, initial-scale=1.0">
9  <title>State of the &#39;Merce — Kluvos Blog</title>
10    <meta name="description" content="Field notes on attribution, identity, and growth from the Kluvos team.">
11    <link rel="canonical" href="https://kluvos.com/blog">
12  <meta property="og:title" content="State of the &#39;Merce — Kluvos Blog">
13    <meta property="og:description" content="Field notes on attribution, identity, and growth from the Kluvos team.">
14  <meta property="og:type" content="website">
15    <meta property="og:url" content="https://kluvos.com/blog">
16    <meta name="twitter:card" content="summary">
17  <meta name="twitter:title" content="State of the &#39;Merce — Kluvos Blog">
18    <meta name="twitter:description" content="Field notes on attribution, identity, and growth from the Kluvos team.">
19    
19<script type="application/ld+json">{"@context":"https://schema.org","@type":"Blog","name":"State of the 'Merce — Kluvos Blog","url":"https://kluvos.com/blog","description":"Field notes on attribution, identity, and growth from the Kluvos team.","publisher":{"@type":"Organization","name":"Kluvos"}}</script>
19
20  <link rel="shortcut icon" type="image/x-icon" href="/favicon.png">
21  <link rel="preconnect" href="https://fonts.googleapis.com">
22  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
23  <link href="https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap" rel="stylesheet">
24    <link href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&family=Libre+Baskerville:ital,wght@0,400;0,700;1,400&display=swap" rel="stylesheet">
25    <link rel="preload" href="/assets/GT-Super-Display-Medium-648c70f1aace04547b412653147586c46a159cbe26c5edad405b34969dd48518.woff2" as="font" type="font/woff2" crossorigin>
26  <link rel="stylesheet" href="/homepage_2026/css/style.css">
27  <link rel="stylesheet" href="/homepage_2026/css/responsive.css">
28  <link rel="stylesheet" href="/assets/new_fonts-08dfda51d8229816fa8946fca80b5bf3546f2004cb289e3ea65956468374b7cf.css" data-turbo-track="reload" />
29  <link rel="stylesheet" href="/assets/application-0e623abf8d8c67cf4947035a057b312daabdbe2b8620d00bb6c691ce75b30d9e.css" data-turbo-track="reload" />
30    <link rel="stylesheet" href="/assets/blog-0bf95ccf462d96273781583f898458716c8c83372f7d01ae9674fae4b9bc35d3.css" data-turbo-track="reload" />
31  <meta name="csrf-param" content="authenticity_token" />
32<meta name="csrf-token" content="rYiKZng1yUtV3gakCS7rj7vtngg24GBLSVNi1W_ja7HVC3A46w5M_jB2P2FA4Ya0vwdQgu3T3idR-8MbO1caIg" />
vendor: 71 bytes, lines 32-34
32
33  
34    <script async src="https://www.googletagmanager.com/gtag/js?id=
34G-1WEMSTVV9T
vendor: 14 bytes, lines 34-35
34"></script>
35  
35<script>
36    
vendor: 140 bytes, lines 36-40
36window.dataLayer = window.dataLayer || [];
37    function gtag(){dataLayer.push(arguments);}
38    gtag('js', new Date());
39
40    gtag('config', '
40G-1WEMSTVV9T
vendor: 8 bytes, lines 40-41
40');
41    
41gtag('config', 'AW-10943451256');
42  </script>
42
43
44  
44<script async type="text/javascript" src="https://static.klaviyo.com/onsite/js/klaviyo.js?company_id=WFzeVv"></script>
44
45
46  
46<script>
vendor: 435 bytes, lines 46-55
46
47    !function(f,b,e,v,n,t,s)
48    {if(f.fbq)return;n=f.fbq=function(){n.callMethod?
49    n.callMethod.apply(n,arguments):n.queue.push(arguments)};
50    if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
51    n.queue=[];t=b.createElement(e);t.async=!0;
52    t.src=v;s=b.getElementsByTagName(e)[0];
53    s.parentNode.insertBefore(t,s)}(window, document,'script',
54    'https://connect.facebook.net/en_US/fbevents.js');
55    fbq('init', '
55949180712905244
vendor: 36 bytes, lines 55-57
55');
56    fbq('track', 'PageView');
57  
57</script>
57
58  <noscript><img height="1" width="1" style="display:none"
59    src="https://www.facebook.com/tr?id=949180712905244&ev=PageView&noscript=1"
60  /></noscript>
61
62  
62<script src="https://ga.jspm.io/npm:[email protected]/dist/es-module-shims.js"></script>
62
63  
63<script type="importmap" data-turbo-track="reload">{
64  "imports": {
65    "application": "/assets/application-b86fffe3f2c41b0db7b419d6d0c4af62129d864a29e0608a8e78ae45d132b911.js",
66    "menu_section_map": "/assets/menu_section_map-bff1acf0c680567d0b84d62e94ba37beb1ae7c47a3e1d3f3d9e52e6c599a06c4.js",
67    "@hotwired/turbo-rails": "/assets/turbo.min-dfd93b3092d1d0ff56557294538d069bdbb28977d3987cb39bc0dd892f32fc57.js",
68    "@hotwired/stimulus": "/assets/stimulus.min-dd364f16ec9504dfb72672295637a1c8838773b01c0b441bd41008124c407894.js",
69    "@hotwired/stimulus-loading": "/assets/stimulus-loading-3576ce92b149ad5d6959438c6f291e2426c86df3b874c525b30faad51b0d96b3.js",
70    "controllers/ui_static_modal_controller": "/assets/controllers/ui_static_modal_controller-06ce600c0986db12651520b23ed7d9b7ab43007395e1845ce99727582f543ad3.js",
71    "controllers/ui_static_modal_trigger_controller": "/assets/controllers/ui_static_modal_trigger_controller-759ce6b088d7cce08cc11ba4aa5ea9ad37a292093c357b2766dca65d5f1c2c38.js",
72    "controllers/utm_builder_tabs_controller": "/assets/controllers/utm_builder_tabs_controller-99bc5db4d06c3de11d8bc674fb2a68bcee3b7cd0a52193670246a1eb7c804b6c.js",
73    "controllers/popup_application/gallery_toast": "/assets/controllers/popup_application/gallery_toast-ef8559e805a30205b9ddcd03987f01c195fe7f7ab9d16498daa4936a62f4fc8f.js",
74    "d3": "https://esm.sh/d3@7",
75    "venn.js": "https://esm.sh/[email protected]",
76    "moment": "https://cdn.skypack.dev/moment",
77    "sortablejs": "https://ga.jspm.io/npm:[email protected]/modular/sortable.esm.js",
78    "dom-to-image": "https://cdn.skypack.dev/dom-to-image",
79    "libphonenumber-js": "https://esm.sh/[email protected]",
80    "charts": "/assets/charts-8ba8f7a0cc5d45657f138823ebe061ed15874ee2f9901e746c75e76ae577ca81.js",
81    "controllers/agent_sso_link_controller": "/assets/controllers/agent_sso_link_controller-1f86318211730e4ca0ade2f0e959eb67ecea9c7e66324df17371179c23cee91f.js",
82    "controllers/agents_beta_controller": "/assets/controllers/agents_beta_controller-a37ccdf5e8e44550fe75ab96048b733e8a7639200b2dba3de9650ee3028b2959.js",
83    "controllers/alert_controller": "/assets/controllers/alert_controller-66e4d37febc5ac391bf422d4927c711ea3d20a604afc45c12a3f99568bd11dd7.js",
84    "controllers/application": "/assets/controllers/application-368d98631bccbf2349e0d4f8269afb3fe9625118341966de054759d96ea86c7e.js",
85    "controllers/attribution_controller": "/assets/controllers/attribution_controller-bc370a08cdf57d43ba7b0e85ebf4db25182a4f77d7c0e0ddc6408122c0b9bef7.js",
86    "controllers/attribution_drillbar_controller": "/assets/controllers/attribution_drillbar_controller-9e4c07bd222452f2137f69535863d162aa8035da818bd4c177026ddc69e72d3d.js",
87    "controllers/attribution_toolbar_controller": "/assets/controllers/attribution_toolbar_controller-bcd8f44c473143c55c4d02c3fdb32e09156d4d61329207317f345f7f7a90a4fc.js",
88    "controllers/case_study_filters_controller": "/assets/controllers/case_study_filters_controller-e56b224de74f4e09cd32a9818f9be46adabe6cf6a8372110808cfc542ce35be3.js",
89    "controllers/case_study_popup_demo_controller": "/assets/controllers/case_study_popup_demo_controller-4787d82f898b0ed66a8b68de228c37c09d513f035e8545208ff4723cde7f6132.js",
90    "controllers/case_study_toc_controller": "/assets/controllers/case_study_toc_controller-106c03d08c80c99819649ba8e096c462f95b639fd1661405f4326a031ed994a6.js",
91    "controllers/channel_brand_form_controller": "/assets/controllers/channel_brand_form_controller-3fdabe0e1b129c1165dcd20dc8cbce206f59de14e2e8034be3fd08741087ba04.js",
92    "controllers/channel_source_param_controller": "/assets/controllers/channel_source_param_controller-619f248d6e0e6abacf9553ad2b06de928f2ea9dbbfc002b273bd2c1c6fdba4c6.js",
93    "controllers/checkout_controller": "/assets/controllers/checkout_controller-c09946f785851595d81edb65a1e729f6f2194136009349952e521b2148e7a187.js",
94    "controllers/confirm_plugin_controller": "/assets/controllers/confirm_plugin_controller-30fd157ac9e998c614cdbd9b6232e639db3c3b419ca7c95882f2fd4a53521fe6.js",
95    "controllers/dashboard_controller": "/assets/controllers/dashboard_controller-688bcc677de3b617c88957082b194c1bf3b481d8107291d13f3207e57e6e3f5d.js",
96    "controllers/datatable_headers_controller": "/assets/controllers/datatable_headers_controller-2585376b0097ebb066f5498f182127dceec668fc46a46d23ed2a057ee9718e98.js",
97    "controllers/datatables_controller": "/assets/controllers/datatables_controller-96ad34bc535bf011d93b04b2e750d1ea7b0375f899dab478a735b88f0e7ef759.js",
98    "controllers/dropdowns_controller": "/assets/controllers/dropdowns_controller-7b085585fc54febf0dbd17bba77598c3b976fbb992a76e9bae16bf5b3696de6d.js",
99    "controllers/element_tree_controller": "/assets/controllers/element_tree_controller-6dcaeb5585f7cbb799ceb60e48016a46dc841f24082a723072e929bcfd059439.js",
100    "controllers/facebook_integrations_controller": "/assets/controllers/facebook_integrations_controller-e0b8d5f6ae9a9eb5a37c9e85f185d946366bd830328b7ac15aa19fa1efb8b84b.js",
101    "controllers/facebook_timestamps_controller": "/assets/controllers/facebook_timestamps_controller-ee78f67d22251de5a755660fc3cff1b13478fd4fbbb257047a8fdfb3b1a749a7.js",
102    "controllers/facebook_toggle_controller": "/assets/controllers/facebook_toggle_controller-1e17fd8c0171eb8796afaae9f47f856ba4f4914aad6ef656f82ee2510b2ab1e1.js",
103    "controllers/flash_controller": "/assets/controllers/flash_controller-ba2dc216c84b7e85c17677cae29b5fe75b7c6046f327feadf13592cb20f3a45b.js",
104    "controllers/form_builder/block_controller": "/assets/controllers/form_builder/block_controller-ac5414738000a15dda0bde1e93109583392856ddb65fa66aadac0aeee1d732b7.js",
105    "controllers/form_builder/canvas_controller": "/assets/controllers/form_builder/canvas_controller-ec8a6d38e2d8ca9a94bc1ce6b074f99d9c84b57bc0e640f87a84d5f6c3b4390c.js",
106    "controllers/form_builder/element_registry": "/assets/controllers/form_builder/element_registry-68c4d62e01fa8f9042062e34dd8eabae8395a2af184a50ce6e1d6a6a3708185e.js",
107    "controllers/form_builder/index_controller": "/assets/controllers/form_builder/index_controller-a1e0ce1bce1ef3bada993d86bee2bd2d851dc522006ee6edbcd74e6c485c71bb.js",
108    "controllers/form_builder/palette_controller": "/assets/controllers/form_builder/palette_controller-0f51d80e1d4cfae46f25377cf3bbc03ffdb3a9902b01fc3d0649e764972adb35.js",
109    "controllers/form_builder/row_controller": "/assets/controllers/form_builder/row_controller-0c13cb25f590c777e8bd5422179a9c73c76273e9995cea1e0ff06cc518ade428.js",
110    "controllers/form_builder/style_panel_controller": "/assets/controllers/form_builder/style_panel_controller-91fd678266cedf7614f5d81fe8db6ef0fefcb46ae62b630426621743347a1d8f.js",
111    "controllers/form_builder/utils": "/assets/controllers/form_builder/utils-e93d4aa17a0864e3f1777143687d5eb175f487d90a1423d09016682dc36ccaa7.js",
112    "controllers/form_builder_controller": "/assets/controllers/form_builder_controller-63494d6ef656b11fd997ffa9a2f70657fdf2a2cdb5fd1a49f0b52e72d3ecdd74.js",
113    "controllers/form_builder_v2/active_popup_modal_helper": "/assets/controllers/form_builder_v2/active_popup_modal_helper-c29b557fb926eb1d5ba37f6601cae498f125a81146f47a4ef4752136258f5e9e.js",
114    "controllers/form_builder_v2/behavior_settings_helper": "/assets/controllers/form_builder_v2/behavior_settings_helper-3c6e72750e61996cc58172f92bcfe8e22ce4c2ffd8a27b248f0c9e76ea6e26ea.js",
115    "controllers/form_builder_v2/element_factories": "/assets/controllers/form_builder_v2/element_factories-d9028a4d1de5e3873b7bf509bf11bb66aec1b83c34f1f3ef24c08434e87e6bdf.js",
116    "controllers/form_builder_v2/element_styles": "/assets/controllers/form_builder_v2/element_styles-40292d8b1b31c61435e0c893984326aafdc2c
116ab7e21d256c258a5cd8a523acac.js",
117    "controllers/form_builder_v2/export_panel_controller": "/assets/controllers/form_builder_v2/export_panel_controller-6bbee233daf97577cc6cfa4c4258300ccd1bd0dc7956646d9e9c41dc5a327d6d.js",
118    "controllers/form_builder_v2/klaviyo_helper": "/assets/controllers/form_builder_v2/klaviyo_helper-27a71ab428fdefb4e3878d564f235c070b11eb38497dc5cbf1134291d6c55e15.js",
119    "controllers/form_builder_v2/phone_countries": "/assets/controllers/form_builder_v2/phone_countries-bd41b0536bda730c57bdaf9cfa8da1ef2c94795a71b0bcf615c1b6e2a1ab668d.js",
120    "controllers/form_builder_v2/popup_billing_modal_helper": "/assets/controllers/form_builder_v2/popup_billing_modal_helper-7947dd8650f33d4f5a367a23d13aa7f4319efdab04ae1d581c5cae61bc73b758.js",
121    "controllers/form_builder_v2/popup_builder_controller": "/assets/controllers/form_builder_v2/popup_builder_controller-93050b49805c9c8e0cc743e1a7a62fe2e3c516873a74df66015222e128efadd4.js",
122    "controllers/form_builder_v2/popup_validator": "/assets/controllers/form_builder_v2/popup_validator-628fa02c5a7f2031fab22851d8391b989258590a696fef82adaae1562a2205ed.js",
123    "controllers/form_builder_v2/preview_manager": "/assets/controllers/form_builder_v2/preview_manager-2a19301c8476da9db52ef02885da250904a506520bf7631fb5eab36f0fafaf7f.js",
124    "controllers/form_builder_v2/property_panel_controller": "/assets/controllers/form_builder_v2/property_panel_controller-7269f478dbb2a7ac3e81b01bca228b3a712e1ad975aec6e3e3a93e40b97fd0fb.js",
125    "controllers/form_builder_v2/publish_status_helper": "/assets/controllers/form_builder_v2/publish_status_helper-c1a23fb00ba2822b619fb8e1e4afba68e90b0d15af72603ba77020977e24425f.js",
126    "controllers/form_builder_v2/teaser_manager": "/assets/controllers/form_builder_v2/teaser_manager-66cad728cfa2830b51d6a43fb4e77cc90b948c1614ec77addcc5e8a136b610ed.js",
127    "controllers/form_builder_v2/template_definitions": "/assets/controllers/form_builder_v2/template_definitions-703336137f27f1f75eb50fc8ed96225d68214bc05ad83c93047a1fdb43d74476.js",
128    "controllers/form_builder_v2/template_importer": "/assets/controllers/form_builder_v2/template_importer-7e3f3ca316a9516c2ab39f6c6d476671ca2324888949c6444803f9b34d2bcf98.js",
129    "controllers/form_builder_v2/template_selector": "/assets/controllers/form_builder_v2/template_selector-0ec7a2eeae06dd556822ed8b4a908b8c2441cbdc781c9b3003769cc1b274a38e.js",
130    "controllers/form_builder_v2/templates/desktop_multi_step_template_v1": "/assets/controllers/form_builder_v2/templates/desktop_multi_step_template_v1-0d052cb9b58cd3a10aa823b84105a1013b34fd416be48e0bbbcb32178f87afbe.js",
131    "controllers/form_builder_v2/templates": "/assets/controllers/form_builder_v2/templates/index-9f235491adbabb39799c52f03207b82a159ff52ede0715a46960354a0017222c.js",
132    "controllers/form_builder_v2/utils/builder_viewport": "/assets/controllers/form_builder_v2/utils/builder_viewport-94b56388f957a926ea8e6e8acf6c6d5ee4fbe04e1e7350c676f20773f5d44b2d.js",
133    "controllers/form_builder_v2/utils/builder_viewport_layout": "/assets/controllers/form_builder_v2/utils/builder_viewport_layout-ca01a57a77e73f398b6a5dce5e9f41c3d33c4dfd5ed4387c22e06f4211647573.js",
134    "controllers/form_builder_v2/utils/element_styles_utils": "/assets/controllers/form_builder_v2/utils/element_styles_utils-5ee1122ea1901f9c0eb75d429dc6e1dad9034cf91b12e2918ec2a1bd7363dc9f.js",
135    "controllers/form_builder_v2/utils/image_selector": "/assets/controllers/form_builder_v2/utils/image_selector-276f7c553abd9944bb59ef3f65fc569995a809d3968a7544ce33f18d0e057ff3.js",
136    "controllers/form_builder_v2/utils/image_upload_constants": "/assets/controllers/form_builder_v2/utils/image_upload_constants-6f43fe56c909f4d1b00c51ccd63c60db51535015317f2ab4f43dba3254ff0c1b.js",
137    "controllers/form_builder_v2/utils/loading_helper": "/assets/controllers/form_builder_v2/utils/loading_helper-3a1a762821d8fb3036924da3f223e489bfa84f0f29151c02bd9c126e6dc299aa.js",
138    "controllers/form_builder_v2/utils/popup_settings": "/assets/controllers/form_builder_v2/utils/popup_settings-cb4692905cb2aefdf7acaeaeeb09325cb64ddecce0b432c0f7558479c9003704.js",
139    "controllers/form_builder_v2/utils/toast": "/assets/controllers/form_builder_v2/utils/toast-71ff165dfc48b04128893fc26e8c4fd9d8dc7bf56326eba479c865471f2d0693.js",
140    "controllers/form_validation_controller": "/assets/controllers/form_validation_controller-457a911d368c2e08d55ab5072b410806f3482199543c2fd2ca2a4f21494dc9c4.js",
141    "controllers/forms_controller": "/assets/controllers/forms_controller-04e4697de97c5a41e45ec1243bad30d0a5ca417331d9ca2a63d49318e471d773.js",
142    "controllers/hello_controller": "/assets/controllers/hello_controller-bf4a23f682da4a35217735dc0533a9729e335206bb76790579c2e3236f4586f9.js",
143    "controllers/history_controller": "/assets/controllers/history_controller-ef3ca55572fa05b0e2ab888614e8f4d75fa223a3b050a8856
1435f7f259c3b92fa9.js",
144    "controllers/image_controller": "/assets/controllers/image_controller-58b0a44600885160681ece8b5f46f74eaaf24d44882a299c5c94c24fe1252538.js",
145    "controllers": "/assets/controllers/index-e549b7a62136291af0160454fcec2843eb03403a54e8518fae3b0a4232a9550c.js",
146    "controllers/insights_controller": "/assets/controllers/insights_controller-2325c852925297f197d02e836b985882b52acf340e6d7cf5e53c666421def7e5.js",
147    "controllers/installation_error_modal_controller": "/assets/controllers/installation_error_modal_controller-d87ff11acaa2153078532aecbc9af993c1a01bc58512a6ae8b10c585193d2c2b.js",
148    "controllers/integration_loading_controller": "/assets/controllers/integration_loading_controller-6c0669ca34fb1ffbac0bcfb80a3517302290038c88b5276354a51aea5ef2b515.js",
149    "controllers/klaviyo_timestamps_controller": "/assets/controllers/klaviyo_timestamps_controller-055372661a926ba8767a33224be1be59879bb37561e8a19a1c77219d9f1d086b.js",
150    "controllers/live_orders_controller": "/assets/controllers/live_orders_controller-a80e9bc9b5d726bddf4423db46532346eeee6f2c7b04b82c3af820d2ba24bf60.js",
151    "controllers/menus_controller": "/assets/controllers/menus_controller-6108c433f5f1d91d93d43a76fad73b03f6e1d5a2ad259c491116f72687da95da.js",
152    "controllers/modal_alternate_controller": "/assets/controllers/modal_alternate_controller-3f498eaefeadbc155a6fb9efdf1e4561a295a4fa83d5ae2f2438cd1ef30514cd.js",
153    "controllers/modal_controller": "/assets/controllers/modal_controller-88fc46ab56c328796010d2bce31d01e09a7b42b32143b804d50ff8b67d47fc99.js",
154    "controllers/mode_switcher_controller": "/assets/controllers/mode_switcher_controller-41c2adfe107a501dda4d5d77f601d15185c98a82e22e9af193485d30cf55bd82.js",
155    "controllers/model_alternate_controller": "/assets/controllers/model_alternate_controller-322f8adb938dde9cb9e05b9be605f18a343f4b9966f238821c1c6746bb8abedd.js",
156    "controllers/navigation_controller": "/assets/controllers/navigation_controller-ccd6a0e7b0a9d3c83f51e703522031ddaaff0576822cdb550364ebf61fe74256.js",
157    "controllers/pathways_drawer_controller": "/assets/controllers/pathways_drawer_controller-d86130082bf49436849e0165e36d30485e84eb11f8f8e1751893ceec89e5ea01.js",
158    "controllers/pipeline_progress_controller": "/assets/controllers/pipeline_progress_controller-e5760c8d2f9778f62bfac3098cfd02f3eadfab9e7b81b979fde26e7058e478ed.js",
159    "controllers/popover_controller": "/assets/controllers/popover_controller-1294f1fccf92fb85e6323fca28d01ca8935fead847f52125fff987cd5173ef79.js",
160    "controllers/popup_application/builder_controller": "/assets/controllers/popup_application/builder_controller-b131b8da4135192c200a4d5f38a35a54b17cfb65d74d32e0c405914c45a96600.js",
161    "controllers/popup_application/builder_form_controller": "/assets/controllers/popup_application/builder_form_controller-f3e88187a81ed90add9bd6a5712a6a311bd160d13909e066dd443edb6f852512.js",
162    "controllers/popup_application/gallery_controller": "/assets/controllers/popup_application/gallery_controller-3164e400e18350859eab47c2e52d764953dde21aa94c5b964fddaba917f15003.js",
163    "controllers/popup_application/gallery_v2_controller": "/assets/controllers/popup_application/gallery_v2_controller-cf2abe5bfcb716f5d8e74d3dfbdab8cc10fe94141399725035c934aabd9d0d95.js",
164    "controllers/popup_application/icon_controller": "/assets/controllers/popup_application/icon_controller-cf0c62a6ca00ad9be8eaf1a061e3fa857f1cfdabf14ab3237f0f016a6f620c25.js",
165    "controllers/popup_application/inspiration_controller": "/assets/controllers/popup_application/inspiration_controller-26944f804898b8b579c1b02a9e63e8486c6245539012704cef585293d283796b.js",
166    "controllers/popup_application/main_controller": "/assets/controllers/popup_application/main_controller-f6bd6680e413971c5f2677e14492d6b77ec4b5ef86784a28a8c6eff8d51a6337.js",
167    "controllers/popup_application/metrics_controller": "/assets/controllers/popup_application/metrics_controller-1beb18b8a89b63ec04e3aa53f09397370032ea2c2b56913ca39da090df095de6.js",
168    "controllers/popup_application/metrics_v2_controller": "/assets/controllers/popup_application/metrics_v2_controller-a79c25d05c21744b4d0c962d9b2bf7898d44b398eb5e6b7d49d5ad61cd69507a.js",
169    "controllers/popup_application/popup_card_template": "/assets/controllers/popup_application/popup_card_template-3dd862f0fbb6a59427081e4902c7f19427f25ec84177d84d39ab6cd44161965b.js",
170    "controllers/popup_application/preview_controller": "/assets/controllers/popup_application/preview_controller-a55fa63f9d02fd1c38ef43b1aa80595d623983d4c4d00bc9973631ebd6b05669.js",
171    "controllers/popup_application/responses_controller": "/assets/controllers/popup_application/responses_controller-088da494643b4265efeec36f81ae095ebd1f6165311fb4812e04e5a0eb34f632.js",
172    "controllers/popup_application/responses_v2_controller": "/assets/controllers/popup_application/responses_v2_controller-0f3886147777a95251715f38396d9199aaf1eb4db8e367c815607a1a9e1081b1.js",
173    "controllers/properties_events_controller": "/assets/controllers/properties_events_controller-f350076184fc4ab0f4b8e28e65db00e4bea0f6b1b2f0224502f92cc05727a017.js",
174    "controllers/properties_table_controller": "/assets/controllers/properties_table_controller-fd29f9ada51aa0308d3941b8f0a77cc5e2046ed584cae963dc3dad09281ce6d4.js",
175    "controllers/property_modal_controller": "/assets/controllers/property_modal_controller-6140045e8b3333d49fc8e7b5847e4d5a3ef09cc6053f0c6ee7431eb19b322fd9.js",
176    "controllers/react_test_controller": "/assets/controllers/react_test_controller-d84f9d3384d59d43f2b5d95f739c360fbc98fda03607d97f35002a3d66c68e58.js",
177    "controllers/reports_controller": "/assets/controllers/reports_controller-14ada2cc944597197fd18d08c539a919beac4b57a418a205dc3b1433236f28da.js",
178    "controllers/resizable_column_controller": "/assets/controllers/resizable_column_controller-f589db5ae5ca3a60f9d8a19dd3d43078642f08ce419998fa3e2baeefbd87c900.js",
179    "controllers/row_select_controller": "/assets/controllers/row_select_controller-3680b3948130e23283e3d775fafecca268647b5061e404dfc9dd6d1de55555a3.js",
180    "controllers/session_pathway_controller": "/assets/controllers/session_pathway_controller-319633a2ec6d9689f6653881f160e7264a0e09291da7c599543c47c7fcc23d43.js",
181    "controllers/sidebar_nav_controller": "/assets/controllers/sidebar_nav_controller-d94e931b209bd0b4b967e5ba1427
18152730659ce21e28b8d2d41ed10282ca8ff05.js",
182    "controllers/toggle_controller": "/assets/controllers/toggle_controller-22713bc75f3d38553a258cd15d464c0563b5eed28e0f45ffd8eee848dbb96b2a.js",
183    "controllers/top_bar_dropdowns_controller": "/assets/controllers/top_bar_dropdowns_controller-c6333931e294f265c11178a01f60dbadc4f5b667efd91258b74a0dfe01a14fa3.js",
184    "controllers/topbar_title_controller": "/assets/controllers/topbar_title_controller-f8a7eae6e0be21ce1beeb886489f60f19bfb225aa6b7a46322f6fcf91bbd6075.js",
185    "controllers/ui_collapse_controller": "/assets/controllers/ui_collapse_controller-54cafa68f96c66a40f7f52ef8bb3e7910a97397ff0519ad2e1716d510228270c.js",
186    "controllers/ui_drawer_controller": "/assets/controllers/ui_drawer_controller-37d2cc0ae5fd1af33e915d0ef7719ef9eee5eea85f2a96299c6715586a54e237.js",
187    "controllers/ui_dropdown_controller": "/assets/controllers/ui_dropdown_controller-02080d3db14abad1a964dfbcfa4210f5b58d6069f4f79f671b02b337ca45332e.js",
188    "controllers/ui_frame_links_controller": "/assets/controllers/ui_frame_links_controller-3d18d250619d8051236a7ee7f84837de59448b2ec511900e3c0cd4ff8301389d.js",
189    "controllers/ui_modal_controller": "/assets/controllers/ui_modal_controller-d9322bff32d10a11975e6f2ecb06f70d22a8286f8e70a37327859efb8aefed14.js",
190    "controllers/ui_modal_trigger_controller": "/assets/controllers/ui_modal_trigger_controller-6f9a5fd6c09b474678b9b47a50401b40286d9311bb89c387db43ae03da573463.js",
191    "controllers/ui_table_sort_controller": "/assets/controllers/ui_table_sort_controller-f10a77114f5a65876847e81d32f5e840d4c3d42904200b1e63c2bc3c2851a565.js",
192    "controllers/youtube_embed_controller": "/assets/controllers/youtube_embed_controller-25060a0933c40403b3bae34259c2ca941c67bfb915f14a33f23f66b07845efa0.js",
193    "controllers_lazy/charts/apexcharts_controller": "/assets/controllers_lazy/charts/apexcharts_controller-f060dc9288a98a513f9ebc82b016311896ee3662cb42fe11750e8917f150d73d.js"
194  }
195}</script>
195
196<link rel="modulepreload" href="/assets/application-b86fffe3f2c41b0db7b419d6d0c4af62129d864a29e0608a8e78ae45d132b911.js">
197<link rel="modulepreload" href="/assets/turbo.min-dfd93b3092d1d0ff56557294538d069bdbb28977d3987cb39bc0dd892f32fc57.js">
198<link rel="modulepreload" href="/assets/stimulus.min-dd364f16ec9504dfb72672295637a1c8838773b01c0b441bd41008124c407894.js">
199<link rel="modulepreload" href="/assets/stimulus-loading-3576ce92b149ad5d6959438c6f291e2426c86df3b874c525b30faad51b0d96b3.js">
200<script src="/assets/es-module-shims.min-4ca9b3dd5e434131e3bb4b0c1d7dff3bfd4035672a5086deec6f73979a49be73.js" async="async" data-turbo-track="reload"></script>
vendor: 1 bytes, line 200
200
201<script type="module">import "application"</script>
201
202</head>
203<body class="blog-pages">
204  <a href="#main-content" class="skip-link">Skip to main content</a>
205<div id="aria-live-polite" aria-live="polite" aria-atomic="true" class="visually-hidden"></div>
206<div id="aria-live-assertive" aria-live="assertive" aria-atomic="true" class="visually-hidden"></div>
207
208  <div data-url-environment="https://kluvos.com/"></div>
209  
210<header class="header header_section_wrap show">
211  <div class="container">
212    <div class="menu_main_wrap">
213      <!-- Logo -->
214      <div class="logo">
215        <a href="/">
216          <img src="/homepage_2026/images/kluvos-logo.png" alt="Kluvos Logo">
217        </a>
218      </div>
219
220      <!-- Menu -->
221      <nav class="nav" aria-label="Main navigation">
222        <ul class="menu">
223          <li><a href="/">Home</a></li>
224          <li><a href="/#pricing">Pricing</a></li>
225          <li><a href="/popup_page">Popups</a></li>
226          <li><a href="/#faq">FAQ</a></li>
227        </ul>
228      </nav>
229
230      <!-- Actions -->
231      <div class="actions">
232          <a href="/users/sign_in" class="login">Login</a>
233          <a href="/users/sign_up" class="btn btn-sm" data-turbo="false">Free Trial</a>
234      </div>
235
236      <!-- Mobile menu (three-line control; same interaction as homepage main.js + v2 topbar hamburger) -->
237      <button type="button" class="menu-toggle" id="menuToggle" aria-label="Open menu" aria-expanded="false" aria-controls="mobileMenu">
238        <span class="marketing-menu-toggle__lines" aria-hidden="true">
239          <span></span>
240          <span></span>
241          <span></span>
242        </span>
243      </button>
244    </div>
245  </div>
246
247  <!-- Mobile Drawer -->
248  <div class="mobile-menu mobile_menu_main_wrap" id="mobileMenu" aria-hidden="true" inert>
249    <div class="mobile_menu_wrap">
250      <div class="mobile-header">
251        <button type="button" class="close-btn" id="closeMenu" aria-label="Close menu">✕</button>
252      </div>
253
254      <nav aria-label="Mobile navigation">
255      <ul class="mobile-links">
256        <li><a href="/">Home</a></li>
257        <li><a href="/#pricing">Pricing</a></li>
258        <li><a href="/popup_page">Popups</a></li>
259        <li><a href="/#faq">FAQ</a></li>
260      </ul>
261      </nav>
262
263      <div class="mobile-actions">
264          <a href="/users/sign_in" class="login">Login</a>
265          <div>
266            <a href="/users/sign_up" class="btn btn-sm" data-turbo="false">Free Trial</a>
267          </div>
268      </div>
269    </div>
270  </div>
271</header>
272
273
274  <div id="alerts-notices">
275    
276  </div>
277
278  <main id="main-content" class="marketing-2026-main" tabindex="-1">
279    <div class="blog-root blog-index">
280  <div class="blog-index__inner">
281    <section class="blog-hero" aria-labelledby="blog-hero-heading">
282      <div>
283        <div class="kl-eyebrow blog-hero__eyebrow">State of the 'Merce</div>
284        <h1 id="blog-hero-heading">
284Hard-won lessons in <span class="kl-italic">attribution,</span> identity, and growth.</h1>
285      </div>
286      <p class="blog-hero__lede">Written for operators and marketers who care about what's happening in ecommerce and interested in technical aspects of digital marketing.</p>
287    </section>
288
289    <div class="filter-row" data-blog-filters>
290      <div class="filter-pills" role="group" aria-label="Filter essays by category">
291        <button type="button" class="filter-pill is-active" data-cat="all" aria-pressed="true">All essays</button>
292          <button type="button" class="filter-pill" data-cat="attribution" aria-pressed="false">Attribution</button>
293          <button type="button" class="filter-pill" data-cat="data" aria-pressed="false">Data</button>
294          <button type="button" class="filter-pill" data-cat="growth" aria-pressed="false">Growth</button>
295          <button type="button" class="filter-pill" data-cat="identity" aria-pressed="false">Identity</button>
296          <button type="button" class="filter-pill" data-cat="strategy" aria-pressed="false">Strategy</button>
297      </div>
298      <div class="filter-meta"><span data-blog-count>14</span> essays</div>
299    </div>
300
301    <section class="article-grid" id="articleGrid" aria-label="Blog essays">
302        <a class="article-card" data-cat="attribution" href="/blog/event-match-quality-is-overrated-and-misunderstood">
303  <div class="article-card__media">
304    <img alt="Event Match Quality is over-rated and misunderstood" width="800" height="640" class="lazy-image" loading="lazy" data-controller="image" data-action="load-&gt;image#fadeIn" src="/assets/event_match_quality_article-e8b4e621f757547f9a26766e13baaab84d3425ce9ec3cc0d8eb64ed4fae3d579.jpg" />
305  </div>
306  <div class="article-card__body">
307    <div class="kl-eyebrow article-card__cat">Attribution</div>
308    <h2 class="article-card__title">Event Match Quality is over-rated and misunderstood</h2>
309    <p class="article-card__excerpt">Your Event Match Quality went from 6.2 to 8.4, but your ads didn&#39;t improve. Those two facts aren&#39;t in conflict.</p>
310    <div class="article-card__meta">
311        <time datetime="2026-09-16">Sep 16, 2026</time>
312        <span class="dot" aria-hidden="true"></span>
313        <span>10 min read</span>
314    </div>
315  </div>
316</a>
317        <a class="article-card" data-cat="growth" href="/blog/why-popup-conversion-rate-might-not-mean-what-you-think">
318  <div class="article-card__media">
319    <img alt="Why your popup conversion rate might not mean what you think it means" width="800" height="640" class="lazy-image" loading="lazy" data-controller="image" data-action="load-&gt;image#fadeIn" src="/assets/popup_conversion_rate_article-4f16a3fbbda3b0b6a3f1b8780a0388a625dd874e37989fc5c237a609142e3562.jpg" />
320  </div>
321  <div class="article-card__body">
322    <div class="kl-eyebrow article-card__cat">Growth</div>
323    <h2 class="article-card__title">Why your popup conversion rate might not mean what you think it means</h2>
324    <p class="article-card__excerpt">Every popup tool reports its own grade. Here&#39;s how to check the math, including ours.</p>
325    <div class="article-card__meta">
326        <time datetime="2026-09-16">Sep 16, 2026</time>
327        <span class="dot" aria-hidden="true"></span>
328        <span>8 min read</span>
329    </div>
330  </div>
331</a>
332        <a class="article-card" data-cat="growth" href="/blog/popup-strategy-zero-party-data">
333  <div class="article-card__media">
334    <img alt="The Pop-Up Strategy You&#39;ve Been Missing" width="800" height="640" class="lazy-image" loading="lazy" data-controller="image" data-action="load-&gt;image#fadeIn" src="/assets/popup_article-f0327c8f3cc2e67410cf06349885d46c4bc4cc553c506198b5c07ffc2631d8fe.png" />
335  </div>
336  <div class="article-card__body">
337    <div class="kl-eyebrow article-card__cat">Growth</div>
338    <h2 class="article-card__title">The Pop-Up Strategy You&#39;ve Been Missing</h2>
339    <p class="article-card__excerpt">Go beyond email capture. Collect zero-party data and connect identity across your stack.</p>
340    <div class="article-card__meta">
341        <time datetime="2026-09-02">Sep 2, 2026</time>
342        <span class="dot" aria-hidden="true"></span>
343        <span>7 min read</span>
344    </div>
345  </div>
346</a>
347        <a class="article-card" data-cat="identity" href="/blog/server-side-tracking-identity-reconciliation">
348  <div class="article-card__media">
349    <img alt="Server-Side Tracking and Identity Reconciliation" width="800" height="640" class="lazy-image" loading="lazy" data-controller="image" data-action="load-&gt;image#fadeIn" src="/assets/server_side_tracking_article-00d4b4ee8780c13a03532a95a8584761aa7d373d55e6f3ad99a71e8899665756.png" />
350  </div>
351  <div class="article-card__body">
352    <div class="kl-eyebrow article-card__cat">Identity</div>
353    <h2 class="article-card__title">Server-Side Tracking and Identity Reconciliation</h2>
354    <p class="article-card__excerpt">Why server-side tracking alone doesn&#39;t solve identity.</p>
355    <div class="article-card__meta">
356        <time datetime="2026-08-31">Aug 31, 2026</time>
357        <span class="dot" aria-hidden="true"></span>
358        <span>9 min read</span>
359    </div>
360  </div>
361</a>
362        <a class="article-card" data-cat="growth" href="/blog/machine-learning-for-shopify-store">
363  <div class="article-card__media">
364    <img alt="Get a Custom Machine Learning Model Built for Your Shopify Store" width="800" height="640" class="lazy-image" loading="lazy" data-controller="image" data-action="load-&gt;image#fadeIn" src="/assets/ml_shopify_store-5bd6d5c98aa574203e8c9bcacbbc53ce2cccf8cb223407f03dc2a1f19450f6e3.png" />
365  </div>
366  <div class="article-card__body">
367    <div class="kl-eyebrow article-card__cat">Growth</div>
368    <h2 class="article-card__title">Get a Custom Machine Learning Model Built for Your Shopify Store</h2>
369    <p class="article-card__excerpt">Let us build you a custom machine learning model to transform your marketing.</p>
370    <div class="article-card__meta">
371        <time datetime="2025-03-15">Mar 15, 2025</time>
372        <span class="dot" aria-hidden="true"></span>
373        <span>2 min read</span>
374    </div>
375  </div>
376</a>
377        <a class="article-card" data-cat="identity" href="/blog/engage-iq-event-for-klaviyo">
378  <div class="article-card__media">
379    <img alt="Introducing EngageIQ — AI-Powered Predictive Events for Klaviyo" width="800" height="640" class="lazy-image" loading="lazy" data-controller="image" data-action="load-&gt;image#fadeIn" src="/assets/engageiq_hero-33c2192b60f73c8db9a7e93c32d85084efc716d0c1f6b7eb4f7653f436af649d.png" />
380  </div>
381  <div class="article-card__body">
382    <div class="kl-eyebrow article-card__cat">Identity</div>
383    <h2 class="article-card__title">Introducing EngageIQ — AI-Powered Predictive Events for Klaviyo</h2>
384    <p class="article-card__excerpt">Learn about this new, innovative event and how to leverage it.</p>
385    <div class="article-card__meta">
386        <time datetime="2025-02-20">Feb 20, 2025</time>
387        <span class="dot" aria-hidden="true"></span>
388        <span>2 min read</span>
389    </div>
390  </div>
391</a>
392        <a class="article-card" data-cat="identity" href="/blog/identifying-returning-users">
393  <div class="article-card__media">
394    <img alt="How to Identify Returning Users Beyond the 7-Day Cookie Limit" width="800" height="640" class="lazy-image" loading="lazy" data-controller="image" data-action="load-&gt;image#fadeIn" src="/assets/returning_users-d303fb24f5b71195323cc1b75c353278d7a7fbc329581f889d807da11e37cdcf.png" />
395  </div>
396  <div class="article-card__body">
397    <div class="kl-eyebrow article-card__cat">Identity</div>
398    <h2 class="article-card__title">How to Identify Returning Users Beyond the 7-Day Cookie Limit</h2>
399    <p class="article-card__excerpt">Learn how to bypass the 7 day cookie limit and capture more events.</p>
400    <div class="article-card__meta">
401        <time datetime="2025-01-28">Jan 28, 2025</time>
402        <span class="dot" aria-hidden="true"></span>
403        <span>2 min read</span>
404    </div>
405  </div>
406</a>
407        <a class="article-card" data-cat="strategy" href="/blog/ecommerce-email-service-provider-comparison">
408  <div class="article-card__media">
409    <img alt="Top E-Commerce Email Service Providers in 2025" width="800" height="640" class="lazy-image" loading="lazy" data-controller="image" data-action="load-&gt;image#fadeIn" src="/assets/esp-comparison-hero-360a7173525e48875697a737245cf657302fb69c83ac9c97ccd74a2f7ceeb26d.png" />
410  </div>
411  <div class="article-card__body">
412    <div class="kl-eyebrow article-card__cat">Strategy</div>
413    <h2 class="article-card__title">Top E-Commerce Email Service Providers in 2025</h2>
414    <p class="article-card__excerpt">Compare the top ecommerce email providers.</p>
415    <div class="article-card__meta">
416        <time datetime="2025-01-10">Jan 10, 2025</time>
417        <span class="dot" aria-hidden="true"></span>
418        <span>8 min read</span>
419    </div>
420  </div>
421</a>
422        <a class="article-card" data-cat="growth" href="/blog/klaviyo-cart-abandonment-best-practices">
423  <div class="article-card__media">
424    <img alt="Klaviyo Abandoned Cart Best Practices for Shopify" width="800" height="640" class="lazy-image" loading="lazy" data-controller="image" data-action="load-&gt;image#fadeIn" src="/assets/klaviyo_abandoned_cart_hero_img-604bd876861c96da52cf6778dd955311c7b2e45cb942a04175ff7bfc42e5ce8d.png" />
425  </div>
426  <div class="article-card__body">
427    <div class="kl-eyebrow article-card__cat">Growth</div>
428    <h2 class="article-card__title">Klaviyo Abandoned Cart Best Practices for Shopify</h2>
429    <p class="article-card__excerpt">Get the most out of your abandoned cart flow.</p>
430    <div class="article-card__meta">
431        <time datetime="2024-11-18">Nov 18, 2024</time>
432        <span class="dot" aria-hidden="true"></span>
433        <span>7 min read</span>
434    </div>
435  </div>
436</a>
437        <a class="article-card" data-cat="attribution" href="/blog/next-generation-analytics">
438  <div class="article-card__media">
439    <img alt="Navigating the Complex Web of Customer Attribution with Kluvos" width="800" height="640" class="lazy-image" loading="lazy" data-controller="image" data-action="load-&gt;image#fadeIn" src="/assets/analytics_hero-fc95fa50cd34df21dc83f0be2197c7a8996def3d77d4c9fb080a5d5c571237e9.jpg" />
440  </div>
441  <div class="article-card__body">
442    <div class="kl-eyebrow article-card__cat">Attribution</div>
443    <h2 class="article-card__title">Navigating the Complex Web of Customer Attribution with Kluvos</h2>
444    <p class="article-card__excerpt">Robust analytics and attribution.</p>
445    <div class="article-card__meta">
446        <time datetime="2024-04-15">Apr 15, 2024</time>
447        <span class="dot" aria-hidden="true"></span>
448        <span>4 min read</span>
449    </div>
450  </div>
451</a>
452        <a class="article-card" data-cat="data" href="/blog/setting-up-utms-with-kluvos">
453  <div class="article-card__media">
454    <img alt="Setting Up UTM Parameters for Link Tracking in Kluvos" width="800" height="640" class="lazy-image" loading="lazy" data-controller="image" data-action="load-&gt;image#fadeIn" src="/assets/blog_utms_1200-31f7531c6eca5f9d9a660fd7b229238d9f8665823ce06db35ac056eba851dc8f.jpg" />
455  </div>
456  <div class="article-card__body">
457    <div class="kl-eyebrow article-card__cat">Data</div>
458    <h2 class="article-card__title">Setting Up UTM Parameters for Link Tracking in Kluvos</h2>
459    <p class="article-card__excerpt">Understand how to set up tracking.</p>
460    <div class="article-card__meta">
461        <time datetime="2024-03-01">Mar 1, 2024</time>
462        <span class="dot" aria-hidden="true"></span>
463        <span>3 min read</span>
464    </div>
465  </div>
466</a>
467        <a class="article-card" data-cat="attribution" href="/blog/what-is-attribution-window">
468  <div class="article-card__media">
469    <img alt="Understanding Attribution Windows" width="800" height="640" class="lazy-image" loading="lazy" data-controller="image" data-action="load-&gt;image#fadeIn" src="/assets/blog_attribution_window_1200-cf1df9bc8a103e4fbda8d7c940291376bb6fb8a25bdb44c2e70cf21171f78d14.jpg" />
470  </div>
471  <div class="article-card__body">
472    <div class="kl-eyebrow article-card__cat">Attribution</div>
473    <h2 class="article-card__title">Understanding Attribution Windows</h2>
474    <p class="article-card__excerpt">What they are and why you need to understand them.</p>
475    <div class="article-card__meta">
476        <time datetime="2023-11-20">Nov 20, 2023</time>
477        <span class="dot" aria-hidden="true"></span>
478        <span>4 min read</span>
479    </div>
480  </div>
481</a>
482        <a class="article-card" data-cat="attribution" href="/blog/marketing-ios-challenges">
483  <div class="article-card__media">
484    <img alt="Unveiling the Challenges of iOS14.5 and Safari ITP" width="800" height="640" class="lazy-image" loading="lazy" data-controller="image" data-action="load-&gt;image#fadeIn" src="/assets/blog_challenges_image_1200-7e358eb2f5ef7332fe078d374967a57464de9d66a22c7779284d98d4d9f434f0.jpg" />
485  </div>
486  <div class="article-card__body">
487    <div class="kl-eyebrow article-card__cat">Attribution</div>
488    <h2 class="article-card__title">Unveiling the Challenges of iOS14.5 and Safari ITP</h2>
489    <p class="article-card__excerpt">Learn how privacy changes are impacting your business.</p>
490    <div class="article-card__meta">
491        <time datetime="2023-08-10">Aug 10, 2023</time>
492        <span class="dot" aria-hidden="true"></span>
493        <span>3 min read</span>
494    </div>
495  </div>
496</a>
497        <a class="article-card" data-cat="data" href="/blog/what-are-utms-and-how-to-use-them">
498  <div class="article-card__media">
499    <img alt="What Are UTMs and How to Use Them" width="800" height="640" class="lazy-image" loading="lazy" data-controller="image" data-action="load-&gt;image#fadeIn" src="/assets/blog_utms_1200-31f7531c6eca5f9d9a660fd7b229238d9f8665823ce06db35ac056eba851dc8f.jpg" />
500  </div>
501  <div class="article-card__body">
502    <div class="kl-eyebrow article-card__cat">Data</div>
503    <h2 class="article-card__title">What Are UTMs and How to Use Them</h2>
504    <p class="article-card__excerpt">Practical guidance on UTMs for tracking and attribution.</p>
505    <div class="article-card__meta">
506        <time datetime="2023-03-15">Mar 15, 2023</time>
507        <span class="dot" aria-hidden="true"></span>
508        <span>4 min read</span>
509    </div>
510  </div>
511</a>
512    </section>
513
514    <div class="article-empty" id="articleEmpty" hidden>
515      <h4>Nothing in this lane yet.</h4>
516      <p>Try another filter — or check back soon.</p>
517    </div>
518
519    <section class="kl-newsletter" aria-labelledby="newsletter-heading">
520      <div>
521        <h3 id="newsletter-heading">Get updates in your <span class="kl-italic">inbox.</span></h3>
522        <p>Product updates, attribution playbooks, and identity recovery tips — straight from the Kluvos team.</p>
523      </div>
524      <div class="kl-newsletter__aside">
525        <form class="kl-newsletter__form" id="blogNewsletterForm" novalidate>
526          <label class="sr-only" for="blog-newsletter-email">Email</label>
527          <input id="blog-newsletter-email" type="email" name="email" placeholder="[email protected]" autocomplete="email" required>
528          <button type="submit" class="kl-btn kl-btn--primary" id="blogNewsletterSubmit">Subscribe</button>
529        </form>
530        <p class="kl-newsletter__status" id="blogNewsletterStatus" hidden role="status"></p>
531      </div>
532    </section>
533
534    <div class="blog-index__footer-space" aria-hidden="true"></div>
535  </div>
536</div>
537
538<script>
539(function () {
540  var root = document.querySelector("[data-blog-filters]");
541  if (root) {
542    var pills = root.querySelectorAll(".filter-pill");
543    var cards = document.querySelectorAll("#articleGrid .article-card");
544    var empty = document.getElementById("articleEmpty");
545    var countEl = root.querySelector("[data-blog-count]");
546    var grid = document.getElementById("articleGrid");
547
548    function applyFilter(cat) {
549      var visible = 0;
550      cards.forEach(function (card) {
551        var match = cat === "all" || card.getAttribute("data-cat") === cat;
552        card.classList.toggle("is-hidden", !match);
553        if (match) visible += 1;
554      });
555      if (countEl) countEl.textContent = String(visible);
556      if (empty) empty.hidden = visible !== 0;
557      if (grid) grid.hidden = visible === 0;
558    }
559
560    pills.forEach(function (pill) {
561      pill.addEventListener("click", function () {
562        var cat = pill.getAttribute("data-cat");
563        pills.forEach(function (p) {
564          var active = p === pill;
565          p.classList.toggle("is-active", active);
566          p.setAttribute("aria-pressed", active ? "true" : "false");
567        });
568        applyFilter(cat);
569      });
570    });
571  }
572
573  // Same Klaviyo path as homepage marketing modal (identify + track via _learnq / company WFzeVv)
574  var form = document.getElementById("blogNewsletterForm");
575  var emailInput = document.getElementById("blog-newsletter-email");
576  var submitBtn = document.getElementById("blogNewsletterSubmit");
577  var statusEl = document.getElementById("blogNewsletterStatus");
578
579  function setStatus(message, isError) {
580    if (!statusEl) return;
581    statusEl.textContent = message || "";
582    statusEl.hidden = !message;
583    statusEl.classList.toggle("is-error", !!isError);
584  }
585
586  function pushKlaviyoLead(email) {
587    window._learnq = window._learnq || [];
588    window._learnq.push(["identify", { $email: email }]);
589    window._learnq.push([
590      "track",
591      "Blog Newsletter Subscribe",
592      { source: "blog_newsletter" }
593    ]);
594  }
595
596  if (form) {
597    form.addEventListener("submit", function (e) {
598      e.preventDefault();
599      setStatus("");
600
601      var email = emailInput ? emailInput.value.trim() : "";
602      if (!email) {
603        setStatus("Please enter your email.", true);
604        if (emailInput) emailInput.focus();
605        return;
606      }
607      if (emailInput && !emailInput.checkValidity()) {
608        setStatus("Please enter a valid email address.", true);
609        emailInput.focus();
610        return;
611      }
612
613      pushKlaviyoLead(email);
614      if (submitBtn) {
615        submitBtn.disabled = true;
616        submitBtn.textContent = "Subscribed";
617      }
618      if (emailInput) emailInput.disabled = true;
619      setStatus("Thanks — you're on the list.", false);
620    });
621  }
622})();
623</script>
623
624
625  </main>
626
627    <div
628    id="marketingModalV2"
629    class="marketing-trial-modal marketing-modal-v2"
630    role="dialog"
631    aria-modal="true"
632    aria-labelledby="marketingModalV2Slide0Title"
633    hidden
634  >
635    <div class="marketing-trial-modal__backdrop"></div>
636
637    <div class="marketing-trial-modal__panel" role="document">
638      <button
639        type="button"
640        class="marketing-trial-modal__close"
641        aria-label="Close dialog"
642        data-marketing-modal-v2-close
643      >
644        &times;
645      </button>
646
647      <div class="marketing-trial-modal__logo">
648        <img src="/homepage_2026/images/kluvos-logo.png" alt="Kluvos Logo">
649      </div>
650
651      <div class="marketing-modal-v2__slides">
652        <div
653          class="marketing-modal-v2__slide"
654          data-marketing-modal-v2-slide="0"
655        >
656          <h2 id="marketingModalV2Slide0Title" class="marketing-trial-modal__title">
657            Want a <span class="marketing-trial-modal__title-accent">Free, Custom Popup </span> Design?
658          </h2>
659
660          <p class="marketing-trial-modal__copy">
661            <span id="marketingModalV2DynamicText" class="marketing-trial-modal__dynamic" hidden></span>
662            We will design you a free, high-converting popup for your Shopify or Woocommerce store. It will be fully customized to your brand and ready in your dashboard — no charge, no commitment beyond creating an account.
663          </p>
664
665          <div class="tags">
666              <div class="tags_pill">
667                <span aria-hidden="true">
668                  <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
669                    <path d="M13.3332 4L5.99984 11.3333L2.6665 8" stroke="#A6A6A6" stroke-opacity="0.8" stroke-width="1.5"
670                      stroke-linecap="round" stroke-linejoin="round" />
671                  </svg>
672                </span>
673                <span>30%+ increase in flow revenue</span>
674              </div>
675              <div class="tags_pill">
676                <span aria-hidden="true">
677                  <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
678                    <path d="M13.3332 4L5.99984 11.3333L2.6665 8" stroke="#A6A6A6" stroke-opacity="0.8" stroke-width="1.5"
679                      stroke-linecap="round" stroke-linejoin="round" />
680                  </svg>
681                </span>
682                <span>40%+ increase in sign-up rate</span>
683              </div>
684              <div class="tags_pill">
685                <span aria-hidden="true">
686                  <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
687                    <path d="M13.3332 4L5.99984 11.3333L2.6665 8" stroke="#A6A6A6" stroke-opacity="0.8" stroke-width="1.5"
688                      stroke-linecap="round" stroke-linejoin="round" />
689                  </svg>
690                </span>
691                <span>Klaviyo integration</span>
692              </div>
693              <div class="tags_pill">
694                <span aria-hidden="true">
695                  <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
696                    <path d="M13.3332 4L5.99984 11.3333L2.6665 8" stroke="#A6A6A6" stroke-opacity="0.8" stroke-width="1.5"
697                      stroke-linecap="round" stroke-linejoin="round" />
698                  </svg>
699                </span>
700                <span>Collect 0-party data</span>
701              </div>
702              <div class="tags_pill">
703                <span aria-hidden="true">
704                  <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
705                    <path d="M13.3332 4L5.99984 11.3333L2.6665 8" stroke="#A6A6A6" stroke-opacity="0.8" stroke-width="1.5"
706                      stroke-linecap="round" stroke-linejoin="round" />
707                  </svg>
708                </span>
709                <span>Better segmentation</span>
710              </div>
711          </div>
712
713          <div class="marketing-trial-modal__actions">
714            <button
715              type="button"
716              class="btn btn-lg marketing-trial-modal__cta"
717              data-marketing-modal-v2-next
718            >
719              Design Me a Popup
720            </button>
721          </div>
722        </div>
723
724        <div
725          class="marketing-modal-v2__slide"
726          data-marketing-modal-v2-slide="1"
727          hidden
728        >
729          <h2 id="marketingModalV2Slide1Title" class="marketing-trial-modal__title">
730            Tell us how to <span class="marketing-trial-modal__title-accent">reach you</span>
731          </h2>
732
733          <p class="marketing-trial-modal__copy marketing-modal-v2__slide-lead">
734            Please let us know your work email and your store URL.
735          </p>
736
737          <form class="marketing-modal-v2__form" id="marketingModalV2Form" novalidate>
738            <div class="marketing-modal-v2__field">
739              <label class="marketing-modal-v2__label" for="marketingModalV2Email">Work email</label>
740              <input
741                id="marketingModalV2Email"
742                name="email"
743                type="email"
744                class="marketing-modal-v2__input"
745                autocomplete="email"
746                required
747                placeholder="[email protected]"
748              >
749            </div>
750            <div class="marketing-modal-v2__field">
751              <label class="marketing-modal-v2__label" for="marketingModalV2CompanyUrl">Company / store URL</label>
752              <input
753                id="marketingModalV2CompanyUrl"
754                name="company_url"
755                type="text"
756                class="marketing-modal-v2__input"
757                autocomplete="url"
758                required
759                placeholder="https://yourstore.com"
760              >
761            </div>
762            <p class="marketing-modal-v2__error" id="marketingModalV2FormError" hidden role="alert"></p>
763            <div class="marketing-trial-modal__actions">
764              <button type="submit" class="btn btn-lg marketing-trial-modal__cta" id="marketingModalV2Submit">
765                Submit
766              </button>
767            </div>
768          </form>
769        </div>
770
771        <div
772          class="marketing-modal-v2__slide"
773          data-marketing-modal-v2-slide="2"
774          hidden
775        >
776          <h2 id="marketingModalV2Slide2Title" class="marketing-trial-modal__title">
777            Thank <span class="marketing-trial-modal__title-accent">you!</span>
778          </h2>
779          <p class="marketing-trial-modal__copy marketing-modal-v2__success-copy">
780            We&rsquo;ll get to work on your popup design. We will reach out to you shortly; be sure to look for our email in your promotions or spam folder.
781          </p>
782        </div>
783      </div>
784    </div>
785  </div>
786
787  <footer class="footer footer_section_wrap">
788  <div class="container">
789    <div class="footer_content_wrap">
790
791      <div class="footer-left">
792        <div class="footer_logo">
793          <a href="/">
794            <img src="/homepage_2026/images/kluvos-logo.png" alt="Kluvos Logo">
795          </a>
796        </div>
797        <p class="footer-text">
798          A data partner for ecommerce. Get started today to uncover data insights
799          and revenue you've been leaving on the table every month.
800        </p>
801        <a href="/users/sign_up" class="btn btn-lg" data-turbo="false">Free Trial</a>
802      </div>
803
804      <nav class="footer-right" aria-label="Footer">
805        <div class="footer-column">
806          <h4>Company</h4>
807          <a href="/blog" data-turbo="false">Blog</a>
808          <a href="/pages/support" data-turbo="false">Contact Us</a>
809        </div>
810
811        <div class="footer-column">
812          <h4>Privacy</h4>
813          <a href="/pages/privacy" data-turbo="false">Privacy Policy</a>
814          <a href="/pages/tos" data-turbo="false">Terms of Service</a>
815          <a href="/pages/dpa" data-turbo="false">DPA</a>
816        </div>
817
818        <div class="footer-column">
819          <h4>Support</h4>
820          <a href="/pages/support" data-turbo="false">Contact Support</a>
821          <a href="/pages/accessibility" data-turbo="false">Accessibility Statement</a>
822        </div>
823      </nav>
824
825    </div>
826  </div>
827
828  <div class="container">
829    <div class="footer-bottom">
830      <p class="copyright">© 2026 KLUVOS</p>
831    </div>
832  </div>
833</footer>
834
835
836  
836<script src="/homepage_2026/js/main.js" defer></script>
836
837
838    
838<script type="text/javascript" id="hs-script-loader" async defer src="//js-na2.hs-scripts.com/242609630.js"></script>
838
839</body>
840</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.