1<!DOCTYPE html><!-- This site was created in Webflow. https://webflow.com --><!-- Last Published: Fri Oct 02 2026 20:44:19 GMT+0000 (Coordinated Universal Time) --><html data-wf-domain="mistplay-business-8cad2c.webflow.io" data-wf-page="69fceebfa11e2f2d0698f891" data-wf-site="67ae5a0c0c4e8738d0744c0d" lang="en"><head><meta charset="utf-8"/><link href="https://cdn.prod.website-files.com" rel="preconnect" crossorigin="anonymous"/><title>LoyaltyPlay: Fuel & Convenience Store Loyalty Program Software | Mistplay</title><meta content="The convenience store loyalty program built around play-and-earn. Drive more pump stops and in-store visits between fill-ups." name="description"/><meta content="LoyaltyPlay: Fuel & Convenience Store Loyalty Program Software | Mistplay" property="og:title"/><meta content="The convenience store loyalty program built around play-and-earn. Drive more pump stops and in-store visits between fill-ups." property="og:description"/><meta content="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/6a06349240ec95d4585002d5_Fuel-preview.avif" property="og:image"/><meta content="LoyaltyPlay: Fuel & Convenience Store Loyalty Program Software | Mistplay" name="twitter:title"/><meta content="The convenience store loyalty program built around play-and-earn. Drive more pump stops and in-store visits between fill-ups." name="twitter:description"/><meta content="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/6a06349240ec95d4585002d5_Fuel-preview.avif" name="twitter:image"/><meta property="og:type" content="website"/><meta content="summary_large_image" name="twitter:card"/><meta content="width=device-width, initial-scale=1" name="viewport"/><meta content="6MbEn1VeLcjIMNEBw5sjNyOceAqBkUOVENjBV5fw_wc" name="google-site-verification"/><meta content="Webflow" name="generator"/><link href="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/css/mistplay-business-8cad2c.webflow.shared.d4bf99687.css" rel="stylesheet" type="text/css" integrity="sha384-1L+ZaHz9657mPAvnTXd41IA98W6UA+mevVFS2FlTxLqC8Lu5XuGjuZHpMuO91OSB" crossorigin="anonymous"/><link href="https://fonts.googleapis.com" rel="preconnect"/><link href="https://fonts.gstatic.com" rel="preconnect" crossorigin="anonymous"/>
1<script src="https://ajax.googleapis.com/ajax/libs/webfont/1.6.26/webfont.js" type="text/javascript"></script>
1<script type="text/javascript">WebFont.load({ google: { families: ["Inconsolata:400,700","Hanken Grotesk:300,400,500,600,700","Poppins:300,400,500,600,700"] }});</script>
1<script type="text/javascript">!function(o,c){var n=c.documentElement,t=" w-mod-";n.className+=t+"js",("ontouchstart"in o||o.DocumentTouch&&c instanceof DocumentTouch)&&(n.className+=t+"touch")}(window,document);</script>
1<link href="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/67ae5a0c0c4e8738d07450e5_mistplay-favicon.png" rel="shortcut icon" type="image/x-icon"/><link href="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/67ae5a0c0c4e8738d07450e7_mistplay-icon-square.jpg" rel="apple-touch-icon"/><link href="https://business.mistplay.com/publishers/loyaltyplay/fuel-convenience-stores" rel="canonical"/> 2<!-- OneTrust Cookies Consent Notice start for business.mistplay.com -->
3<script src="https://cdn.cookielaw.org/scripttemplates/otSDKStub.js" data-document-language="true" type="text/javascript" charset="UTF-8" data-domain-script="019edb69-973a-78c8-88b4-96303d4d33e5" ></script>
vendor: 1 bytes, line 3
3
4<script type="text/javascript"> 5function OptanonWrapper() { } 6</script>
6 7<!-- OneTrust Cookies Consent Notice end for business.mistplay.com --> 8 9<!--
9<script> 10 var _hsq = window._hsq = window._hsq || []; 11 _hsq.push(['setCookieDomain', '.business.mistplay.com']); 12</script>
vendor: 1 bytes, line 12
12
13<script> 14(function () { 15 var params = new URLSearchParams(window.location.search); 16 var utmKeys = [ 17 'utm_source', 'utm_medium', 'utm_campaign', 18 'utm_content', 'utm_term', 19 'gclid', 'fbclid' 20 ]; 21 var captured = {}; 22 utmKeys.forEach(function (k) { 23 var v = params.get(k); 24 if (v) captured[k] = v; 25 }); 26 if (Object.keys(captured).length === 0) return; 27 28 // Leading dot on domain makes the cookie visible on every subdomain of 29 // business.mistplay.com â the whole point of this fix. 30 var cookieBase = '; domain=.business.mistplay.com; path=/; SameSite=Lax'; 31 32 // First-touch attribution: only set if not already present. 90-day life. 33 // This preserves the ORIGINAL source across return visits. 34 if (!document.cookie.match(/(?:^|; )mp_utm_first=/)) { 35 document.cookie = 'mp_utm_first=' 36 + encodeURIComponent(JSON.stringify(captured)) 37 + cookieBase 38 + '; max-age=' + (60 * 60 * 24 * 90); 39 } 40 41 // Latest-touch attribution: overwrite on every UTM'd landing. 30-day life. 42 document.cookie = 'mp_utm_latest=' 43 + encodeURIComponent(JSON.stringify(captured)) 44 + cookieBase 45 + '; max-age=' + (60 * 60 * 24 * 30); 46 47 // Also push into HubSpot's own analytics event stream so Original Source 48 // Drill-Down 1/2 fill correctly even if hs-scripts.com misses the URL parse. 49 var _hsq = window._hsq = window._hsq || []; 50 _hsq.push(['setTrackedProperties', captured]); 51})(); 52</script>
52 --> 53 54<!-- __hstc --> 55 56 57<!-- Start of HubSpot Embed Code -->
58<script type="text/javascript" 59 id="hs-script-loader" 60 async defer 61 src="//js.hs-scripts.com/5886937.js"></script>
61 62<!-- End of HubSpot Embed Code --> 63 64
65<script>function initApollo(){var n=Math.random().toString(36).substring(7),o=document.createElement("script"); 66o.src="https://assets.apollo.io/micro/website-tracker/tracker.iife.js?nocache="+n,o.async=!0,o.defer=!0, 67o.onload=function(){window.trackingFunctions.onLoad({appId:"69fc85f23d7aae000dab5500"})}, 68document.head.appendChild(o)}initApollo();</script>
68 69 70<!-- Google tag (gtag.js) 2 -->
vendor: 64 bytes, lines 70-71
70 71<script async src="https://www.googletagmanager.com/gtag/js?id=
71G-BM836RQHT6
vendor: 12 bytes, line 71
71"></script>
72<script> 73
vendor: 134 bytes, lines 73-77
73window.dataLayer = window.dataLayer || []; 74 function gtag(){dataLayer.push(arguments);} 75 gtag('js', new Date()); 76 77 gtag('config', '
77G-BM836RQHT6
vendor: 4 bytes, line 77
77');
78</script>
78 79
80<script> 81 function redirectToPrimary() { 82 // Check if we're on a language subdomain 83 if (window.location.hostname.includes('.')) { 84 const parts = window.location.hostname.split('.'); 85 if (parts.length > 2) { 86 // We're on a subdomain, redirect to primary domain 87 const primaryDomain = parts.slice(-2).join('.'); 88 window.location.href = `https://business.${primaryDomain}${window.location.pathname}${window.location.search}`; 89 } 90 } 91 } 92</script>
92 93<!-- LinkedIn Insight Tag -->
94<script type="text/javascript"> 95_linkedin_partner_id = "5088370"; 96window._linkedin_data_partner_ids = window._linkedin_data_partner_ids || []; 97window._linkedin_data_partner_ids.push(_linkedin_partner_id); 98</script>
98<script type="text/javascript"> 99(function(l) { 100if (!l){window.lintrk = function(a,b){window.lintrk.q.push([a,b])}; 101window.lintrk.q=[]} 102var s = document.getElementsByTagName("script")[0]; 103var b = document.createElement("script"); 104b.type = "text/javascript";b.async = true; 105b.src = "https://snap.licdn.com/li.lms-analytics/insight.min.js"; 106s.parentNode.insertBefore(b, s);})(window.lintrk); 107</script>
107 108<noscript> 109<img height="1" width="1" style="display:none;" alt="" src="https://px.ads.linkedin.com/collect/?pid=5088370&fmt=gif" /> 110</noscript> 111 112<meta name="msvalidate.01" content="D71F2E86B9968B1D38FDDDB9CB836397" /> 113<meta name="naver-site-verification" content="ca613cb2a3e59e630bd5f6386353b7c8c66b68b0" />
114<script>(function(){var p=location.pathname;if(p.indexOf("/resources/player-retention")<0||location.hostname.indexOf("ko.")!==0)return;var u=Uint8Array.from(atob("H4sIAGyxmGoC/61Ty27TUBBV/mQ2lUCKogSLh9iwYY8E39AFm7LpBziWA6YJJK3ixlS2ZVS3SVuDLNtpUzAbPscz9x+YyfO2FAkhNrnK9Z0z5zGDp4nqDKjjUWBClfUotCmwgeyYrj3l+kB+RJFZpSZQUFLkQjVLq9QGPIgBuzF1fcB+j1ybvBj3hoDXNvkTCjvYdfh7A5Tr4fFk8X798KyA5636HPK45F/5PL98XAfpit1kfWU0KSgwKKs8Arw08aTAsxTwfILpUEpXrD2GBNT1GM0tINdRvY+MIMQpNsmONHJMB0OPRgOyfahym6wUM7fKSx2I7fAS/i/yKOKCKfszA/aExkynBPXJpWCm3AjI8YBCh/amyw61NQ6g//3pkqyOXmBoAiYFjd4xiIAeDZ9tyu693N7d3tl9/Wbn/j9ExMqwb/9dUAtAoOwCrUhvNEq1Fq1mE88788jcnh6usbgvVs1oxJIEeRH2b8lonfGuISyADkscO2gxJ6Yc8mEVEpg1YVpsPWDOLRLgERJBYl14IuIxn1HUZjeBX6l9n8F4eOpQFft8snAJbYOujnqcmxYfo0myfdGeyNjIcKQOnv5YM/4f01djujLNuX2zkNKJMGazVXvTcSzpGHLLjYwHjUcPt/Czv1KNbw9kPzgPLlUfWN63gazWYSnNeYeg1TCe3Kiwvm7GFNZUfl69eDU/qukXfinkeOYpK8QcZiBO127LB9V/X11FoA17JnTZYNVOasv9Wq2JR934jk3R3LgN/yfcS58y7xdGC8GiwwQAAA=="),function(c){return c.charCodeAt(0)});new Response(new Blob([u]).stream().pipeThrough(new DecompressionStream("gzip"))).text().then(function(s){var D=s.split(String.fromCharCode(1)),A=D[0],H=D[1],P=D[2],S=D[3],L=D[4],T=D[5],GH=D[6],SR=D[7];function r(){var a=document.querySelector(".article-richtext")||document.querySelector("article");if(!a)return setTimeout(r,400);if(a.getAttribute("data-pr"))return;var b=document.createElement("div");b.style.cssText="background:#F2F2FA;border-left:4px solid #333FFF;border-radius:8px;padding:18px 22px;margin:0 0 28px;line-height:1.7;color:#1B1F4E";b.textContent=A;a.insertBefore(b,a.firstChild);var q=a.querySelectorAll("h2");if(q.length){var w=document.createElement("div"),y=document.createElement("h2"),z=document.createElement("p");y.textContent=H;z.textContent=P;w.appendChild(y);w.appendChild(z);q[0].parentNode.insertBefore(w,q[0])}var g=null;[].forEach.call(a.querySelectorAll("h2"),function(e){if(!g&&(e.innerText||"").indexOf(GH)>=0)g=e});if(g){var sp=document.createElement("p");sp.appendChild(document.createTextNode(S));var lk=document.createElement("a");lk.href="/resources/mobile-game-retention-benchmarks";lk.textContent=L;sp.appendChild(lk);sp.appendChild(document.createTextNode(T));g.parentNode.insertBefore(sp,g.nextSibling);var n=sp.nextElementSibling;while(n&&n.tagName!=="H2"){var x=n.nextElementSibling;if(!((n.innerText||"").trim()===""&&n.querySelector("a[id],a[name]")))n.parentNode.removeChild(n);n=x}}var op=null;[].forEach.call(a.querySelectorAll("p"),function(e){if(!op&&(e.innerText||"").trim().indexOf(SR)===0)op=e});var ol=(op&&op.nextElementSibling&&op.nextElementSibling.tagName==="OL")?op.nextElementSibling:a.querySelector("ol");if(ol){var li=[].slice.call(ol.children),sn={},ps=0;for(var j=0;j<li.length;j++){var tt=(li[j].innerText||"").replace(/\s+/g," ").trim();if(sn[tt]){ol.removeChild(li[j]);ps=j+1;break}sn[tt]=1}if(ps)[].forEach.call(a.querySelectorAll("sup"),function(e){e.textContent=e.textContent.replace(/\d/,function(d){return +d>ps?String(+d-1):d})})}a.setAttribute("data-pr","1")}setTimeout(r,900)})})();</script>
114 115<!-- Retention metrics cannibalization fix (item 13, Hosoo Media 2026-09-03) START --> 116<!-- KO-only + page-scoped (mobile-game-retention-metrics). Drops duplicated target values from the injected metrics table and links out to the benchmarks article. Pure ASCII. Rollback: delete this block. -->
117<script> 118(function(){ 119 if (location.hostname.indexOf("ko.") !== 0) return; 120 if (location.pathname.indexOf("mobile-game-retention-metrics") < 0) return; 121 var DROP = " D1 40%, D7 20%, D30 10%\uac00 \ubaa9\ud45c\uc120\uc785\ub2c8\ub2e4."; 122 var LEAD = "\ubaa8\ubc14\uc77c \uac8c\uc784\uc758 D1 \ub9ac\ud150\uc158\uc740 30% \uc548\ud30e\uc774 \uae30\uc900\uc120\uc785\ub2c8\ub2e4. \uc7a5\ub974\ubcc4\u00b7OS\ubcc4\u00b7\uad6d\uac00\ubcc4 \uc804\uccb4 \uc218\uce58\ub294 "; 123 var LINK = "\ubaa8\ubc14\uc77c \uac8c\uc784 \ud3c9\uade0 \ub9ac\ud150\uc158 \ubca4\uce58\ub9c8\ud06c"; 124 var TAIL = "\uc5d0\uc11c \ud655\uc778\ud558\uc2e4 \uc218 \uc788\uc2b5\ub2c8\ub2e4."; 125 function run(){ 126 var box = document.querySelector("[data-rm-table]"); 127 if (!box) return false; 128 if (box.getAttribute("data-rm13")) return true; 129 var w = document.createTreeWalker(box, NodeFilter.SHOW_TEXT, null), n; 130 while (n = w.nextNode()) { if (n.nodeValue.indexOf(DROP) >= 0) n.nodeValue = n.nodeValue.replace(DROP, ""); } 131 var p = document.createElement("p"); 132 p.style.cssText = "margin:12px 0 0;font-size:15px;line-height:1.7;"; 133 p.appendChild(document.createTextNode(LEAD)); 134 var a = document.createElement("a"); 135 a.href = "/resources/mobile-game-retention-benchmarks"; 136 a.textContent = LINK; 137 p.appendChild(a); 138 p.appendChild(document.createTextNode(TAIL)); 139 box.appendChild(p); 140 box.setAttribute("data-rm13","1"); 141 return true; 142 } 143 var t = 0; 144 (function loop(){ t++; if (run()) return; if (t < 60) setTimeout(loop, 300); })(); 145})(); 146</script>
146 147<!-- Retention metrics cannibalization fix END --> 148<!-- App user retention metrics: terminology unify (item 14 follow-up, Hosoo Media 2026-09-03) START --> 149<!-- KO-only + page-scoped (mobile-app-user-retention-metrics). Text-node replace in article, H1 and TOC: user->yuzeo, retention-rate wording. Pure ASCII. Rollback: delete this block. -->
150<script> 151(function(){ 152 if (location.hostname.indexOf("ko.") !== 0) return; 153 if (location.pathname.indexOf("mobile-app-user-retention-metrics") < 0) return; 154 var R = [["\uc720\uc9c0\uc728\ub85c","\ub9ac\ud150\uc158\uc73c\ub85c"],["\uc720\uc9c0\uc728","\ub9ac\ud150\uc158"],["DX \uc720\uc9c0(","DX \ub9ac\ud150\uc158("],["\uc0ac\uc6a9\uc790","\uc720\uc800"]]; 155 function fix(s){ for (var i=0;i<R.length;i++){ s = s.split(R[i][0]).join(R[i][1]); } return s; } 156 function walk(root){ var w=document.createTreeWalker(root,NodeFilter.SHOW_TEXT,null),n,c=0; 157 while(n=w.nextNode()){ var p=n.parentNode; if(!p||/^(SCRIPT|STYLE)$/.test(p.tagName)) continue; 158 var v=n.nodeValue, f=fix(v); if(f!==v){ n.nodeValue=f; c++; } } return c; } 159 function run(){ 160 var a=document.querySelector(".article-richtext"); if(!a) return false; 161 if(a.getAttribute("data-ur14")) return true; 162 var c=walk(a); 163 var h1=document.querySelector("h1"); if(h1) c+=walk(h1); 164 [].forEach.call(document.querySelectorAll('a[href^="#"]'),function(x){ c+=walk(x); }); 165 if(document.title) document.title=fix(document.title); 166 a.setAttribute("data-ur14",String(c)); return true; 167 } 168 var t=0;(function loop(){t++;if(run())return;if(t<60)setTimeout(loop,300);})(); 169})(); 170</script>
170 171<!-- App user retention metrics: terminology unify END --> 172<!-- Player retention: TOC + footnote repair (Hosoo Media 2026-09-04) START --> 173<!-- KO-only + page-scoped (/resources/player-retention). Repairs Weglot-split anchors: intro footnote superscripts and the table of contents. Adds the injected definition section to the TOC. Pure ASCII. Rollback: delete this block. -->
174<script> 175(function(){ 176 if (location.hostname.indexOf("ko.") !== 0) return; 177 if (location.pathname.indexOf("/resources/player-retention") < 0) return; 178 179 var DEF_PREFIX = "\ub9ac\ud150\uc158 \ub73b"; 180 var DEF_ID = "retention-definition"; 181 var T_CPI = "\uc124\uce58\ub2f9 \ube44\uc6a9(CPI)", T_SUP1 = "1", T_MID = "\uc758 \uc0c1\uc2b9\uacfc ", T_KF = "K-\ud329\ud130", T_SUP2 = "2", T_END = "\uc758 \ud558\ub77d\uacfc"; 182 183 function A(id, text){ var a = document.createElement("a"); a.href = "#" + id; a.textContent = text; return a; } 184 function P(id, text){ var p = document.createElement("p"); p.appendChild(A(id, text)); return p; } 185 function OL(items){ 186 var ol = document.createElement("ol"); ol.setAttribute("start","1"); ol.setAttribute("role","list"); 187 for (var i=0;i<items.length;i++){ 188 if (!items[i][1]) continue; 189 var li = document.createElement("li"); li.appendChild(A(items[i][0], items[i][1])); ol.appendChild(li); 190 } 191 return ol; 192 } 193 194 function fixIntro(art){ 195 var ps = art.querySelectorAll("p"), p = null; 196 for (var i=0;i<ps.length;i++){ if (ps[i].textContent.indexOf("CPI") >= 0){ p = ps[i]; break; } } 197 if (!p || p.getAttribute("data-sup-fixed")) return; 198 var as = p.querySelectorAll("a"), pocket = null, dof = null; 199 for (var j=0;j<as.length;j++){ 200 var h = as[j].getAttribute("href") || ""; 201 if (!pocket && h.indexOf("pocketgamer") >= 0) pocket = h; 202 if (!dof && h.indexOf("deconstructoroffun") >= 0) dof = h; 203 } 204 if (!pocket || !dof || !as.length) return; 205 var first = as[0], last = as[as.length-1]; 206 if (first.parentNode !== p || last.parentNode !== p) return; 207 var frag = document.createDocumentFragment(); 208 var a1 = document.createElement("a"); a1.href = pocket; a1.target = "_blank"; a1.textContent = T_CPI; 209 var s1 = document.createElement("sup"); s1.textContent = T_SUP1; 210 var a2 = document.createElement("a"); a2.href = dof; a2.target = "_blank"; a2.textContent = T_KF; 211 var s2 = document.createElement("sup"); s2.textContent = T_SUP2; 212 frag.appendChild(a1); frag.appendChild(s1); 213 frag.appendChild(document.createTextNode(T_MID)); 214 frag.appendChild(a2); frag.appendChild(s2); 215 frag.appendChild(document.createTextNode(T_END)); 216 var kill = [], n = first; 217 while (n) { kill.push(n); if (n === last) break; n = n.nextSibling; } 218 if (kill[kill.length-1] !== last) return; 219 p.insertBefore(frag, first); 220 for (var k=0;k<kill.length;k++) p.removeChild(kill[k]); 221 p.setAttribute("data-sup-fixed","1"); 222 } 223 224 function fixToc(art){ 225 var probe = document.querySelector('a[href="#strategies"]'); 226 if (!probe) return false; 227 var box = probe; 228 while (box && !(box.className && String(box.className).indexOf("w-richtext") >= 0)) box = box.parentElement; 229 if (!box || box.getAttribute("data-toc-fixed")) return true; 230 231 var def = null, h2s = art.querySelectorAll("h2"); 232 for (var d=0; d<h2s.length; d++){ if (h2s[d].textContent.indexOf(DEF_PREFIX) === 0){ def = h2s[d]; break; } } 233 var map = {}, pending = null; 234 var list = art.querySelectorAll("a[id], h2, h3"); 235 for (var i=0;i<list.length;i++){ 236 var e = list[i]; 237 if (e === def) continue; 238 if (e.tagName === "A"){ pending = e.id; continue; } 239 if (pending){ map[pending] = e.textContent.trim().replace(/^\s*\d+\.\s*/,""); pending = null; } 240 } 241 if (def){ if (!def.id) def.id = DEF_ID; map[DEF_ID] = def.textContent.trim(); } 242 if (!map["strategies"] || !map["metrics"]) return false; 243 244 var frag = document.createDocumentFragment(); 245 if (map[DEF_ID]) frag.appendChild(P(DEF_ID, map[DEF_ID])); 246 frag.appendChild(P("strategies", map["strategies"])); 247 frag.appendChild(OL([["first-time-optimization", map["first-time-optimization"]], 248 ["login-bonuses", map["login-bonuses"]], 249 ["lifecycle-marketing", map["lifecycle-marketing"]]])); 250 frag.appendChild(P("metrics", map["metrics"])); 251 frag.appendChild(OL([["day-x-retention", map["day-x-retention"]], 252 ["ltv", map["ltv"]], 253 ["churn-rate", map["churn-rate"]]])); 254 var tail = ["benchmarks","software","partner"]; 255 for (var t=0;t<tail.length;t++){ if (map[tail[t]]) frag.appendChild(P(tail[t], map[tail[t]])); } 256 box.innerHTML = ""; 257 box.appendChild(frag); 258 box.setAttribute("data-toc-fixed","1"); 259 return true; 260 } 261 262 function run(){ 263 var art = document.querySelector(".article-richtext"); 264 if (!art) return false;
265 var ready = false, h2s = art.querySelectorAll("h2"); 266 for (var i=0;i<h2s.length;i++){ if (h2s[i].textContent.indexOf(DEF_PREFIX) === 0){ ready = true; break; } } 267 if (!ready) return false; 268 try { fixIntro(art); } catch (e) {} 269 try { return fixToc(art); } catch (e) { return true; } 270 } 271 var tries = 0; 272 (function loop(){ tries++; if (run()) return; if (tries < 80) setTimeout(loop, 300); })(); 273})(); 274</script>
274 275<!-- Player retention: TOC + footnote repair END --> 276<!-- Player retention: footnote + split-anchor repair #2 (Hosoo Media 2026-09-07) START --> 277<!-- KO-only + page-scoped. Weglot mis-assigns inline tag boundaries when Korean word order differs, 278 so <sup> swallows the preceding word and the trailing particle. General rule: keep only the 279 digits inside <sup>, push the rest back out. Also fixes the split "read more" line. 280 Pure ASCII. Rollback: delete this block. -->
281<script> 282(function(){ 283 if (location.hostname.indexOf("ko.") !== 0) return; 284 if (location.pathname.indexOf("/resources/player-retention") < 0) return; 285 var T3 = "\ud50c\ub808\uc774\uc5b4 \ub9ac\ud150\uc158\uc5d0 \ub300\ud574 \uc790\uc138\ud788 \uc54c\uc544\ubcf4\uace0 \ud50c\ub808\uc774\uc5b4 \ub9ac\ud150\uc158 \uc804\ub7b5\uc758 \ub354 \ub9ce\uc740 \uc0ac\ub840\ub97c \ubcf4\ub824\uba74 \ub2e4\uc74c\uc744 \uc77d\uc5b4\ubcf4\uc138\uc694. "; 286 287 function fixSups(art){ 288 var sups = art.querySelectorAll("sup"), n = 0; 289 for (var i=0;i<sups.length;i++){ 290 var s = sups[i]; 291 if (s.getAttribute("data-fxs")) continue; 292 var raw = s.textContent; 293 var m = raw.match(/^(.*?)([0-9]+)(.*)$/); 294 if (!m) { s.setAttribute("data-fxs","skip"); continue; } 295 var before = m[1], num = m[2], after = m[3]; 296 if (!before && !after) { s.setAttribute("data-fxs","ok"); continue; } 297 if (before) s.parentNode.insertBefore(document.createTextNode(before), s); 298 s.textContent = num; 299 if (after) { 300 if (s.nextSibling) s.parentNode.insertBefore(document.createTextNode(after), s.nextSibling); 301 else s.parentNode.appendChild(document.createTextNode(after)); 302 } 303 s.setAttribute("data-fxs","1"); 304 n++; 305 } 306 return n; 307 } 308 309 function fixReadMore(art){ 310 var ps = art.querySelectorAll("p"); 311 for (var i=0;i<ps.length;i++){ 312 var p = ps[i]; 313 if (p.getAttribute("data-fx3")) continue;
314 var a = p.querySelector('a[href*="mobile-game-player-retention-strategies"]'); 315 if (!a || p.textContent.indexOf("\uc77d\uc5b4\ubcf4\uc138\uc694") < 0) continue; 316 while (p.firstChild && p.firstChild !== a) p.removeChild(p.firstChild); 317 var em = document.createElement("em"); em.textContent = T3; 318 p.insertBefore(em, a); 319 p.setAttribute("data-fx3","1"); 320 return true; 321 } 322 return false; 323 } 324 325 var tries = 0; 326 (function loop(){ 327 tries++; 328 var art = document.querySelector(".article-richtext"); 329 var ready = art && art.querySelectorAll("sup").length > 0; 330 if (ready){ 331 try { fixSups(art); } catch(e) {} 332 try { fixReadMore(art); } catch(e) {} 333 art.setAttribute("data-fx2","1"); 334 if (tries > 3) return; 335 } 336 if (tries < 60) setTimeout(loop, 400); 337 })(); 338})(); 339</script>
339 340<!-- Player retention: footnote + split-anchor repair #2 END --> 341 342<!-- jp15: japan report page (KO) -->
343<script>(function(){ 344 if (location.hostname.indexOf("ko.") !== 0) return; 345 if (location.pathname.indexOf("2026-japan-gaming-rewards-market-report") < 0) return; 346 347 var AIBOX = "\uc77c\ubcf8 \ud50c\ub808\uc774\uc5b4\ub294 \uc774\ubbf8 \ub9ac\uc6cc\ub4dc\uc5d0 \uc775\uc219\ud569\ub2c8\ub2e4. Mistplay\uc758 \uc77c\ubcf8 \uc720\uc800 700\uba85\uc744 \uc870\uc0ac\ud55c \uacb0\uacfc 79%\uac00 \ub9ac\uc6cc\ub4dc\ub97c \uc8fc\ub294 \uac8c\uc784\uc744 \uba3c\uc800 \uace0\ub974\uace0, \ud3ec\uc778\ud2b8 \uc801\ub9bd \ud65c\ub3d9\uc778 \ud3ec\uc774\uce74\uce20 \ubb38\ud654\uac00 \ub9ac\uc6cc\ub4dc\ud615 \uac8c\uc784\uc758 \uc720\uc800\uce35\uc744 \ub9cc\ub4ed\ub2c8\ub2e4. \ub9ac\uc6cc\ub4dc\ub85c \uc2dc\uc791\ud55c \uc720\uc800\ub294 \uac8c\uc784 \uc790\uccb4\uc5d0 \ubab0\uc785\ud574, 26%\ub294 \ud50c\ub808\uc774 \uc911 \ud3ec\uc778\ud2b8\ub97c \uc78a\uc2b5\ub2c8\ub2e4."; 348 var MKT = "\uc77c\ubcf8\uc740 \uc138\uacc4 3\uc704 \uac8c\uc784 \uc2dc\uc7a5\uc774\uace0 \ubaa8\ubc14\uc77c\uc774 \uac00\uc7a5 \ud070 \ube44\uc911\uc744 \ucc28\uc9c0\ud569\ub2c8\ub2e4. \uc774 \ub9ac\ud3ec\ud2b8\ub294 \uadf8 \uc2dc\uc7a5\uc5d0\uc11c \ub9ac\uc6cc\ub4dc\uac00 \uc720\uc800 \ud589\ub3d9\uc744 \uc5b4\ub5bb\uac8c \ubc14\uafb8\ub294\uc9c0\uc5d0 \uc9d1\uc911\ud569\ub2c8\ub2e4."; 349 var LEAD = "\uac15\ub825\ud55c \uc2dc\ub108\uc9c0"; 350 var DL = "\ub9ac\ud3ec\ud2b8 \ub2e4\uc6b4\ub85c\ub4dc"; 351 var RNAME = "2026\ub144 \uc77c\ubcf8 \uac8c\uc784 \ubc0f \ub9ac\uc6cc\ub4dc \uc2dc\uc7a5 \ub9ac\ud3ec\ud2b8"; 352 var RDESC = "\uc77c\ubcf8 \ud50c\ub808\uc774\uc5b4 700\uba85\uc744 \uc870\uc0ac\ud55c \uac8c\uc784 \ub9ac\uc6cc\ub4dc \uc2dc\uc7a5 \ub9ac\ud3ec\ud2b8"; 353 var RABOUT= "\uc77c\ubcf8 \ubaa8\ubc14\uc77c \uac8c\uc784 \ub9ac\uc6cc\ub4dc \uc2dc\uc7a5"; 354 355 function findLead(){ 356 var hs = document.querySelectorAll("h3"); 357 for (var i=0;i<hs.length;i++){ if ((hs[i].innerText||"").indexOf(LEAD) >= 0) return hs[i]; } 358 return null; 359 } 360 361 function demote(){ 362 var hs = document.querySelectorAll("h3"), n = 0; 363 for (var i=0;i<hs.length;i++){ 364 var h = hs[i], t = (h.innerText||"").trim(); 365 var isLabel = (t.toUpperCase().indexOf("MISTPLAY") === 0 && t.indexOf("\ub9ac\ud3ec\ud2b8") > 0); 366 var isDl = (t === DL); 367 if (!isLabel && !isDl) continue; 368 var d = document.createElement("div"); 369 d.className = h.className; 370 d.setAttribute("data-jp15","d"); 371 d.style.marginTop = "3.2px"; 372 while (h.firstChild) d.appendChild(h.firstChild); 373 h.parentNode.replaceChild(d, h); 374 n++; 375 } 376 return n; 377 } 378 379 function insertBlocks(lead){ 380 if (document.querySelector("[data-jp15=box]")) return; 381 var box = document.createElement("div"); 382 box.setAttribute("data-jp15","box"); 383 box.style.cssText = "background:rgba(255,255,255,.08);border-left:4px solid #FFFFFF;border-radius:8px;padding:18px 22px;margin:0 0 24px;line-height:1.7;color:#fff;font-size:16px"; 384 box.textContent = AIBOX; 385 var mp = document.createElement("p"); 386 mp.setAttribute("data-jp15","mkt"); 387 mp.className = "mb_p mb_text_primary mbr_text_white"; 388 mp.style.marginBottom = "24px"; 389 mp.textContent = MKT; 390 lead.parentNode.insertBefore(box, lead); 391 lead.parentNode.insertBefore(mp, lead); 392 } 393 394 function addLd(){ 395 if (document.querySelector("[data-jp15=ld]")) return; 396 var o = {"@context":"https://schema.org","@type":"Report", 397 "name": RNAME, "description": RDESC, "inLanguage":"ko", 398 "url": location.origin + location.pathname, 399 "about": {"@type":"Thing","name": RABOUT}, 400 "publisher": {"@type":"Organization","name":"Mistplay","url":"https://business.mistplay.com"}}; 401 var s = document.createElement("script"); 402 s.type = "application/ld+json"; 403 s.setAttribute("data-jp15","ld"); 404 s.textContent = JSON.stringify(o); 405 document.head.appendChild(s); 406 } 407 408 var tries = 0; 409 function run(){ 410 var lead = findLead(); 411 if (!lead) { if (++tries < 30) return setTimeout(run, 400); return; } 412 insertBlocks(lead); 413 demote(); 414 addLd(); 415 } 416 setTimeout(run, 900); 417})();</script>
417 418 419<!-- jp15hl: EN origin hreflang pair for the japan report -->
420<script>(function(){ 421 if (location.hostname.indexOf("ko.") === 0) return; 422 if (location.pathname.indexOf("2026-japan-gaming-rewards-market-report") < 0) return; 423 if (document.querySelector("link[data-jp15hl]")) return; 424 var path = location.pathname; 425 var pair = [["en","https://business.mistplay.com"+path], 426 ["ko","https://ko.business.mistplay.com"+path]]; 427 for (var i=0;i<pair.length;i++){ 428 if (document.querySelector('link[rel="alternate"][hreflang="'+pair[i][0]+'"]')) continue; 429 var l = document.createElement("link"); 430 l.setAttribute("rel","alternate"); 431 l.setAttribute("hreflang",pair[i][0]); 432 l.setAttribute("href",pair[i][1]); 433 l.setAttribute("data-jp15hl","1"); 434 document.head.appendChild(l); 435 } 436})();</script>
436 437 438<!-- jp15m: japan report meta (KO only; description is a shared Weglot segment) -->
439<script>(function(){ 440 if (location.hostname.indexOf("ko.") !== 0) return; 441 if (location.pathname.indexOf("2026-japan-gaming-rewards-market-report") < 0) return; 442 var T = "2026\ub144 \uc77c\ubcf8 \uac8c\uc784 \ubc0f \ub9ac\uc6cc\ub4dc \uc2dc\uc7a5 \ub9ac\ud3ec\ud2b8 | Mistplay \ube44\uc988\ub2c8\uc2a4"; 443 var D = "\uc77c\ubcf8 \ud50c\ub808\uc774\uc5b4 700\uba85 \uc870\uc0ac. 79%\uac00 \ub9ac\uc6cc\ub4dc\ub97c \uc8fc\ub294 \uac8c\uc784\uc744 \uba3c\uc800 \uace0\ub974\uace0, \ud3ec\uc774\uce74\uce20 \ubb38\ud654\uac00 \uc720\uc800\uce35\uc744 \ub9cc\ub4ed\ub2c8\ub2e4. \uc77c\ubcf8 \uac8c\uc784 \uc2dc\uc7a5 \uc9c4\ucd9c \ub9ac\ud3ec\ud2b8\ub97c \ubc1b\uc544 \ubcf4\uc138\uc694."; 444 function setMeta(sel, attr, val){ 445 var m = document.querySelector(sel); 446 if (!m) { 447 m = document.createElement("meta"); 448 m.setAttribute(attr.k, attr.v); 449 document.head.appendChild(m); 450 } 451 if (m.getAttribute("content") !== val) m.setAttribute("content", val); 452 } 453 function apply(){ 454 if (document.title !== T) document.title = T; 455 setMeta('meta[name="description"]', {k:"name", v:"description"}, D); 456 setMeta('meta[property="og:title"]', {k:"property", v:"og:title"}, T); 457 setMeta('meta[property="og:description"]', {k:"property", v:"og:description"}, D); 458 var tt = document.querySelector('meta[name="twitter:title"]'); 459 if (tt) tt.setAttribute("content", T); 460 var td = document.querySelector('meta[name="twitter:description"]'); 461 if (td) td.setAttribute("content", D); 462 } 463 apply(); 464 var n = 0, iv = setInterval(function(){ apply(); if (++n > 12) clearInterval(iv); }, 500); 465})();</script>
465 466 467<!-- GM guide KO (Hosoo 2026-09-16) START -->
468<script>(function(){var L=location;if(L.hostname.indexOf('ko.')||L.pathname.indexOf('/resources/mobile-game-monetization')<0)return; 469function D(s){return decodeURIComponent(escape(atob(s)))} 470var A=D("66qo67CU7J28IOqyjOyehCBCTSjsiJjsnbUg66qo6424KeydgCDsnbjslbEg6rKw7KCcKElBUCksIOyduOyVsSDqtJHqs6AoSUFBKSwg7Jik7Y287JuULCDqtazrj4UsIO2UhOumrOuvuOyXhCjsnKDro4wg7JWxKSDri6TshK8g6rCA7KeA6rCAIO2VteyLrOyeheuLiOuLpC4g7J247JWxIOqysOygnOuKlCAyMDIz64WEIOuqqOuwlOydvCDqsozsnoQg7IaM67mE7J6QIOyngOy2nCAxLDA3M+yWtSDri6zrn6zrpbwg66eM65OgIOqwgOyepSDtgbAg7IiY7J217JuQ7J206rOgLCDsnbjslbEg6rSR6rOgIOyImOydteydgCAyMDI064WEIDQwMuyWtSDri6zrn6zroZwg7KCE64WE67O064ukIDExJSDripgg6rKD7Jy866GcIOyYiOyDgeuQqeuLiOuLpC4g6rWs64+F7J2AIDIwMjLrhYQgMeu2hOq4sCDrqqjrsJTsnbwg6rKM7J6EIOyVsSDsiJjsnbXsnZggMzYl66W8IOywqOyngO2WiOyKteuLiOuLpC4g7ZWc6rWtIOqyjOyehCDsl4Xqs4Tsl5DshJwgQk3snbTrnbwg67aA66W064qUIO2ZleuloO2YlSDslYTsnbTthZzCt+2MqO2CpOyngOuKlCDsnbjslbEg6rKw7KCc7JeQLCDrsLDti4DtjKjsiqTCt+yblOygleyVoeydgCDqtazrj4Xsl5Ag7IaN7ZWp64uI64ukLiDsnbQg6riA7JeQ7IScIOuLpOyEryDrqqjrjbjsnZgg7IiY7J21IOq1rOyhsOyZgCDsnpgg66ee64qUIOyepeultCwg7ISx6rO866W8IOyerOuKlCDsp4DtkZwgN+qwgOyngChMVFbCt0FSUFXCt0FSUFBVwrdBUlBEQVXCt2VDUE3Ct+yngOy2nOyekCDsoJDsnKDsnKjCt1JPQVMp7J2YIOqzhOyCsCDrsKnrspXsnYQg7KCV66as7ZaI7Iq164uI64ukLg=="),T=D("PGRpdiBjbGFzcz0iaG0tdHciPjx0YWJsZT48dGhlYWQ+PHRyPjx0aD7rqqjrjbg8L3RoPjx0aD7siJjsnbXsnbQg7IOd6riw64qUIOuwqeyLnTwvdGg+PHRoPuyemCDrp57ripQg7J6l66W0KOuzuOusuCDsiJjsuZgpPC90aD48dGg+67O466y47JeQIOyeiOuKlCDsiJjsuZg8L3RoPjwvdHI+PC90aGVhZD48dGJvZHk+PHRyPjx0ZCBjbGFzcz0iZ21OIj7snbjslbEg6rKw7KCcIElBUDwvdGQ+PHRkPjxpPuyImOydteydtCDsg53quLDripQg67Cp7IudIDwvaT7qsozsnoQg7JWI7JeQ7IScIO2ZlO2PkMK367KI65OkwrfquLDqsIQg7ZWc7KCVIO2YnO2DnSDtjJDrp6Q8L3RkPjx0ZD48aT7snpgg66ee64qUIOyepeultCjrs7jrrLgg7IiY7LmYKSA8L2k+UlBHIDgxJSwg7JWh7IWYIDc3JSwg7Lm07KeA64W4IDc2JTwvdGQ+PHRkPjxpPuuzuOusuOyXkCDsnojripQg7IiY7LmYIDwvaT4yMDIz64WEIOyGjOu5hOyekCDsp4DstpwgMSwwNzPslrUg64us65+sIC8g7KSR6rCEIOqwgOqyqSA1Ljk564us65+sPC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImdtTiI+7J247JWxIOq0keqzoCBJQUE8L3RkPjx0ZD48aT7siJjsnbXsnbQg7IOd6riw64qUIOuwqeyLnSA8L2k+67Cw64SIwrfsoITrqbTCt+uztOyDge2YlSDrj5nsmIHsg4Eg6rSR6rOgIOuFuOy2nDwvdGQ+PHRkPjxpPuyemCDrp57ripQg7J6l66W0KOuzuOusuCDsiJjsuZgpIDwvaT7tlZjsnbTtjbwg7LqQ7KO87Ja8IDk0JSwg64uo7Ja0IDgwJTwvdGQ+PHRkPjxpPuuzuOusuOyXkCDsnojripQg7IiY7LmYIDwvaT4yMDI064WEIDQwMuyWtSDri6zrn6wsIOyghOuFhCDrjIDruYQgMTElIOymneqwgCDsmIjsg4E8L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0iZ21OIj7smKTtjbzsm5Q8L3RkPjx0ZD48aT7siJjsnbXsnbQg7IOd6riw64qUIOuwqeyLnSA8L2k+7J207Jqp7J6Q6rCAIOyYpO2NvMK37ISk66y4wrfrj5nsmIHsg4HsnYQg7JmE66OM7ZWY66m0IOqyjOyehCDrgrQg7ZmU7Y+QIOyngOq4iTwvdGQ+PHRkPjxpPuyemCDrp57ripQg7J6l66W0KOuzuOusuCDsiJjsuZgpIDwvaT7tlZjsnbTruIzrpqzrk5wg7IiY7J217ZmUIOqyjOyehDwvdGQ+PHRkPjxpPuuzuOusuOyXkCDsnojripQg7IiY7LmYIDwvaT7qtJHqs6Ag7IiY7J217J2YIOyVvSAzMyU8L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0iZ21OIj7qtazrj4U8L3RkPjx0ZD48aT7siJjsnbXsnbQg7IOd6riw64qUIOuwqeyLnSA8L2k+67CY67O1IOyalOq4iOycvOuhnCDstpTqsIAg6riw64qlwrfsvZjthZDsuKAg7KCc6rO1PC90ZD48dGQ+PGk+7J6YIOunnuuKlCDsnqXrpbQo67O466y4IOyImOy5mCkgPC9pPuuwsO2LgO2MqOyKpCwgVklQIO2UhOuhnOq3uOueqDwvdGQ+PHRkPjxpPuuzuOusuOyXkCDsnojripQg7IiY7LmYIDwvaT4yMDIy64WEIDHrtoTquLAg7JWxIOyImOydteydmCAzNiUgLyAyMDI164WEIDExMOyWtSDri6zrn6wg7JiI7IOBPC90ZD48L3RyPjx0cj48dGQgY2xhc3M9ImdtTiI+7ZSE66as66+47JeEKOycoOujjCDslbEpPC90ZD48dGQ+PGk+7IiY7J217J20IOyDneq4sOuKlCDrsKnsi50gPC9pPuuLpOyatOuhnOuTnCDsi5zsoJDsl5Ag7J287ZqM7ISxIOyalOq4iDwvdGQ+PHRkPjxpPuyemCDrp57ripQg7J6l66W0KOuzuOusuCDsiJjsuZgpIDwvaT7tlITrnpzssKjsnbTspogsIOy9mO2FkOy4oCDquYrsnYAg6rKM7J6EPC90ZD48dGQ+PGk+67O466y47JeQIOyeiOuKlCDsiJjsuZggPC9pPjIwMjPrhYQgMTLslrUgN+yynOunjCDri6zrn6wgLyDstZzri6Qg6rCA6rKpIDQuOTnri6zrn6w8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2Pg=="),C=D("W2RhdGEtZ209ImJveCJde3dvcmQtYnJlYWs6a2VlcC1hbGx9LmdtVHtib3JkZXI6MXB4IHNvbGlkICNlNmU0ZjU7YmFja2dyb3VuZDojZmJmYWZmO3BhZGRpbmc6MTZweCAxOHB4O21hcmdpbjowIDAgMjJweDtib3JkZXItcmFkaXVzOjZweH0uZ21UIHRhYmxle2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZTt3aWR0aDoxMDAlO2ZvbnQtc2l6ZToxNXB4O2xpbmUtaGVpZ2h0OjEuNjttYXJnaW46MH0uZ21UIHRoe3RleHQtYWxpZ246bGVmdDtwYWRkaW5nOjEwcHggMTJweDtib3JkZXItYm90dG9tOjJweCBzb2xpZCAjNDczMUQzfS5nbVQgdGR7cGFkZGluZzoxMHB4IDEycHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2U2ZTRmNTt2ZXJ0aWNhbC1hbGlnbjp0b3B9LmdtVCB0ZC5nbU57Zm9udC13ZWlnaHQ6NjAwfS5nbVQgaXtkaXNwbGF5Om5vbmU7Zm9udC1zdHlsZTpub3JtYWw7Y29sb3I6IzZiNmE4MH1AbWVkaWEobWF4LXdpZHRoOjcwMHB4KXsuZ21UIHR
470oZWFke2Rpc3BsYXk6bm9uZX0uZ21UIHRyLC5nbVQgdGR7ZGlzcGxheTpibG9jaztwYWRkaW5nOjJweCAwO2JvcmRlcjowfS5nbVQgdHJ7cGFkZGluZzoxMHB4IDA7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2U2ZTRmNX0uZ21UIGl7ZGlzcGxheTppbmxpbmV9fQ=="),LT=D("TFRW64qUIOumrO2FkOyFmOqzvCDtlajqu5gg67SQ7JW8IOydmOuvuOqwgCDsnojsirXri4jri6QuIOqzhOyCsOyLneqzvCBEMcK3RDfCt0QzMCDquLDspIDqsJLsnYAgPGEgaHJlZj0iaHR0cHM6Ly9rby5idXNpbmVzcy5taXN0cGxheS5jb20vcmVzb3VyY2VzL21vYmlsZS1nYW1lLXJldGVudGlvbi1tZXRyaWNzI2x0diI+66qo67CU7J28IOqyjOyehCDrpqzthZDshZgg7KeA7ZGcIDbqsIDsp4DsmYAg6rOE7IKw67KVPC9hPuyXkOyEnCDtmZXsnbjtlaAg7IiYIOyeiOyKteuLiOuLpC4="),MET=[["ARPPU","QVJQUFUo7Jyg66OMIOyCrOyaqeyekOuLuSDtj4nqt6Ag7IiY7J21KeuKlCDsnbzsoJUg6riw6rCE7J2YIOy0nSDsiJjsnbXsnYQg6rKw7KCc7ZWcIOyCrOyaqeyekCDsiJjroZwg64KY64iIIOqwkuyeheuLiOuLpC4g6rOE7IKw7Iud7J2AICjstJ0g7IiY7J21KSAvICjtmZzshLEg7KeA7Lac7J6QIOyImCnsnoXri4jri6Qu"],["ARPDAU","QVJQREFVKOydvOydvCDtmZzshLEg7IKs7Jqp7J6Q64u5IO2Pieq3oCDrp6Tstpwp64qUIO2VmOujqCDstJ0g7IiY7J217J2EIOq3uOuCoCDtmZzshLEg7IKs7Jqp7J6QIOyImOuhnCDrgpjriIgg6rCS7J6F64uI64ukLiDqs4TsgrDsi53snYAgKOy0nSDsiJjsnbUpIC8gKOydvOydvCDtmZzshLEg7IKs7Jqp7J6QKeyeheuLiOuLpC4="],["eCPM","ZUNQTeydgCDqtJHqs6Ag64W47LacIDEsMDAw7ZqM64u5IOyImOydteyeheuLiOuLpC4g6rOE7IKw7Iud7J2AICjqtJHqs6Ag7LSdIOyImOydtSAvIOy0nSDrhbjstpwg7IiYKSB4IDEwMDDsnoXri4jri6Qu"]].map(function(m){return [m[0],D(m[1])]}),ALT=["7J247JWxIOqysOygnCDtjJ3sl4XsnLzroZwg7JWE7J207YWcIOyDgeyekOulvCDqtazrp6TtlZjripQg66qo67CU7J28IOqyjOyehCDtmZTrqbQg7J2865+s7Iqk7Yq4","66qo67CU7J28IOqyjOyehCDsp4DstpzsnpDqsIAg6rWs66ek7ZWY64qUIElBUCDsnKDtmJUg6re4656Y7ZSELiDqs6DslaEg7KeA7Lac7J6QIOq4sOykgCDqsozsnoQg64K0IO2ZlO2PkCA1NiUsIOuyiOuTpCA1NSUsIOq4sOqwhCDtlZzsoJUg7Zic7YOdIDQ4JSAoTWlzdHBsYXkgMjAyNCDsp4DstpzsnpAg67O06rOg7IScKQ==","67O07IOB7ZiVIOuPmeyYgeyDgSDqtJHqs6Drpbwg67O06rOgIOy9lOyduOydhCDrsJvripQg66qo67CU7J28IOqyjOyehCDtmZTrqbQg7J2865+s7Iqk7Yq4","66+47IWY7J2EIOyZhOujjO2VmOuptCDrs7Tsg4HsnYQg67Cb64qUIOyYpO2NvOyblOqzvCDshLHsnqUg6re4656Y7ZSEIOydvOufrOyKpO2KuA==","6rCA6rKp7J20IOuLpOuluCDqtazrj4Ug7IOB7ZKIIOy5tOuTnCDshLgg7J6lIOydvOufrOyKpO2KuA==","7JWxIOuqqeuhnSDqsIDsmrTrjbAg6rCA6rKp7ZGc6rCAIOu2meydgCDsnKDro4wg6rKM7J6EIOyVsSDslYTsnbTsvZgg7J2865+s7Iqk7Yq4","6rSR6rOgLCDslYTsnbTthZwsIOuztOyDgSDtmZTrqbTsnYQg67O07Jes7KO864qUIOyKpOuniO2KuO2PsCDshLgg64yAIOydvOufrOyKpO2KuA=="].map(D); 471function first(t){var k=t.indexOf('\uB2E4.');return k<0?[t,'']:[t.slice(0,k+2),t.slice(k+2).trim()]} 472function run(){var d=document,x=d.querySelector('.article-richtext');if(!x||!x.firstElementChild)return 0; 473if(!d.getElementById('hm-gm-css')){var st=d.createElement('style');st.id='hm-gm-css';st.textContent=C;d.head.appendChild(st)} 474if(!x.querySelector('[data-gm="box"]')){var b=d.createElement('div');b.setAttribute('data-gm','box');b.style.cssText='border-left:4px solid #4731D3;background:#f4f3ff;padding:14px 18px;margin:0 0 22px;border-radius:6px';b.textContent=A;x.insertBefore(b,x.firstElementChild)} 475if(!x.querySelector('[data-gm="table"]')){var h2s=x.querySelectorAll('h2'),h=null;for(var i=0;i<h2s.length;i++){var n=h2s[i].nextElementSibling;if(n&&n.tagName==='H3'&&/^1\..*IAP/.test(n.textContent.trim())){h=h2s[i];break}} 476if(!h)return 0;var t=d.createElement('div');t.className='gmT';t.setAttribute('data-gm','table');t.innerHTML=T;h.parentNode.insertBefore(t,h.nextSibling)} 477[].forEach.call(x.querySelectorAll('h3'),function(e){var s=e.textContent.replace(/\u00a0/g,' ').trim();if(/ARPPU/.test(s)&&/\s3\.$/.test(s))e.textContent=s.replace(/\s3\.$/,'')}); 478[].forEach.call(x.querySelectorAll('h4'),function(e){var s=e.textContent.replace(/\u00a0/g,' ').trim();if(/^3\.\s*\uC624\uD37C\uC6D4$/.test(s)||/^5\.\s*\uD504\uB9AC\uBBF8\uC5C4\s*\uC571\s*\uBAA8\uB378$/.test(s)){var n=d.createElement('h3');n.innerHTML=e.innerHTML;n.setAttribute('data-gm','h3');e.parentNode.replaceChild(n,e)}}); 479MET.forEach(function(m){var hs=x.querySelectorAll('h3');for(var i=0;i<hs.length;i++){var s=hs[i].textContent.replace(/\u00a0/g,' ').trim();if(s.indexOf(m[0])<0)continue;var p=hs[i].nextElementSibling;if(!p||p.tagName!=='P'||p.getAttribute('data-gm'))return;if(p.querySelector('a'))return;var r=first(p.textContent.trim())[1];p.textContent=m[1]+(r?' '+r:'');p.setAttribute('data-gm','metric');return}}); 480var lp=x.querySelector('p a[href*="mobile-game-retention-metrics"]');if(lp&&!lp.parentNode.getAttribute('data-gm')){var par=lp.parentNode;par.innerHTML=LT;par.setAttribute('data-gm','ltv')} 481[].forEach.call(x.querySelectorAll('a[href]'),function(a){try{var u=new URL(a.href);if(u.hostname==='www.mistplay.com'&&/^\/(resources|reports)\//.test(u.pathname)){a.href='https://'+L.hostname+u.pathname+u.hash;a.setAttribute('data-gm','link')}else if(u.protocol==='http:'&&/(^|\.)data\.ai$/.test(u.hostname)){a.href='https://'+u.hostname+u.pathname;a.setAttribute('data-gm','https')}}catch(e){}}); 482var im=x.querySelectorAll('img');if(im.length===ALT.length){for(var j=0;j<im.length;j++){if(!im[j].getAttribute('alt'))im[j].setAttribute('alt',ALT[j])}} 483return 1} 484var c=0;(function l(){if(!run()&&++c<40)setTimeout(l,300)})()})()</script>
484 485<!-- GM guide KO END --> 486<!-- AM guide KO JSON-LD headline (Hosoo 2026-09-16) START -->
487<script>(function(){var L=location;if(L.hostname.indexOf('ko.')||L.pathname.indexOf('/resources/app-monetization-guide')<0)return; 488function D(s){return decodeURIComponent(escape(atob(s)))} 489var H=D("66qo67CU7J28IOyVsSDsiJjsnbXtmZQg6rCA7J2065OcOiA36rCA7KeAIOuqqOuNuOqzvCDtlbXsi6wg7KeA7ZGc"); 490function run(){var s=document.querySelectorAll('script[type="application/ld+json"]');if(!s.length)return 0;var hit=0; 491[].forEach.call(s,function(el){if(el.getAttribute('data-am-hl'))return;var j;try{j=JSON.parse(el.textContent)}catch(e){return} 492var g=j['@graph']||[j],ch=0;g.forEach(function(n){if(n&&n['@type']==='Article'&&n.headline!==H){n.headline=H;ch=1}}); 493if(ch){el.textContent=JSON.stringify(j);el.setAttribute('data-am-hl','1');hit=1}});return hit||1} 494var c=0;(function l(){if(!run()&&++c<40)setTimeout(l,300)})()})()</script>
494 495<!-- AM guide KO JSON-LD headline END --> 496 497 498<!-- Offerwall guide KO (Hosoo 2026-09-21) -->
498<script>(function(){if(location.hostname.indexOf('ko.')||location.pathname.indexOf('/resources/offerwall-ads')<0)return;var b=Uint8Array.from(atob('zVrpc9vGFf+ev2LNNAk55gGQAAmQtlP56DhT2c5EznQ6sqaz2F2KsECABUBLqqL/ve+9XZwELScTd/pBFLnHO3/v2AW+6a/3scjDJO4P7r5hLFyzfpQIjiPjTZLlMd+qcRhLdfNu3e9dJePegD16+pRZA5aqfJ/Gq/auHc83zV2TVGXJPhUqmyTrtUqveRSNuMyA1JMmoU88Ze9/en/6ij1lvQ97MZ86H/ZythD4XcJ3sVjAZ7DwrB8Z/vJt+DWTPvzgco7LvIX1YW9ZwQInBG3xXJgOxNTHT98tp8UMlgrlekTKcsyPOdAS6xn7jb0Js3wX8Vvcrhyc9z0Pvk8FfIopd3pD9vLV2Yvj0joW0Z4iI8+ykLJFQ+7Cxn/21HAFqpbvlUNBMKMfYoacXCVQQWH7JU2QkLS14TPwFzgv5ihi4AkYki6R5AunYhZYAf4KfE4C4rLAkdX+QNgBKufTKrFGySwBBpZz2yUD2zYyVpY2amGIYKqccXveQ/G0ndt2QeqkpJwGXiGJtOZmw5s3Pxc79Z5A2U4ptu2SXbXPXCVR1bk1ZA+6c0ijnKRWHpmO9HDIQp7tFiyk65F3g6aC4OrX9h+ApcadmEoQNZAe8JT2zDouL0irHCTsCwt4nv365s3JL//sZtx/V4TT4HNgO3RMgUJSG7AiGojqd+CTLAwaIWPL1shgpBduElwOj2MXp8DXvmaIhDwLzSq4x4ooBRsTBp21Pfg/RrShVdmqISXNEBKma79KGnPu91/8fDIo4YZya7rsd4VHw23CCiwtCSuQZcwrLG0P7rMC51x4FdoDX6EHFzNBBrUYhVxBvK4Neq8gXvhksUCpfF8WPjF6HAtWQ/eokxDoCHrLp1j2m06YWgjkwCahZkQJ8rxDviX0KAtJLbT1ghL6oIbF/gaiBUlyhYpIHLS1wzRoKUqlC4CaWnbJhItAsvDdmc5BJ7FMk1CSYz3a5Dml6TxXu3+qcJqTs9yaYwvFvFpwLiieFCrAZ6aKlOnOdSg9OI18iOPITsOhqj0mDOq66WCiCYzRJpiRNyN5rEqejkxm8lFnZR2yo1X1C1Jwv27FKnx1SGqcGoXnjkeOdh0d8mUpWfjkW2nVME+pQM5siXqLWnkv4p0y08wnQHrFdEMSMbXJqhjogMFyUSNRSWtRQdsNnEFVUlB4NtNYLxxPCKxXm/aCAv8P1x7WaRL0e8Po7STpkQOENrL2tKvBOPUMHmbed+UkyGMYmjwXpkl8Ro0bKxornVoMyrSluJLkbtoHDjhSPN+fPNdt3RMZfmIi4ln29ENvsx3l1x96z57kPIgU/NsoLuFfil+fHUXUkwnM6hUd9U573qRqcK3OnE5905xCV865VyVzKmuU3ZCOXj1BSSaFVEEib41wslQhuX4LCjwEbSCCFOAv2/G4tvmUNn+5FuzJBCk8qwdDGdxVSFTJGd1W9Ja+IBB4ftX56LThuBqQtew1Xc+riuE64iENHjZpJbrOKFCHSISFhi4Fks5Lge1PqzAxhVUnd7tWhVUgisgp7FSzo86L6BamawcOOV6lum8JqvI6JiGQUf6F65QtUQNw0qDhiPsPAvQreLxRg0z0OzrsAmo0psI4i8xmou/PdFxgU/WXvqgKSt18wFWRgUVn0jqoEVCJH8pURY6ijoOk6VeJafCwY47VjEm7EdUZTM6mXqOe/I8iV9i6C3Z1tLYitxK0ikkeBBQEVLy/UpyWQdcwSRVPU1UprJtF0ydzg41606SjTrdAbuAU0GknHKthtdpGbmtoPezzI7X/q7hSm9+cN6ojhmkggrWnebemC4fRCcX0kwtl+knxFVwJp7J6X++Up1ZpuzUAcY2wWS2lUjHn0qrACg71OlNueW47ONI0VpnGmaIeksMXZNfPdmtfw6028aNTuzlimTO+4OXRzGgLGriFzfEy4qvEYT3HUs+NB5faiVDvNIeMomqNawhzCsu1/Xf89KyPfdO1PlGIeeV/gjBXM+sLQrGeYjEoOkzZ0Vx/BZ925FCu5uYIautz5Z/pNMg7OCMVzdjVYZ0LOkHZXvsI3UyBc9+tOiXyCJeYTXTqLYLItepOmJgedWL66Qk028+g+35xd
498oa997nkOR8l1yOukoth+YsWX9xdJ6kcBaniV8srpXYjHkWr5JNK1xGsuU75bkmTI1y3um/QugtgTKWjSK3zpbO7YVkSwbH5W2cxs1/OVgEXV5dpso/l8tu1s56t16sdlzKML5c2rra93c1qy9PLMNYDFptOYchQTbkM99lyDiP3baH1kqVd8VRz5azdJs9gzes85y2e1nGGW34zug5lvlnalvUdLLgZZeF/kIpZCyMHUjH6VxhFJFHEd5laFl9WNYLrJM6RolraLrCLwliNNiq83ORLezwvBexgsbnL1U0OXgov4yUavtLPQv1q+gRJnifb5fTAMdebMFcjAKxQyzhBH3cwkncPET60PsAmDwWPjHh50kl4DFnijixwrVWeW9YXyQQbT+9kmOHtPCyK1er+r1slQ876lcMWFog7uDvYS4fOuxLZN8tPYRbC1BE3Dg8tD8fBw1GMvMPRtGP7sMPEhTJBlIgrAxC+z5M2ALdhbH52YgIka9nlUKK7h5zXcHcXm3QJiTEfiU0YyRY1qxNA7TUFhykxaHo83fLoKFg6ltbxAy43IVPD/APwCWMMuhUEZ5Iuv50HkNxBifte8UDq3enLf52cvjeX/7pD0u26afuazUlH76P7lcXCLc5CVCjKp0unyS2P8tuf9ZOm5q1KeQ9XXu4Ut9nFYwXI7m9f/aOUsEmssxOrXe2JOR2z4Bi2pE55rW/a7eqOvePG6Yi+/ZehUOwllIhtNqjKcu3EGDh2rdh1PKjouEIBe6PujltrTKZ00KDy2rjxeuBBQO3Gu+tuH2t4+8xi1e8WiKGp+ub0XV7wd9/tH3+AtfCq+9vyyFOipGjX3KB6fiEX+o7GcyqPT2fo8pM43yTxLXuX5knE42H9uaV5FkD3otCECLKFNom1Jgmt6m7Z1mBQsrwkN9fNrnnOoq8GaQj8VkbI6U9v/479xV1vsoWck0M1m0QahyhGb8l6k90+iMJso9KsMTWEKS6pWmSKFpa/qpWjXZpcpnzbWA3p48H19yhh8YSbpXvzlFtLnYZiA0LLROy3Ks7H/96r9PZMRUrkSdrvjTlWsEiNcB1W2t5gRXvxafcj2vzbb4y+jNdhmuWvIoV0XmBSLB5qszWPoN6XPDd2dpTlSRT1exu7NxjCMlgV76H/op3rJGV93B7CsLWCf0+Q0jhS8WW+gd+PHw/YHQkGw+fhxRjlfQF5EZmUz+EP00FvwJ6xkY2biaXevWLU563YPbuvNN7YXUrRVKnPpSqs8Pz2J9nH611IuiLLegPkgSpked0AAhjlyuzp97L8NlJgZ1g1hnoE2K4o0GBNL5iFrnZV0cLaN+a7nYol+aCf5UCp0qBcmId5pOgtBnrXYMBaM2a88ppUmTiOlB+2Kufn+MrD0x6uTMMdwq138UMdMDiDNmjTalkAaaEBcNk4U/lJnqdhsM9Vv4ccMALqPAaf059YNiyARC8bRIU2pnmrA19mGHTxLpbp9x1qem3sBtZgw7avab02sGr57LW9wsEm+aI8A/pBQbvXkPrRsQhtnEAIYbRH+wza8s+YGY5FyAQWHZEESBaiGKK4tqmKeTZP+ux4CoNvE4nvvUAuyp8riFrVh10YzuMYdp5BkwlZy1C8byaTo8rplqWtHjobU8nhVp1GpsPNbLhxMJnk0A+pvJFQainlo04pHzGlIM0yqXysJRWcOP/4xWmlVV6LWyG68wtc+9izK91i6DsVd26Vb0LMfefHWqYq9SnEOshXxqx6YVfW0jbMg4cRkgdHAEJuKdEKy8I4Vunr929OMX/gw66ClRbjKELyoHDRUZCgsPwz3ubnm1StLwqslr690r69At/yyrFX5NhCuPS2/K4Z7REp6pr9+stpn2fnVxdjJF6GgV60g0X76lWvVEExF6o/+TB5/JcJGKVXW4++gPWQEmCYdvYmveY0NRDnuwv2/fdA9vC9s61paMYi2VZIKEkwVglKRSPPd9lyMumxx+zgbTYYK9itDih0+xocctXKBqyE2j0DBmLTVyDR/e+K7HB7uQ5vDkIbhj/ja5itpCg9vdWe3oKncXvp623d11omnD/fXrTqALRNYFh0UnHcoeA3a7ODtdWhA9DfvaypZiuxV/YrdYi1DnFbh7ipAwVDBGuJa9ypyJBl6dEVWSpAVejdei0U9h8BXRhH6gatgMcsrXBoOm0DQZx91M2jpfugNGb8WWNOZ4U14z9kTf1p8l2e7ind3ZsuHUipjGwMA+V7nxAgyQ7aYj39+PGKTEGtcvlmJg3p7U+YYw0YiPY+3Kpkn/dx+5DNLAuFGfQBmvrzvw=='),function(c){return c.charCodeAt(0)});new Response(new Blob([b]).stream().pipeThrough(new DecompressionStream('deflate-raw'))).text().then(function(t){new Function(t)()})})()</script>
498 499<!-- Offerwall guide KO END --> 500 501<!-- Offerwall guide KO definition heading (Hosoo 2026-09-21) -->
501<script>(function(){if(location.hostname.indexOf("ko.")||location.pathname.indexOf("/resources/offerwall-ads")<0)return;var O="\uc624\ud37c\uc6d4\uc740 \ubb34\uc5c7\uc778\uac00\uc694?",N="\uc624\ud37c\uc6d4\uc774\ub780? \ub73b\uacfc \uae30\ubcf8 \uad6c\uc870";function r(){var a=document.querySelector(".article-richtext");if(!a)return 0;var h=a.querySelectorAll("h2,h3"),i,hit=0;for(i=0;i<h.length;i++){if(h[i].textContent.trim()===O){h[i].textContent=N;h[i].setAttribute("data-ow-defh","1");hit=1;}}return hit||!!a.querySelector("[data-ow-defh]");}var c=0;(function l(){if(!r()&&++c<60)setTimeout(l,300)})()})()</script>
501 502<!-- Offerwall guide KO definition heading END --> 503 504<!-- Offerwall guide KO summary box position fix (Hosoo 2026-09-21) -->
504<script>(function(){if(location.hostname.indexOf("ko.")||location.pathname.indexOf("/resources/offerwall-ads")<0)return;var c=0;(function l(){var b=document.querySelector("[data-ow-aeo]"),a=document.querySelector(".article-richtext");if(b&&a){var f=a.firstElementChild,ref=a.firstChild;if(f&&f!==b&&(f.tagName==="FIGURE"||f.tagName==="IMG"||f.querySelector("img"))){ref=f.nextSibling;}if(b.parentNode!==a||b.previousSibling!==(ref?ref.previousSibling:null)){a.insertBefore(b,ref);}b.setAttribute("data-ow-pos","body");return;}if(++c<120)setTimeout(l,250);})()})()</script>
504 505<!-- Offerwall guide KO summary box position fix END --> 506 507<!-- Offerwall guide KO TOC label sync (Hosoo 2026-09-21) -->
507<script>(function(){if(location.hostname.indexOf("ko.")||location.pathname.indexOf("/resources/offerwall-ads")<0)return;var O="\uc624\ud37c\uc6d4\uc740 \ubb34\uc5c7\uc778\uac00\uc694?",N="\uc624\ud37c\uc6d4\uc774\ub780? \ub73b\uacfc \uae30\ubcf8 \uad6c\uc870",c=0;(function l(){var hit=0,as=document.querySelectorAll("a"),i;for(i=0;i<as.length;i++){if(as[i].textContent.trim()===O){as[i].textContent=N;hit=1;}}if(hit)return;if(++c<80)setTimeout(l,300);})()})()</script>
507 508<!-- Offerwall guide KO TOC label sync END --> 509<!-- Offerwall guide KO list readability (Hosoo 2026-09-21) -->
509<script>(function(){if(location.hostname.indexOf("ko.")||location.pathname.indexOf("/resources/offerwall-ads")<0)return;var CSS=".article-richtext ul[data-ow-merged]{margin:6px 0 22px;padding-left:22px}.article-richtext ul[data-ow-merged] li{margin:7px 0;line-height:1.7}.article-richtext p[data-ow-label]{font-weight:700;margin:22px 0 4px}";var c=0;(function l(){var a=document.querySelector(".article-richtext");if(!a){if(++c<80)setTimeout(l,250);return;}if(a.getAttribute("data-ow-lists"))return;var kids=Array.prototype.slice.call(a.children),i,cur=null,merged=0;for(i=0;i<kids.length;i++){var k=kids[i];if(k.tagName==="UL"&&k.children.length===1){if(cur&&cur.nextElementSibling===k){while(k.firstChild)cur.appendChild(k.firstChild);k.parentNode.removeChild(k);merged++;}else{cur=k;cur.setAttribute("data-ow-merged","1");}}else{cur=null;if(k.tagName==="P"&&k.textContent.replace(/\s+/g," ").trim().length<40&&kids[i+1]&&kids[i+1].tagName==="UL"){k.setAttribute("data-ow-label","1");}}}if(!document.getElementById("hm-ow-lists")){var st=document.createElement("style");st.id="hm-ow-lists";st.textContent=CSS;document.head.appendChild(st);}a.setAttribute("data-ow-lists",String(merged));})()})()</script>
509 510<!-- Offerwall guide KO list readability END --> 511 512<!-- Century Games KO case: summary box + link fix + alt (Hosoo 2026-09-23) -->
512<script>(function(){ if(location.hostname.indexOf("ko.")!==0||location.pathname.indexOf("/resources/century-games-dragoncape-adventure-mistplay")<0)return; var CSS="[data-cg-aeo]{word-break:keep-all;overflow-wrap:break-word;border-left:4px solid #4731D3;background:#f4f3ff;padding:14px 18px;margin:14px 0 22px;border-radius:6px;}"; var st=document.createElement("style");st.id="hm-cg";st.textContent=CSS;document.head.appendChild(st); var LK=[["www.mistplay.com/resources/dragonscapes-adventure", "https://ko.business.mistplay.com/resources/dragonscapes-adventure"], ["www.mistplay.com/advertising", "https://ko.business.mistplay.com/advertisers/loyalty-program"]], IM=[["667b11cb06cc0c76c4df93f7_Studio-Info", "\uc13c\ucd94\ub9ac\uac8c\uc784\uc988(Century Games) \ub85c\uace0\uc640 \uafc8\uc758 \ub4dc\ub798\uace4 \uc5b4\ub4dc\ubca4\ucc98 \uac8c\uc784 \uc815\ubcf4 \ud45c: \uc2dc\ubbac\ub808\uc774\uc158 \uc7a5\ub974"], ["case-study_DragonCape-CenturyGames_Screenshot", "\uafc8\uc758 \ub4dc\ub798\uace4 \uc5b4\ub4dc\ubca4\ucc98 \ubaa8\ubc14\uc77c \uac8c\uc784 \ud654\uba74 \ub450 \uc7a5: \uce90\ub9ad\ud130\uc640 \ub18d\uc791\ubb3c\uc774 \uc788\ub294 \uc2dc\uc791 \ud654\uba74, \ub18d\uc7a5\uc744 \uac00\uafb8\ub294 \uc778\uac8c\uc784 \ud654\uba74"]], TXT="\uc13c\ucd94\ub9ac\uac8c\uc784\uc988(Century Games)\ub294 \ud504\ub85c\uc98c \uc2dc\ud2f0, \ud328\ubc00\ub9ac \ud31c \uc5b4\ub4dc\ubca4\ucc98, \ud654\uc774\ud2b8\uc544\uc6c3 \uc11c\ubc14\uc774\ubc8c \ub4f1\uc744 \uc11c\ube44\uc2a4\ud558\ub294 \ubaa8\ubc14\uc77c \uac8c\uc784 \ud37c\ube14\ub9ac\uc154\uc785\ub2c8\ub2e4. 2020\ub144\ubd80\ud130 Mistplay\uc758 \ub85c\uc5f4\ud2f0 \ud50c\ub7ab\ud3fc\uc73c\ub85c \uafc8\uc758 \ub4dc\ub798\uace4 \uc5b4\ub4dc\ubca4\ucc98(Dragonscapes Adventure)\uc758 \uc720\uc800\ub97c \ud655\ubcf4\ud574 \uc654\uace0, 2022\ub144 AI \ucea0\ud398\uc778\uacfc \uac8c\uc784 \ubd80\uc2a4\ud305\uc744 \ub3c4\uc785\ud55c \ub4a4 \ubcfc\ub968\uc774 132% \ub298\uace0 D7 ROAS\uac00 30%, IAP \uc9c0\ucd9c\uc790\uac00 14% \ub298\uc5c8\uc2b5\ub2c8\ub2e4. \ub450 \uae30\ub2a5\uc740 \ud604\uc7ac tROAS \ucea0\ud398\uc778\uc73c\ub85c \ud1b5\ud569\ub410\uace0, \uafc8\uc758 \ub4dc\ub798\uace4 \uc5b4\ub4dc\ubca4\ucc98\ub294 2020\ub144 \ucd9c\uc2dc \uc774\ud6c4 \uc911\uad6d \ubaa8\ubc14\uc77c \uac8c\uc784 \ub9e4\ucd9c \uc0c1\uc704 30\uc704\uad8c \ud6c4\ubcf4\uc5d0 \uc62c\ub790\uc2b5\ub2c8\ub2e4."; var n=0; (function run(){ var a=document.querySelector(".article-richtext"); if(a){ if(!document.querySelector("[data-cg-aeo]")){ var p=document.createElement("p");p.setAttribute("data-cg-aeo","1");p.textContent=TXT; var f=a.firstElementChild,ref=a.firstChild; if(f&&(f.tagName==="FIGURE"||f.tagName==="IMG"||f.querySelector("img"))){ref=f.nextSibling;} a.insertBefore(p,ref); } for(var i=0;i<LK.length;i++){ var ls=a.querySelectorAll('a[href*="'+LK[i][0]+'"]'); for(var j=0;j<ls.length;j++){ls[j].setAttribute("href",LK[i][1]);ls[j].removeAttribute("target");} } for(var k=0;k<IM.length;k++){ var im=a.querySelectorAll('img[src*="'+IM[k][0]+'"]'); for(var m=0;m<im.length;m++){im[m].setAttribute("alt",IM[k][1]);} } } if(++n<120)setTimeout(run,250); })(); })()</script>
512 513<!-- Century Games KO case END --> 514<!-- Century Games KO case: JSON-LD headline (Hosoo 2026-09-23) -->
514<script>(function(){ if(location.hostname.indexOf("ko.")!==0||location.pathname.indexOf("/resources/century-games-dragoncape-adventure-mistplay")<0)return; var KO="\uc2e0\ub8b0\ub97c \ubc14\ud0d5\uc73c\ub85c \uad6c\ucd95\ub41c \ud30c\ud2b8\ub108\uc2ed: \uc13c\ucd94\ub9ac\uac8c\uc784\uc988 \uafc8\uc758 \ub4dc\ub798\uace4 \uc5b4\ub4dc\ubca4\ucc98\ub97c \uc704\ud55c \ud6a8\uacfc\uc801\uc778 \ub85c\uc5f4\ud2f0 \uac15\ud654", n=0; (function run(){ var s=document.querySelectorAll('script[type="application/ld+json"]'), hit=0; for(var i=0;i<s.length;i++){ var raw=s[i].textContent; if(raw.indexOf("DragonCape Adventure")<0) continue; var d; try{ d=JSON.parse(raw); }catch(e){ continue; } var g=d["@graph"]||[d], ch=0; for(var j=0;j<g.length;j++){ var o=g[j]; if(o["@type"]==="Article" && o.headline && o.headline.indexOf("DragonCape Adventure")>-1){ o.headline=KO; ch=1; } if(o["@type"]==="BreadcrumbList" && o.itemListElement){ for(var k=0;k<o.itemListElement.length;k++){ var it=o.itemListElement[k]; if(it.name && it.name.indexOf("DragonCape Adventure")>-1){ it.name=KO; ch=1; } } } } if(ch){ s[i].textContent=JSON.stringify(d); hit=1; } } if(hit) return; if(++n<120)setTimeout(run,250); })(); })()</script>
514 515<!-- Century Games KO JSON-LD END --><style> 516 517::selection { 518 color: #343557; 519 background: #F2F2FA; /* WebKit/Blink Browsers */ 520} 521::-moz-selection { 522 color: #343557; 523 background: #F2F2FA; /* Gecko Browsers */ 524} 525</style> 526<!-- HOSOO hreflang page-level 2026-08-12 / rollback: delete this block --> 527<link rel="alternate" hreflang="en" href="https://business.mistplay.com/publishers/loyaltyplay/fuel-convenience-stores" /> 528<link rel="alternate" hreflang="ko" href="https://ko.business.mistplay.com/publishers/loyaltyplay/fuel-convenience-stores" /></head><body class="body"><div data-animation="default" data-collapse="medium" data-duration="400" data-easing="ease" data-easing2="ease" role="banner" class="mb_nav mb_theme_dark w-nav"><section class="mb_banner"><a href="https://business.mistplay.com/resources/mistplay-iphone-japan-market-report" target="_blank" class="mb_link_banner w-inline-block"><div class="mb_link_banner_desktop">Mistplay for iPhone is live in Japan, backed by industry research ð¯ðµ ð</div><div class="mb_link_banner_mobile">Mistplay for iPhone live in Japan ð¯ðµ ð</div></a></section><section class="mb_section_nav_a mb_theme_dark mb_nav"><div class="mb_container_nav_b div-block-127"><div class="menu-button w-nav-button"><div class="icon-2 w-icon-nav-menu"></div></div><div class="mb_nav_wrapper_b"><a href="/" class="mb_logo_b w-nav-brand"><img width="140" height="49" alt="Mistplay Logo" src="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/6808e83ac6302d9ff91c8ea0_mistplay_logo.svg" loading="lazy" class="mb_nav_logo_b"/></a><nav role="navigation" class="mb_nav_menu_b w-nav-menu"><div class="w-layout-hflex mb_nav_list_b"><div data-delay="100" data-hover="true" class="mb_dropdown_b w-dropdown"><div class="mb_nav_dropdown_a w-dropdown-toggle"><div class="mb_nav_dropdown_title">Advertisers</div><div class="icon-3 w-icon-dropdown-toggle"></div></div><nav class="mb_dropdown_list_b w-dropdown-list"><div class="mb_dropdown_col_b"><div class="mb_nav_eyebrow_b">ADVERTISE</div><div class="mb_nav_items_b"><div class="mb_nav_item_b"><a href="/advertisers/loyalty-program" class="mb_nav_label_b w-dropdown-link">Loyalty Platform</a><div class="mb_nav_desc_b">Take a loyalty-first approach to UA</div></div><div class="mb_nav_item_b"><a href="/advertisers/ios" class="mb_nav_dropdown_link_b w-dropdown-link">Mistplay for iPhone</a><a href="/advertisers/android" class="mb_nav_dropdown_link_b w-dropdown-link">Mistplay for Android</a></div></div><div class="mb_nav_items_b"><div class="mb_nav_item_b"><a href="/advertisers/mistplay-audience-network" class="mb_nav_label_b w-dropdown-link">Mistplay Audience Network</a><div class="mb_nav_desc_b">Achieve new scale beyond gaming</div></div></div><div class="code-embed-3 w-embed"><style> 529#w-dropdown-list-0 a { 530 text-transform:none !important; 531} 532</style></div></div><div class="mb_dropdown_col_b"><div class="mb_nav_eyebrow_b">Monetize</div><div class="mb_nav_items_b"><div class="mb_nav_item_b"><a href="/advertisers/hex" class="mb_nav_label_b w-dropdown-link">HEX</a><div class="mb_nav_desc_b">Add revenue to your game with play-and-earn</div></div></div><div class="code-embed-3 w-embed"><style> 533#w-dropdown-list-0 a { 534 text-transform:none !important; 535} 536</style></div></div></nav></div><div data-delay="0" data-hover="true" class="mb_dropdown_b w-dropdown"><div class="mb_nav_dropdown_a w-dropdown-toggle"><div class="mb_nav_dropdown_title">Publishers</div><div class="icon-3 w-icon-dropdown-toggle"></div></div><nav class="mb_dropdown_list_b w-dropdown-list"><div class="mb_dropdown_col_b"><div class="mb_nav_eyebrow_b">Products</div><div class="mb_nav_items_b"><div class="mb_nav_item_b"><a href="/publishers/loyaltyplay" class="mb_nav_label_b w-dropdown-link">LoyaltyPlay</a><div class="mb_nav_desc_b">Drive new LTV and ROAS with rewarded</div></div><div class="mb_nav_item_b"><a href="/publishers/loyaltyplay/app-publishers" class="mb_nav_dropdown_link_b w-dropdown-link">For apps driving revenue</a><a href="/publishers/loyaltyplay/brands-retailers" class="mb_nav_dropdown_link_b w-dropdown-link">For brands driving loyalty</a></div></div><div class="code-embed-3 w-embed"><style> 537#w-dropdown-list-0 a { 538 text-transform:none !important; 539} 540</style></div></div><div class="mb_dropdown_col_b"><div class="mb_nav_eyebrow_b">Verticals</div><div class="mb_nav_items_b"><div class="mb_nav_item_b"><a href="/publishers/loyaltyplay/restaurants" class="mb_nav_label_b w-dropdown-link">For Restaurants</a><a href="/publishers/loyaltyplay/finance-fintech" class="mb_nav_label_b w-dropdown-link">For Finance & Fintech</a><a href="/publishers/loyaltyplay/shopping-cashback" class="mb_nav_label_b w-dropdown-link">For Shopping & Cashback</a><a href="/publishers/loyaltyplay/fuel-convenience-stores" aria-current="page" class="mb_nav_label_b w-dropdown-link w--current">For Fuel & C-store</a></div></div><div class="code-embed-3 w-embed"><style> 541#w-dropdown-list-0 a { 542 text-transform:none !important; 543} 544</style></div></div></nav></div><div data-delay="0" data-hover="true" class="mb_dropdown_b w-dropdown"><div class="mb_nav_dropdown_a w-dropdown-toggle"><div href="#" class="mb_nav_dropdown_title">Resources</div><div class="icon-3 w-icon-dropdown-toggle"></div></div><nav class="mb_dropdown_list_b w-dropdown-list"><div class="mb_dropdown_col_b"><div class="mb_nav_eyebrow_b">Explore</div><div class="mb_nav_items_b"><div class="mb_nav_item_b"><a href="/resources" class="mb_nav_label_b w-dropdown-link">Articles</a><a href="/article-tags/case-studies" class="mb_nav_label_b w-dropdown-link">Case Studies</a><a href="/reports" class="mb_nav_label_b w-dropdown-link">Industry Reports</a><a href="/glossary" class="mb_nav_label_b w-dropdown-link">Glossary</a><a href="/events" class="mb_nav_label_b w-dropdown-link">Events</a></div></div><div class="code-embed-3 w-embed"><style> 545#w-dropdown-list-0 a { 546 text-transform:none !important; 547} 548</style></div></div><div class="mb_dropdown_col_b mb_dropdown_col_b_hide"><div class="mb_nav_eyebrow_b">Latest</div><div class="code-embed-3 w-embed"><style> 549#w-dropdown-list-0 a { 550 text-transform:none !important; 551} 552</style></div><div class="collection-list-wrapper-10 w-dyn-list"><div role="list" class="collection-list-7 w-dyn-items w-row"><div data-available-languages="en" role="listitem" class="collection-item-6 w-dyn-item w-col w-col-6"><a href="/resources/fintech-engagement-strategies" class="w-inline-block"><img loading="lazy" src="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6aba81c8a4dbb7d058c7d837_fintech%20engagement%20strategies%20(1).png" alt="" sizes="100vw" srcset="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6aba81c8a4dbb7d058c7d837_fintech%20engagement%20strategies%20(1)-p-500.png 500w, https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6aba81c8a4dbb7d058c7d837_fintech%20engagement%20strategies%20(1)-p-800.png 800w, https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6aba81c8a4dbb7d058c7d837_fintech%20engagement%20strategies%20(1)-p-1080.png 1080w, https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6aba81c8a4dbb7d058c7d837_fintech%20engagement%20strategies%20(1).png 1279w"/><div class="mb_nav_desc">5 fintech engagement strategies for higher customer retention (with real examples)</div></a></div><div data-available-languages="en" role="listitem" class="collection-item-6 w-dyn-item w-col w-col-6"><a href="/resources/card-linked-offers" class="w-inline-block"><img loading="lazy" src="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6aad2a902af939f618c45c7f_Card-linked%20offers.png" alt="" sizes="100vw" srcset="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6aad2a902af939f618c45c7f_Card-linked%20offers-p-500.png 500w, https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6aad2a902af939f618c45c7f_Card-linked%20offers-p-800.png 800w, https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6aad2a902af939f618c45c7f_Card-linked%20offers-p-1080.png 1080w, https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6aad2a902af939f618c45c7f_Card-linked%20offers.png 1279w"/><div class="mb_nav_desc">Why card-linked offers (CLOs) work and how you can use them to monetize your app</div></a></div><div data-available-languages="en" role="listitem" class="collection-item-6 w-dyn-item w-col w-col-6"><a href="/resources/mobile-game-influencer-marketing" class="w-inline-block"><img loading="lazy" src="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6aa8fa7f8096ab4b33d4c29b_Influencer%20marketing%20mobile%20games.png" alt="" sizes="100vw" srcset="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6aa8fa7f8096ab4b33d4c29b_Influencer%20marketing%20mobile%20games-p-500.png 500w, https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6aa8fa7f8096ab4b33d4c29b_Influencer%20marketing%20mobile%20games-p-800.png 800w, https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6aa8fa7f8096ab4b33d4c29b_Influencer%20marketing%20mobile%20games-p-1080.png 1080w, https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6aa8fa7f8096ab4b33d4c29b_Influencer%20marketing%20mobile%20games.png 1279w"/><div class="mb_nav_desc">Mobile game influencer marketing: What actually works, according to someone who's spent $30M finding out</div></a></div><div data-available-languages="en" role="listitem" class="collection-item-6 w-dyn-item w-col w-col-6"><a href="/resources/bank-and-credit-card-loyalty-programs" class="w-inline-block"><img loading="lazy" src="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6aa2cf5b54bf7521c3bc11d3_bank%20loyalty%20programs.png" alt="" sizes="100vw" srcset="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6aa2cf5b54bf7521c3bc11d3_bank%20loyalty%20programs-p-500.png 500w, https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6aa2cf5b54bf7521c3bc11d3_bank%20loyalty%20programs-p-800.png 800w, https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6aa2cf5b54bf7521c3bc11d3_bank%20loyalty%20programs-p-1080.png 1080w, https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6aa2cf5b54bf7521c3bc11d3_bank%20loyalty%20programs.png 1279w"/><div class="mb_nav_desc">Beyond points: Revamping bank and credit card loyalty programs in todayâs market</div></a></div><div data-available-languages="en" role="listitem" class="collection-item-6 w-dyn-item w-col w-col-6"><a href="/resources/connections-live-2026" class="w-inline-block"><img loading="lazy" src="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6a96e3ac75024ae7d192974f_Connections%20Live%202026%20hero%20image%2
5520(1).avif" alt="" sizes="100vw" srcset="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6a96e3ac75024ae7d192974f_Connections%20Live%202026%20hero%20image%20(1)-p-500.avif 500w, https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6a96e3ac75024ae7d192974f_Connections%20Live%202026%20hero%20image%20(1)-p-800.avif 800w, https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6a96e3ac75024ae7d192974f_Connections%20Live%202026%20hero%20image%20(1)-p-1080.avif 1080w, https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6a96e3ac75024ae7d192974f_Connections%20Live%202026%20hero%20image%20(1).avif 1417w"/><div class="mb_nav_desc">Connections Live 2026 highlights: Bringing the power of rewarded to fuel and convenience brands</div></a></div><div data-available-languages="en" role="listitem" class="collection-item-6 w-dyn-item w-col w-col-6"><a href="/resources/fuel-case-study-sinclair-oil" class="w-inline-block"><img loading="lazy" src="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6a79ed25ec8062230b7e99e1_2026-05_LoyaltyPlay-Blog_SinclairOil_Header%20(1).avif" alt="" sizes="100vw" srcset="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6a79ed25ec8062230b7e99e1_2026-05_LoyaltyPlay-Blog_SinclairOil_Header%20(1)-p-500.avif 500w, https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6a79ed25ec8062230b7e99e1_2026-05_LoyaltyPlay-Blog_SinclairOil_Header%20(1)-p-800.avif 800w, https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6a79ed25ec8062230b7e99e1_2026-05_LoyaltyPlay-Blog_SinclairOil_Header%20(1)-p-1080.avif 1080w, https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6a79ed25ec8062230b7e99e1_2026-05_LoyaltyPlay-Blog_SinclairOil_Header%20(1)-p-1600.avif 1600w, https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6a79ed25ec8062230b7e99e1_2026-05_LoyaltyPlay-Blog_SinclairOil_Header%20(1).avif 2048w"/><div class="mb_nav_desc">Fuelling return trips: How Sinclair Oil drove 42% more visits and 9.7% more fuel purchases with LoyaltyPlay</div></a></div><div data-available-languages="EN" role="listitem" class="collection-item-6 w-dyn-item w-col w-col-6"><a href="/resources/c-store-fuel-customer-loyalty-programs" class="w-inline-block"><img loading="lazy" src="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6a98704198aea4d37df3d329_C-store%20banner%20final(1)(1).avif" alt="" sizes="100vw" srcset="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6a98704198aea4d37df3d329_C-store%20banner%20final(1)(1)-p-500.avif 500w, https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6a98704198aea4d37df3d329_C-store%20banner%20final(1)(1)-p-800.avif 800w, https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6a98704198aea4d37df3d329_C-store%20banner%20final(1)(1)-p-1080.avif 1080w, https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6a98704198aea4d37df3d329_C-store%20banner%20final(1)(1)-p-1600.avif 1600w, https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6a98704198aea4d37df3d329_C-store%20banner%20final(1)(1)-p-2000.avif 2000w, https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6a98704198aea4d37df3d329_C-store%20banner%20final(1)(1).avif 2500w"/><div class="mb_nav_desc">Building fuel & c-store loyalty that lasts: A new approach for operators </div></a></div><div data-available-languages="en,zh,ja,ko" role="listitem" class="collection-item-6 w-dyn-item w-col w-col-6"><a href="/resources/igg-case-study" class="w-inline-block"><img loading="lazy" src="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6a84665520aa2b6dc6ebdd96_2026-07_CaseStudy_IGG-Doomsday_Blog-Banner%20(1).avif" alt="" sizes="100vw" srcset="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6a84665520aa2b6dc6ebdd96_2026-07_CaseStudy_IGG-Doomsday_Blog-Banner%20(1)-p-500.avif 500w, https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6a84665520aa2b6dc6ebdd96_2026-07_CaseStudy_IGG-Doomsday_Blog-Banner%20(1)-p-800.avif 800w, https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6a84665520aa2b6dc6ebdd96_2026-07_CaseStudy_IGG-Doomsday_Blog-Banner%20(1)-p-1080.avif 1080w, https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6a84665520aa2b6dc6ebdd96_2026-07_CaseStudy_IGG-Doomsday_Blog-Banner%20(1).avif 1417w"/><div class="mb_nav_desc">IGG partners with Mistplay to unlock 300% install growth for Doomsday: Last Survivors in Japan</div></a></div><div data-available-languages="en,ja,ko" role="listitem" class="collection-item-6 w-dyn-item w-col w-col-6"><a href="/resources/fintech-gamification" class="w-inline-block"><img loading="lazy" src="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6a8339115856aa68a0ca37f6_Fintech%20Gamification%20Blog%20B
552anner.avif" alt="" sizes="100vw" srcset="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6a8339115856aa68a0ca37f6_Fintech%20Gamification%20Blog%20Banner-p-500.avif 500w, https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6a8339115856aa68a0ca37f6_Fintech%20Gamification%20Blog%20Banner-p-800.avif 800w, https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6a8339115856aa68a0ca37f6_Fintech%20Gamification%20Blog%20Banner-p-1080.avif 1080w, https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6a8339115856aa68a0ca37f6_Fintech%20Gamification%20Blog%20Banner-p-1600.avif 1600w, https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6a8339115856aa68a0ca37f6_Fintech%20Gamification%20Blog%20Banner.avif 2000w"/><div class="mb_nav_desc">How gamification can turn your fintech app into a daily app</div></a></div><div data-available-languages="en,zh,ja,ko" role="listitem" class="collection-item-6 w-dyn-item w-col w-col-6"><a href="/resources/chinajoy-2026-highlights" class="w-inline-block"><img loading="lazy" src="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6a7c7675206acc5b8a2309dd_Blog%20banner%20(1).avif" alt="" sizes="100vw" srcset="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6a7c7675206acc5b8a2309dd_Blog%20banner%20(1)-p-500.avif 500w, https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6a7c7675206acc5b8a2309dd_Blog%20banner%20(1)-p-800.avif 800w, https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6a7c7675206acc5b8a2309dd_Blog%20banner%20(1)-p-1080.avif 1080w, https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744ccf/6a7c7675206acc5b8a2309dd_Blog%20banner%20(1).avif 1417w"/><div class="mb_nav_desc">ChinaJoy 2026 highlights insights: Reshaping mobile gaming growth in peak summer</div></a></div></div></div></div></nav></div><div data-delay="0" data-hover="true" class="mb_dropdown_b w-dropdown"><div class="mb_nav_dropdown_a w-dropdown-toggle"><div href="#" class="mb_nav_dropdown_title">Company</div><div class="icon-3 w-icon-dropdown-toggle"></div></div><nav class="mb_dropdown_list_b w-dropdown-list"><div class="mb_dropdown_col_b"><div class="mb_nav_items_b"><div class="mb_nav_item_b"><a href="/about-us" class="mb_nav_label_b w-dropdown-link">About Us</a><a href="/newsroom" class="mb_nav_label_b w-dropdown-link">Newsroom</a></div></div><div class="code-embed-3 w-embed"><style> 553#w-dropdown-list-0 a { 554 text-transform:none !important; 555} 556</style></div></div></nav></div><div class="code-embed-4 w-embed"><style> 557nav#w-dropdown-list-3 { 558 width: max-content !important; 559} 560nav#w-dropdown-list-2 { 561 right: 0; 562 left: auto; 563} 564@media (max-width: 1645px) { 565 .dropdown-list.resource-styling.w--open { 566 flex-flow:column !important; 567 width:35rem; 568 justify-content:left; 569 } 570 .container-28 { 571 width: 100% !important; 572 } 573} 574</style></div></div></nav></div><div class="mb_nav_cta_wrapper_b"><div data-delay="300" data-hover="true" class="wg-dropdown-1 w-dropdown"><nav class="wg-dd-1-list wg-dropdown-link-flag w-dropdown-list"><a id="lang-fr" lang="fr" href="#" class="wg-dropdown-1-link-2 w-inline-block"><div class="wg-selector-text-wrapper"><div class="wg-flag"><img alt="french flag icon" src="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/67ae5a0c0c4e8738d074501b_FR.svg" class="wg-flag-ico"/></div><div class="txt-m txt-medium mb_text_lang_dropdown">FR</div></div></a><a id="lang-ko" lang="ko" href="#" class="wg-dropdown-1-link-2 w-inline-block"><div class="wg-selector-text-wrapper"><div class="wg-flag"><img alt="Korean flag icon" src="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/67ae5a0c0c4e8738d074501e_KR.svg" class="wg-flag-ico"/></div><div class="txt-m txt-medium mb_text_lang_dropdown">KO</div></div></a><a id="lang-ko" lang="de" href="#" class="wg-dropdown-1-link-2 w-inline-block"><div class="wg-selector-text-wrapper"><div class="wg-flag"><img alt="German flag icon" src="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/67ae5a0c0c4e8738d074501a_GE.svg" class="wg-flag-ico"/></div><div class="txt-m txt-medium mb_text_lang_dropdown">DE</div></div></a><a id="lang-zh" lang="zh" href="#" class="wg-dropdown-1-link-2 w-inline-block"><div class="wg-selector-text-wrapper"><div class="wg-flag"><img alt="" src="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/67ae5a0c0c4e8738d0745140_CN_Flag.svg" class="wg-flag-ico"/></div><div class="txt-m txt-medium mb_text_lang_dropdown">
574ZH</div></div></a></nav></div><div class="wg-element-wrapper sw6"><div class="mb_nav_embed w-embed w-script"><!-- Language Redirect Banner --> 575<div class="lang-redirect-banner" id="lang-redirect-banner" style="display: none;"> 576 <div class="banner-content"> 577 <span class="banner-text">This article is not yet available in your selected language. You are viewing the English version.</span> 578 <button class="banner-close" aria-label="Close banner">×</button> 579 </div> 580</div> 581 582<!-- <style> 583h1.mb_h1.mb_text_primary { 584 word-break: keep-all; 585 overflow-wrap: break-word; 586} 587html[lang="ja"] h1.mb_h1.mb_text_primary { 588 font-size: clamp(2.5rem, 6vw, 5rem); 589} 590</style> --> 591<!-- Fix JA word breaks -->
592<script> 593 const isJa = location.hostname.startsWith('ja.') 594 || new URLSearchParams(location.search).get('lang') === 'ja'; 595 if (isJa && location.pathname.startsWith('/resources') && location.pathname !== '/resources/locone-loyaltyplay-case-study') { 596 const s = document.createElement('script'); 597 s.src = 'https://cdn.jsdelivr.net/npm/[email protected]/bundle/budoux-ja.min.js'; 598 s.defer = true; 599 s.onload = () => { 600 const apply = () => { 601 document.querySelectorAll('h1, .hero h1, .blog-post-title').forEach(el => { 602 const text = el.textContent.trim(); 603 if (!text || el.querySelector('budoux-ja')) return; 604 const b = document.createElement('budoux-ja'); 605 b.textContent = text; 606 el.textContent = ''; 607 el.appendChild(b); 608 }); 609 }; 610 if (document.readyState === 'loading') { 611 document.addEventListener('DOMContentLoaded', apply); 612 } else { 613 apply(); 614 } 615 }; 616 document.head.appendChild(s); 617 618 const style = document.createElement('style'); 619 style.textContent = ` 620 h1, .hero h1, .blog-post-title { 621 word-break: keep-all; 622 overflow-wrap: anywhere; 623 line-break: strict; 624 } 625 `; 626 document.head.appendChild(style); 627 } 628</script>
628 629 630<!-- KO: site-wide word-break rules -->
631<script> 632 const isKo = location.hostname.startsWith('ko.') 633 || new URLSearchParams(location.search).get('lang') === 'ko'; 634 if (isKo) { 635 const koStyle = document.createElement('style'); 636 koStyle.textContent = ` 637 html { 638 word-break: keep-all; 639 overflow-wrap: break-word; 640 } 641 `; 642 document.head.appendChild(koStyle); 643 } 644</script>
644 645 646<style> 647 .article-richtext li { 648 color: #5b5c81 !important; 649 } 650 p.mb_p.mb_p-sm.mb_text_primary.mb_text_center { 651 margin-top: 1rem; 652 } 653 654 .mb_card_a.mb_border_primary p { 655 line-height: 1.7; 656 } 657 .mb_h3.mb_text_primary.mb_text_center.mb_text_no-margin.mb_card_b_title { 658 line-height: 1.3; 659 } 660 .mb_p_sm.mb_text_primary.mb_text_center { 661 line-height: 1.3; 662} 663 664 address#lang-en div { 665 color: white; 666 } 667 668 .language-dropdown { 669 position: relative; 670 display: inline-block; 671 cursor: pointer; 672 } 673 674 .dropdown-toggle { 675 display: flex; 676 align-items: center; 677 padding: 10px; 678 border-radius: 4px; 679 } 680 681 .dropdown-toggle .flag img { 682 width: 100% !important; 683 height: 20px; 684 margin-right: 10px; 685 } 686 687 .dropdown-toggle .language-code { 688 font-size: 16px; 689 color: white; 690 } 691 692 .dropdown-list { 693 display: none; 694 position: absolute; 695 top: 100%; 696 left: 0; 697 background-color: #fff; 698 border: 1px solid #ccc; 699 border-radius: 4px; 700 box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2); 701 z-index: 1; 702 } 703 704 .language-dropdown:hover .dropdown-list { 705 display: block; 706 } 707 708 .dropdown-link { 709 display: flex; 710 align-items: center; 711 padding: 10px; 712 text-decoration: none; 713 color: #000; 714 } 715 716 .dropdown-link:hover { 717 background-color: #f1f1f1; 718 } 719 720 .dropdown-link .flag { 721 width: 30px; 722 } 723 724 .dropdown-link .flag img { 725 width: 100% !important; 726 height: 20px; 727 margin-right: 10px; 728 } 729 730 .dropdown-link .language-code { 731 font-size: 16px; 732 } 733 734 .wg-element-wrapper.sw6 { 735 width: auto !important; 736 } 737 738 .wg-dd-1-list .txt-m, 739 .wg-dd-1-list .txt-medium, 740 .wg-dd-1-list .mb_text_lang_dropdown { 741 color: black !important; 742 } 743 744 .wg-dropdown-1-link-2 .txt-m, 745 .wg-dropdown-1-link-2 .txt-medium, 746 .wg-dropdown-1-link-2 .mb_text_lang_dropdown { 747 color: black !important; 748 } 749 750 .language-current { 751 opacity: 0.5; 752 pointer-events: none; 753 background-color: #f5f5f5 !important; 754 } 755 756 .language-current .mb_text_lang_dropdown { 757 color: #999 !important; 758 } 759 760 #lang-current .txt-m, 761 #lang-current .txt-medium, 762 #lang-current #current-lang-text { 763 color: white !important; 764 } 765 766 .wg-default.weglot-container--left, 767 .wg-default.weglot-container--left .country-selector { 768 display: none; 769 } 770 771 .lang-unavailable { 772 opacity: 0.4 !important; 773 pointer-events: none !important; 774 cursor: not-allowed !important; 775 background-color: #f9f9f9 !important; 776 } 777 778 .lang-unavailable .mb_text_lang_dropdown { 779 color: #999 !important; 780 } 781 782 .lang-unavailable .wg-flag-ico { 783 filter: grayscale(100%); 784 } 785 786 /* Hide items not available in current language */ 787 .lang-hidden { 788 display: none !important; 789 } 790 791 /* Custom pagination styles */ 792 .custom-pagination { 793 display: flex; 794 justify-content: center; 795 align-items: center; 796 gap: 10px; 797 margin-top: 30px; 798 padding: 20px; 799 } 800 801 .pagination-btn { 802 padding: 10px 20px; 803 border: 1px solid #ddd; 804 border-radius: 6px; 805 text-decoration: none; 806 color: #333; 807 background: #fff; 808 transition: all 0.2s; 809 } 810 811 .pagination-btn:hover { 812 background: #f5f5f5; 813 border-color: #999; 814 } 815 816 .pagination-info { 817 padding: 10px 20px; 818 font-weight: 500; 819 } 820 821 .no-results-message { 822 text-align: center; 823 padding: 60px 20px; 824 color: #666; 825 font-size: 18px; 826 } 827 828 /* Redirect Banner Styles */ 829 .lang-redirect-banner { 830 position: fixed; 831 top: 0; 832 left: 0; 833 right: 0; 834 background: #1a1a2e; 835 color: #ffffff; 836 padding: 12px 20px; 837 z-index: 9999; 838 box-shadow: 0 2px 10px rgba(0,0,0,0.2); 839 } 840 841 .lang-redirect-banner .banner-content { 842 max-width: 1200px; 843 margin: 0 auto; 844 display: flex; 845 align-items: center; 846 justify-content: center; 847 gap: 12px; 848 } 849 850 .lang-redirect-banner .banner-text { 851 font-size: 14px; 852 } 853 854 .lang-redirect-banner .banner-close { 855 background: none; 856 border: none; 857 color: #ffffff; 858 font-size: 24px; 859 cursor: pointer; 860 padding: 0 8px; 861 opacity: 0.7; 862 line-height: 1; 863 } 864
865 .lang-redirect-banner .banner-close:hover { 866 opacity: 1; 867 } 868</style> 869 870<div data-delay="300" data-hover="true" data-w-id="a78c205e-83e8-11e6-c4bb-7fd3d1591490" 871 class="wg-dropdown-1 w-dropdown" style="background-color: rgba(0, 0, 0, 0);"> 872 <address id="lang-current" class="wg-dd-1-togle-2 w-dropdown-toggle" aria-controls="w-dropdown-list-3" 873 aria-haspopup="menu" aria-expanded="false" role="button" tabindex="0"> 874 <div class="wg-selector-text-wrapper v-mg-xxxs"> 875 <div class="wg-flag"> 876 <img id="current-flag" alt="Current language flag" 877 src="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/67ae5a0c0c4e8738d0745029_UK.svg" 878 class="wg-flag-ico"> 879 </div> 880 <div id="current-lang-text" class="txt-m txt-medium">EN</div> 881 </div> 882 </address> 883 <nav class="wg-dd-1-list wg-dropdown-link-flag w-dropdown-list" id="w-dropdown-list-3" aria-labelledby="lang-current"> 884 </nav> 885</div> 886
887<script> 888// Enhanced Mistplay Language Selector with Language Visibility Control 889(function () { 890 'use strict'; 891 892 // Note: On production, we work WITH Weglot instead of fighting its URL interception 893 // We use Weglot.switchTo('en') to show English content while staying on the language subdomain 894 895 document.addEventListener('DOMContentLoaded', function() { 896 const STAGING_DOMAINS = ['webflow.io', 'webflow.com']; 897 const isStaging = STAGING_DOMAINS.some(d => window.location.hostname.includes(d)); 898 899 const LANGUAGE_CONFIG = { 900 'en': { 901 domain: 'business.mistplay.com', 902 flag: 'https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/67ae5a0c0c4e8738d0745029_UK.svg', 903 alt: 'UK flag icon', 904 code: 'EN' 905 }, 906 'fr': { 907 domain: 'fr.business.mistplay.com', 908 flag: 'https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/67ae5a0c0c4e8738d074501b_FR.svg', 909 alt: 'French flag icon', 910 code: 'FR' 911 }, 912 'de': { 913 domain: 'de.business.mistplay.com', 914 flag: 'https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/67ae5a0c0c4e8738d074501a_GE.svg', 915 alt: 'German flag icon', 916 code: 'DE' 917 }, 918 'ko': { 919 domain: 'ko.business.mistplay.com', 920 flag: 'https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/67ae5a0c0c4e8738d074501e_KR.svg', 921 alt: 'Korean flag icon', 922 code: 'KO' 923 }, 924 'ja': { 925 domain: 'ja.business.mistplay.com', 926 flag: 'https://cdn.prod.website-files.com/5f0ca36cf0757c5e00e2ee0a/662a84fb93e86ddf145d8d7d_ja-ico.png', 927 alt: 'Japanese flag icon', 928 code: 'JA' 929 }, 930 'zh': { 931 domain: 'zh.business.mistplay.com', 932 flag: 'https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/67ae5a0c0c4e8738d0745140_CN_Flag.svg', 933 alt: 'Chinese flag icon', 934 code: 'ZH' 935 } 936 }; 937 938 const currentUrlPath = window.location.pathname; 939 const currentDomain = window.location.hostname; 940 941 const getCurrentLangFromUrl = () => { 942 if (isStaging) { 943 const urlParams = new URLSearchParams(window.location.search); 944 const langParam = urlParams.get('lang'); 945 return (langParam && LANGUAGE_CONFIG[langParam.toLowerCase()]) ? langParam.toLowerCase() : 'en'; 946 } 947 const subdomain = currentDomain.split('.')[0]; 948 return LANGUAGE_CONFIG[subdomain] ? subdomain : 'en'; 949 }; 950 951 const currentLanguage = getCurrentLangFromUrl(); 952 const currentLanguageConfig = LANGUAGE_CONFIG[currentLanguage]; 953 954 // Override top announcement banner text on ja / ko subdomains. 955 // Runs before the dropdown null-check so it still applies on pages without the selector. 956 const updateAnnouncementBanner = () => { 957 const bannerTexts = { 958 'ja': 'MAFã¨MyChipsã¯ããã®ãã³Mistplayã®ãã©ã³ãã¨ãã¦æ°ããªã¹ã¿ã¼ããåãã¾ããããã¾ã§ã¨å¤ãããªããã¼ã ã§ãããããã¯Mistplayã¨ãã¦ãµã¼ãã¹ãæä¾ãã¦ã¾ããã¾ãã', 959 'ko': 'MAFì MyChipsë ì´ì Mistplayì ì¼ë¶ì ëë¤. ìì¼ë¡ë Mistplayìì ë§ëë³´ì¸ì' 960 }; 961 const newText = bannerTexts[currentLanguage]; 962 if (!newText) return; 963 document.querySelectorAll('.mb_link_banner_desktop, .mb_link_banner_mobile').forEach(el => { 964 el.textContent = newText; 965 }); 966 }; 967 updateAnnouncementBanner(); 968 969 const currentFlag = document.getElementById('current-flag'); 970 const currentLangText = document.getElementById('current-lang-text'); 971 const dropdownList = document.getElementById('w-dropdown-list-3'); 972 973 if (!dropdownList) { 974 console.log('Language dropdown not found'); 975 return; 976 } 977 978 const getAvailableLanguages = () => { 979 const articleContainer = document.querySelector('[data-article-languages]'); 980 if (!articleContainer) return null; 981 const availableLangs = articleContainer.getAttribute('data-article-languages') || 'en'; 982 return availableLangs.split(',').map(l => l.trim().toLowerCase()); 983 }; 984 985 const isLanguageAvailable = (lang, availableLangs) => { 986 if (!availableLangs) return true; 987 return availableLangs.includes(lang); 988 }; 989 990 // Set current language display 991 if (currentFlag && currentLangText && currentLanguageConfig) { 992 currentFlag.src = currentLanguageConfig.flag; 993 currentFlag.alt = currentLanguageConfig.alt; 994 currentLangText.innerHTML = currentLanguageConfig.code; 995 } 996 997 const availableLangs = getAvailableLanguages(); 998 999 // Populate dropdown 1000 Object.keys(LANGUAGE_CONFIG).forEach(lang => { 1001 const langConfig = LANGUAGE_CONFIG[lang]; 1002 const langItem = document.createElement('a'); 1003 langItem.className = 'wg-dropdown-1-link-2 wg-dd-1-list-item w-dropdown-link'; 1004 langItem.setAttribute('data-lang', lang); 1005 1006 const isAvailable = isLanguageAvailable(lang, availableLangs); 1007 1008 if (!isAvailable) { 1009 langItem.classList.add('lang-unavailable'); 1010 langItem.setAttribute('title', 'This article is not available in this language'); 1011 langItem.setAttribute('aria-disabled', 'true'); 1012 } else { 1013 if (isStaging) { 1014 const url = new URL(window.location.href); 1015 if (lang === 'en') { 1016 url.searchParams.delete('lang'); 1017 } else { 1018 url.searchParams.set('lang', lang); 1019 } 1020 langItem.href = url.toString(); 1021 } else { 1022 if (lang === 'en') { 1023 langItem.href = `https://business.mistplay.com${currentUrlPath}`; 1024 } else { 1025 langItem.href = `https://${langConfig.domain}${currentUrlPath}`; 1026 } 1027 } 1028 } 1029 1030 langItem.setAttribute('aria-label', `Switch to ${langConfig.code}${!isAvailable ? ' (not available)' : ''}`); 1031 langItem.innerHTML = ` 1032 <div class="wg-selector-text-wrapper"> 1033 <div class="wg-flag"> 1034 <img src="${langConfig.flag}" alt="${langConfig.alt}" class="wg-flag-ico"> 1035 </div> 1036 <div class="txt-m txt-medium mb_text_lang_dropdown">${langConfig.code}</div> 1037 </div> 1038 `; 1039 dropdownList.appendChild(langItem); 1040 }); 1041 1042 // Redirect handler for unavailable languages 1043 const checkAndRedirect = () => { 1044 // Skip if already redirected (prevent loops)
1045 const urlParams = new URLSearchParams(window.location.search); 1046 if (urlParams.get('redirectedFrom')) return; 1047 1048 const articleContainer = document.querySelector('[data-article-languages]'); 1049 if (!articleContainer) return; 1050 1051 const articleLangs = articleContainer.getAttribute('data-article-languages') || 'en'; 1052 const langArray = articleLangs.split(',').map(l => l.trim().toLowerCase()).filter(Boolean); 1053 1054 if (langArray.includes(currentLanguage)) return; 1055 1056 // Redirect to the first language listed in available-languages. 1057 const targetLang = langArray[0] || 'en'; 1058 const targetConfig = LANGUAGE_CONFIG[targetLang]; 1059 if (!targetConfig) return; 1060 1061 console.log('[LangControl] Article not available in ' + currentLanguage + ', switching to ' + targetLang); 1062 1063 if (isStaging) { 1064 // For staging, redirect with URL param 1065 const url = new URL(window.location.href); 1066 if (targetLang === 'en') { 1067 url.searchParams.delete('lang'); 1068 } else { 1069 url.searchParams.set('lang', targetLang); 1070 } 1071 url.searchParams.set('redirectedFrom', currentLanguage); 1072 window.location.href = url.toString(); 1073 } else { 1074 // Production: use window.name to pass data across subdomain navigation. 1075 window.name = JSON.stringify({ 1076 langRedirect: { 1077 from: currentLanguage, 1078 path: currentUrlPath, 1079 time: Date.now() 1080 } 1081 }); 1082 1083 if (currentLanguage !== 'en' && targetLang === 'en') { 1084 // Existing pattern: swap non-EN â EN via Weglot on the current subdomain. 1085 console.log('[LangControl] Set window.name, now calling Weglot.switchTo(en)'); 1086 const switchToEnglish = () => { 1087 if (typeof Weglot !== 'undefined' && Weglot.switchTo) { 1088 Weglot.switchTo('en'); 1089 } 1090 }; 1091 if (typeof Weglot !== 'undefined' && Weglot.switchTo) { 1092 switchToEnglish(); 1093 } else { 1094 const checkWeglot = setInterval(() => { 1095 if (typeof Weglot !== 'undefined' && Weglot.switchTo) { 1096 clearInterval(checkWeglot); 1097 switchToEnglish(); 1098 } 1099 }, 100); 1100 setTimeout(() => clearInterval(checkWeglot), 5000); 1101 } 1102 } else { 1103 // Any other case (EN â non-EN, or non-EN â different non-EN): navigate directly to target subdomain. 1104 window.location.href = 'https://' + targetConfig.domain + currentUrlPath; 1105 } 1106 } 1107 }; 1108 1109 // Filter and paginate listing page items by language 1110 const filterAndPaginateItems = () => { 1111 const listingPages = ['/resources', '/article-tags/', '/reports']; 1112 const isListingPage = listingPages.some(p => currentUrlPath.startsWith(p) || currentUrlPath === p); 1113 1114 if (!isListingPage) return; 1115 1116 const ITEMS_PER_PAGE = 9; 1117 // Only target main content items (not nav dropdowns or hero sections) 1118 const mainContainer = document.querySelector('.w-container .w-dyn-list, .mb_container .w-dyn-list'); 1119 if (!mainContainer) return; 1120 const allItems = mainContainer.querySelectorAll('.w-dyn-item[data-available-languages]'); 1121 1122 // Filter items based on language. 1123 // Empty data-available-languages == English only. 1124 // A non-empty list means the item is visible only in those languages 1125 // (so a "ja"-only item is hidden on the English listing). 1126 const filteredItems = []; 1127 allItems.forEach((item) => { 1128 const availableLangs = item.getAttribute('data-available-languages'); 1129 1130 if (!availableLangs || availableLangs.trim() === '') { 1131 if (currentLanguage === 'en') { 1132 filteredItems.push(item); 1133 } else { 1134 item.classList.add('lang-hidden'); 1135 } 1136 } else { 1137 const langArray = availableLangs.split(',').map(l => l.trim().toLowerCase()); 1138 if (langArray.includes(currentLanguage)) { 1139 filteredItems.push(item); 1140 } else { 1141 item.classList.add('lang-hidden'); 1142 } 1143 } 1144 }); 1145 1146 // Sort by data-custom-date (descending). Items missing the attribute 1147 // sort to the end, preserving DOM order among themselves. 1148 filteredItems.sort((a, b) => { 1149 const aRaw = (a.getAttribute('data-custom-date') || '').trim(); 1150 const bRaw = (b.getAttribute('data-custom-date') || '').trim(); 1151 const aTime = aRaw ? Date.parse(aRaw) : NaN; 1152 const bTime = bRaw ? Date.parse(bRaw) : NaN; 1153 const aValid = !isNaN(aTime); 1154 const bValid = !isNaN(bTime);
1155 if (aValid && bValid) return bTime - aTime; 1156 if (aValid) return -1; 1157 if (bValid) return 1; 1158 return 0; 1159 }); 1160 1161 // Reorder DOM so paginated slices render in sorted order. 1162 const sortParent = filteredItems[0] && filteredItems[0].parentNode; 1163 if (sortParent) { 1164 filteredItems.forEach(item => sortParent.appendChild(item)); 1165 } 1166 1167 1168 // If no items or only one page, no pagination needed 1169 if (filteredItems.length === 0) { 1170 hideWebflowPagination(); 1171 showNoResultsMessage(); 1172 return; 1173 } 1174 1175 // Get current page from URL 1176 const urlParams = new URLSearchParams(window.location.search); 1177 let currentPage = parseInt(urlParams.get('page')) || 1; 1178 const totalPages = Math.ceil(filteredItems.length / ITEMS_PER_PAGE); 1179 1180 // Clamp to valid range 1181 if (currentPage > totalPages) currentPage = totalPages; 1182 if (currentPage < 1) currentPage = 1; 1183 1184 // Hide all filtered items first 1185 filteredItems.forEach(item => item.classList.add('lang-hidden')); 1186 1187 // Show only items for current page 1188 const startIndex = (currentPage - 1) * ITEMS_PER_PAGE; 1189 const endIndex = startIndex + ITEMS_PER_PAGE; 1190 filteredItems.slice(startIndex, endIndex).forEach(item => { 1191 item.classList.remove('lang-hidden'); 1192 }); 1193 1194 // Update pagination UI 1195 updatePaginationUI(currentPage, totalPages, filteredItems.length); 1196 }; 1197 1198 const hideWebflowPagination = () => { 1199 const webflowPagination = document.querySelector('.w-pagination-wrapper'); 1200 if (webflowPagination) { 1201 webflowPagination.style.display = 'none'; 1202 } 1203 }; 1204 1205 const showNoResultsMessage = () => { 1206 const container = document.querySelector('.w-dyn-list'); 1207 if (container && !document.querySelector('.no-results-message')) { 1208 const msg = document.createElement('div'); 1209 msg.className = 'no-results-message'; 1210 msg.style.cssText = 'text-align: center; padding: 40px; color: #666;'; 1211 msg.textContent = 'No articles available in this language yet.'; 1212 container.appendChild(msg); 1213 } 1214 }; 1215 1216 const updatePaginationUI = (currentPage, totalPages, totalItems) => { 1217 // Hide Webflow's pagination 1218 hideWebflowPagination(); 1219 1220 // Remove existing custom pagination 1221 const existingPagination = document.querySelector('.custom-pagination'); 1222 if (existingPagination) existingPagination.remove(); 1223 1224 // Don't show pagination if only 1 page 1225 if (totalPages <= 1) return; 1226 1227 // Find the main collection list (not nav dropdowns) 1228 const collectionList = document.querySelector('.w-container .w-dyn-list, .mb_container .w-dyn-list'); 1229 if (!collectionList) { 1230 console.log('Collection list not found for pagination'); 1231 return; 1232 } 1233 1234 // Create pagination container 1235 const paginationDiv = document.createElement('div'); 1236 paginationDiv.className = 'custom-pagination'; 1237 paginationDiv.style.cssText = 'display: flex; justify-content: center; align-items: center; gap: 10px; margin-top: 30px; padding: 20px;'; 1238 1239 // Previous button 1240 const prevBtn = document.createElement('a'); 1241 prevBtn.className = 'pagination-btn pagination-prev'; 1242 prevBtn.textContent = 'â Previous'; 1243 prevBtn.style.cssText = 'padding: 8px 16px; border: 1px solid #ccc; border-radius: 4px; text-decoration: none; color: #333; cursor: pointer;'; 1244 if (currentPage === 1) { 1245 prevBtn.style.opacity = '0.5'; 1246 prevBtn.style.pointerEvents = 'none'; 1247 } else { 1248 prevBtn.href = updateUrlParam('page', currentPage - 1); 1249 } 1250 1251 // Page info 1252 const pageInfo = document.createElement('span'); 1253 pageInfo.className = 'pagination-info'; 1254 pageInfo.textContent = `${currentPage} / ${totalPages}`; 1255 pageInfo.style.cssText = 'padding: 8px 16px; font-weight: 500;'; 1256 1257 // Next button 1258 const nextBtn = document.createElement('a'); 1259 nextBtn.className = 'pagination-btn pagination-next';
1260 nextBtn.textContent = 'Next â'; 1261 nextBtn.style.cssText = 'padding: 8px 16px; border: 1px solid #ccc; border-radius: 4px; text-decoration: none; color: #333; cursor: pointer;'; 1262 if (currentPage === totalPages) { 1263 nextBtn.style.opacity = '0.5'; 1264 nextBtn.style.pointerEvents = 'none'; 1265 } else { 1266 nextBtn.href = updateUrlParam('page', currentPage + 1); 1267 } 1268 1269 paginationDiv.appendChild(prevBtn); 1270 paginationDiv.appendChild(pageInfo); 1271 paginationDiv.appendChild(nextBtn); 1272 1273 collectionList.parentNode.insertBefore(paginationDiv, collectionList.nextSibling); 1274 }; 1275 1276 const updateUrlParam = (key, value) => { 1277 const url = new URL(window.location.href); 1278 url.searchParams.set(key, value); 1279 return url.toString(); 1280 }; 1281 1282 filterAndPaginateItems(); 1283 1284 // Filter nav dropdown items by language and show only first N available 1285 const filterNavDropdownItems = () => { 1286 const MAX_VISIBLE_NAV_ITEMS = 2; // Number of items to show in dropdown 1287 1288 // Find all nav dropdowns with collection lists 1289 const navDropdowns = document.querySelectorAll('.mb_dropdown_b .w-dyn-list, nav .w-dyn-list'); 1290 1291 navDropdowns.forEach(dropdownList => { 1292 const items = dropdownList.querySelectorAll('.w-dyn-item[data-available-languages]'); 1293 if (items.length === 0) return; 1294 1295 let visibleCount = 0; 1296 1297 items.forEach(item => { 1298 const availableLangs = item.getAttribute('data-available-languages'); 1299 let isAvailable; 1300 1301 if (!availableLangs || availableLangs.trim() === '') { 1302 // Empty = English only 1303 isAvailable = currentLanguage === 'en'; 1304 } else { 1305 const langArray = availableLangs.split(',').map(l => l.trim().toLowerCase()); 1306 isAvailable = langArray.includes(currentLanguage); 1307 } 1308 1309 // Show item if available and under the limit 1310 if (isAvailable && visibleCount < MAX_VISIBLE_NAV_ITEMS) { 1311 item.classList.remove('lang-hidden'); 1312 visibleCount++; 1313 } else { 1314 item.classList.add('lang-hidden'); 1315 } 1316 }); 1317 }); 1318 }; 1319 1320 filterNavDropdownItems(); 1321 1322 // Filter hero/featured sections - show first available item 1323 const filterHeroSections = () => { 1324 const MAX_VISIBLE_HERO_ITEMS = 1; // Usually just 1 featured item 1325 1326 // Find hero sections by parent class 1327 const heroSections = document.querySelectorAll('.mb_hero_b .w-dyn-list, [class*="hero"] .w-dyn-list, [class*="featured"] .w-dyn-list'); 1328 1329 heroSections.forEach(heroList => { 1330 const items = heroList.querySelectorAll('.w-dyn-item[data-available-languages]'); 1331 if (items.length === 0) return; 1332 1333 let visibleCount = 0; 1334 1335 items.forEach(item => { 1336 const availableLangs = item.getAttribute('data-available-languages'); 1337 let isAvailable; 1338 1339 if (!availableLangs || availableLangs.trim() === '') { 1340 // Empty = English only 1341 isAvailable = currentLanguage === 'en'; 1342 } else { 1343 const langArray = availableLangs.split(',').map(l => l.trim().toLowerCase()); 1344 isAvailable = langArray.includes(currentLanguage); 1345 } 1346 1347 // Show item if available and under the limit 1348 if (isAvailable && visibleCount < MAX_VISIBLE_HERO_ITEMS) { 1349 item.classList.remove('lang-hidden'); 1350 visibleCount++; 1351 } else { 1352 item.classList.add('lang-hidden'); 1353 } 1354 }); 1355 1356 // If no items available, optionally hide the whole section 1357 if (visibleCount === 0) { 1358 heroList.closest('.mb_hero_b, [class*="hero"], [class*="featured"]')?.classList.add('lang-hidden'); 1359 } 1360 }); 1361 }; 1362 1363 filterHeroSections(); 1364 1365 // Filter content-page CMS lists whose lang/date attributes live on a child 1366 // (e.g. .mb_card_c) rather than on the .w-dyn-item wrapper. 1367 // Runs on non-listing pages (listings already handled by filterAndPaginateItems). 1368 const filterCardSections = () => { 1369 const listingPages = ['/resources', '/article-tags/', '/reports']; 1370 if (listingPages.some(p => currentUrlPath.startsWith(p) || currentUrlPath === p)) return; 1371 1372 const excludeSelector = '.mb_dropdown_b, nav, .mb_hero_b, [class*="hero"], [class*="featured"]'; 1373 const carriers = document.querySelectorAll('.w-dyn-item [data-available-languages]'); 1374 if (carriers.length === 0) return; 1375 1376 // Group entries by their parent .w-dyn-list 1377 const lists = new Map();
1378 carriers.forEach(carrier => { 1379 const item = carrier.closest('.w-dyn-item'); 1380 const list = item && item.closest('.w-dyn-list'); 1381 if (!list || !item) return; 1382 if (list.closest(excludeSelector)) return; // nav / hero handled elsewhere 1383 if (!lists.has(list)) lists.set(list, []); 1384 lists.get(list).push({ item, carrier }); 1385 }); 1386 1387 lists.forEach((entries, list) => { 1388 const filtered = []; 1389 entries.forEach(({ item, carrier }) => { 1390 const langsAttr = (carrier.getAttribute('data-available-languages') || '').trim(); 1391 const dateStr = (carrier.getAttribute('data-custom-date') || '').trim(); 1392 const dateOk = dateStr && !isNaN(Date.parse(dateStr)); 1393 const langOk = langsAttr === '' 1394 ? currentLanguage === 'en' 1395 : langsAttr.split(',').map(s => s.trim().toLowerCase()).includes(currentLanguage); 1396 1397 if (langOk && dateOk) { 1398 item.classList.remove('lang-hidden'); 1399 filtered.push({ item, carrier }); 1400 } else { 1401 item.classList.add('lang-hidden'); 1402 } 1403 }); 1404 1405 // Sort newest-first by data-custom-date 1406 filtered.sort((a, b) => Date.parse(b.carrier.getAttribute('data-custom-date')) 1407 - Date.parse(a.carrier.getAttribute('data-custom-date'))); 1408 1409 // Cap each section at 3 visible items; hide the overflow 1410 const MAX_ITEMS_PER_SECTION = 3; 1411 const visible = filtered.slice(0, MAX_ITEMS_PER_SECTION); 1412 filtered.slice(MAX_ITEMS_PER_SECTION).forEach(({ item }) => item.classList.add('lang-hidden')); 1413 1414 // Reorder DOM so the visible top-N render in sorted order 1415 const parent = visible[0] && visible[0].item.parentNode; 1416 if (parent) visible.forEach(({ item }) => parent.appendChild(item)); 1417 1418 // Hide the surrounding section if nothing matched 1419 if (visible.length === 0) { 1420 const section = list.closest('section'); 1421 if (section) section.classList.add('lang-hidden'); 1422 } 1423 }); 1424 }; 1425 1426 filterCardSections(); 1427 1428 checkAndRedirect(); 1429 1430 // Show banner if redirected from unavailable language 1431 const showRedirectBanner = () => { 1432 const urlParams = new URLSearchParams(window.location.search); 1433 1434 // Check URL param (staging) or cookie (production with Weglot) 1435 let redirectedFrom = urlParams.get('redirectedFrom'); 1436 1437 // For production: check window.name (persists across subdomain navigation) 1438 console.log('[LangControl] showRedirectBanner - URL param:', redirectedFrom); 1439 console.log('[LangControl] showRedirectBanner - window.name:', window.name); 1440 console.log('[LangControl] showRedirectBanner - Current path:', currentUrlPath); 1441 1442 if (!redirectedFrom && window.name) { 1443 try { 1444 const windowData = JSON.parse(window.name); 1445 if (windowData.langRedirect) { 1446 const redirectInfo = windowData.langRedirect; 1447 console.log('[LangControl] Parsed window.name:', redirectInfo); 1448 if (redirectInfo.path === currentUrlPath) { 1449 console.log('[LangControl] Path matches, using window.name redirect info'); 1450 redirectedFrom = redirectInfo.from; 1451 // Clear window.name 1452 window.name = ''; 1453 } 1454 } 1455 } catch (e) { 1456 // window.name wasn't our JSON data, ignore 1457 console.log('[LangControl] window.name not valid JSON (normal if no redirect)'); 1458 } 1459 } 1460 1461 // Clean up URL immediately (staging) 1462 if (urlParams.get('redirectedFrom')) { 1463 const cleanUrl = new URL(window.location.href); 1464 cleanUrl.searchParams.delete('redirectedFrom'); 1465 window.history.replaceState({}, '', cleanUrl.toString()); 1466 } 1467 1468 // Check if we already showed banner for this redirect 1469 const bannerKey = 'langBannerShown_' + window.location.pathname; 1470 if (!redirectedFrom || sessionStorage.getItem(bannerKey)) return; 1471 1472 const banner = document.getElementById('lang-redirect-banner'); 1473 1474 if (banner) { 1475 const langNames = { 1476 'en': 'English', 1477 'fr': 'French', 1478 'de': 'German', 1479 'ko': 'Korean', 1480 'ja': 'Japanese', 1481 'zh': 'Chinese' 1482 }; 1483 1484 const fromName = langNames[redirectedFrom] || redirectedFrom.toUpperCase(); 1485 const currentName = langNames[currentLanguage] || currentLanguage.toUpperCase(); 1486 const textEl = banner.querySelector('.banner-text'); 1487 if (textEl) { 1488 textEl.textContent = `This article is not yet available in ${fromName}. You are viewing the ${currentName} version.`; 1489 } 1490 1491 banner.style.display = 'block'; 1492 document.body.style.paddingTop = banner.offsetHeight + 'px'; 1493 1494 // Mark banner as shown for this page 1495 sessionStorage.setItem(bannerKey, 'true'); 1496 } 1497 }; 1498 1499 // Close banner handler 1500 const closeBanner = document.querySelector('.banner-close'); 1501 if (closeBanner) { 1502 closeBanner.addEventListener('click', function() { 1503 const banner = document.getElementById('lang-redirect-banner'); 1504 if (banner) { 1505 banner.style.display = 'none'; 1506 document.body.style.paddingTop = ''; 1507 } 1508 }); 1509 } 1510 1511 showRedirectBanner(); 1512 }); 1513})(); 1514</script>
1514 1515</div></div><a href="#" id="contact_form" class="mb_button_secondary_nav w-button">Contact us</a></div><div class="w-embed"><style> 1516 1517 /* center nav dropdown content */ 1518 1519 /* for desktop */ 1520 @media (min-width: 992px) { 1521 .mb_dropdown_list_b { 1522 left: 50% !important; 1523 right: auto !important; 1524 transform: translateX(-50%); 1525 } 1526 } 1527 1528 /* for tablet, mobile */ 1529 @media (max-width: 991px) { 1530 .mb_dropdown_list_b { 1531 left: 0 !important; 1532 right: auto !important; 1533 transform: none !important; 1534 } 1535 } 1536 1537</style></div></div></section></div><section class="mb_hero_e bg_lp-brands"><div class="mb_container mb_theme_showcase"><div class="mb_hero_e_grid"><div id="w-node-_5eadc9ca-cd95-0dc0-5fd2-f914aee3a147-0698f891" class="mb_hero_e_item mb_flex_left"><h3 class="mb_h3 mb_text_primary mb_text_left">FUEL & CONVENIENCE</h3><h1 class="mb_h1_md mb_text_primary mb_text_left">Drive more fill-ups and in-store visits â with zero added cost or operational lift</h1><p class="mb_p mb_text_primary mb_text_left">Engage new loyalty members from day one, drive more fill-ups and pump-to-store visits â all layered on top of your existing program and channels. </p><div class="mb_button_wrapper"><a id="contact_form" href="#" class="mb_button_primary mb_button_full-width mb_button_sunshade w-button">Contact us</a><a data-wf--mb-button-secondary--variant="light" href="/monetize/loyaltyplay-old" class="mb_button_secondary contact_form mb_button_full-width mb_button_small w-button">Visit LoyaltyPlay</a></div></div><img src="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/6ac0148b2c1ec455fae286b2_Hero-Lockup_Fuel%26CStore.avif" loading="lazy" sizes="(max-width: 669px) 100vw, 669px" srcset="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/6ac0148b2c1ec455fae286b2_Hero-Lockup_Fuel%26CStore-p-500.avif 500w, https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/6ac0148b2c1ec455fae286b2_Hero-Lockup_Fuel%26CStore.avif 669w" alt="" class="mb_hero_e_img"/></div></div></section><section class="mb_section mb_pad_md mb_flex_center mb_theme_light"><div class="w-layout-blockcontainer mb_container w-container"><div class="mb_h3_block"><h3 class="mb_h3 mb_text_block">trusted by</h3></div><div class="w-layout-blockcontainer mb_grid mb_grid_17-17-17-17-17-17 w-container"><img src="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/69fe31ec6766c689a1b8d4b7_logo_chevron_lg.png" loading="lazy" alt=""/><img src="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/69fe31ec1a4012b3ef8e903c_logo_gomart_lg.png" loading="lazy" alt=""/><img src="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/69fe31ec92d8feec14e36c56_logo_texaco_lg.png" loading="lazy" alt=""/><img src="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/6a171edc2ff7f5b53d9e30b3_ExtraMile.avif" loading="lazy" alt=""/><img src="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/6a171e34876668f21aa1b4fb_Delek.avif" loading="lazy" width="Auto" height="Auto" alt="" class="image-191"/></div></div></section><section class="mb_section mb_pad_md mb_theme_light"><div class="w-layout-blockcontainer mb_container mb_container_sm w-container"><h2 class="mb_h2 mb_text_primary mb_text_center">How Loyaltyplay works for fuel and convenience retailers</h2><div><p class="mb_p mb_text_primary mb_text_center">LoyaltyPlay is a mobile gaming reward hub that plugs into your existing loyalty program, giving customers more ways to earn rewards towards in-store purchases and fuel savings. Trusted by <strong>20+</strong> fuel and c-store retailers and reaching <strong>1B+</strong> impressions to c-store customers in 2025, LoyaltyPlay drives supplemental revenue while fully funding the cost of the rewards.</p><p class="mb_p mb_text_primary mb_text_center">By harnessing the power and popularity of mobile gaming, youâll encourage additional brand interactions that lead to more frequent store visits.</p></div></div></section><section class="mb_section mb_pad_md mb_theme_dark mb_bg_grid-sunshade"><div class="w-layout-blockcontainer mb_container w-container"><h2 class="mb_h2 mb_text_primary mb_text_center">Itâs time to get in the game</h2><div class="mb_grid mb_grid_33-33-33"><div class="mb_griditem_loyaltyplay"><p class="mb_p mb_text_primary mb_text_center mb_opacity-0">Up to</p>
1537<h3 class="mb_h3 mb_h3_loyaltyplay mb_text_gradient-sunshade mb_text_center">67%</h3><p class="mb_p-lg mb_text_primary mb_text_center">of U.S adults play mobile games weekly<sup class="mb_h3_sc">1</sup></p></div><div class="mb_griditem_loyaltyplay"><p class="mb_p mb_text_primary mb_text_center">Up to</p><h3 class="mb_h3 mb_h3_loyaltyplay mb_text_gradient-sunshade mb_text_center">44%</h3><p class="mb_p-lg mb_text_primary mb_text_center">faster return trips for customers who participated in mobile gameplay to earn fuel rewards<sup class="mb_h3_sc">2</sup></p></div><div class="mb_griditem_loyaltyplay"><p class="mb_p mb_text_primary mb_text_center">Up to</p><h3 class="mb_h3 mb_h3_loyaltyplay mb_text_gradient-sunshade mb_text_center">2.5x</h3><p class="mb_p-lg mb_text_primary mb_text_center">more frequent visits after first offer redemption<sup class="mb_h3_sc">2</sup></p></div></div><div class="mb_footnotes"><p class="mb_p mb_text_primary mb_text_center mb_text_secondary"><sup class="mb_p_sc">1</sup>Statista, 2025</p><p class="mb_p mb_text_primary mb_text_center mb_text_secondary"><sup class="mb_p_sc">2</sup>Performance data, 2025-2026</p></div></div></section><section class="mb_section mb_pad_md mb_theme_light"><div class="w-layout-blockcontainer mb_container w-container"><h2 class="mb_h2 mb_text_primary">How LoyaltyPlay drives value for fuel and c-stores</h2><div class="w-layout-blockcontainer mb_grid mb_grid_33-33-33 w-container"><div class="mb_card_e_orange"><div class="mb_card_badge_e_orange"><div class="mb_pc_a_number">01</div></div><div><p class="mb_p mb_text_primary mb_text_bold">Engage new members from day one</p><p class="mb_p mb_text_primary">Earn-without-purchase gives members a reason to come back in the first 30-60 days, before they've transacted enough to feel your program's value and before you lose them.</p></div></div><div class="mb_card_e_orange"><div class="mb_card_badge_e_orange"><div class="mb_pc_a_number">02</div></div><div><p class="mb_p mb_text_primary mb_text_bold">Drive pump-to-store conversion</p><p class="mb_p mb_text_primary">Offer game-linked rewards at the right time to turn a fuel-up into an in-store visit that drives larger basket size â proven to drive up to 2.5x more frequent visits and 44% faster return trips.</p></div></div><div class="mb_card_e_orange"><div class="mb_card_badge_e_orange"><div class="mb_pc_a_number">03</div></div><div><p class="mb_p mb_text_primary mb_text_bold">Let customers earn & stack</p><p class="mb_p mb_text_primary">Members rack up rewards so they hit redemption (and burn) in record time, with fuel retailers seeing up to 35x higher redemption rates from gameplay-earned rewards.</p></div></div></div></div></section><section class="mb_section mb_pad_md mb_theme_light"><div class="w-layout-blockcontainer mb_container w-container"><h2 class="mb_h2 mb_text_primary">Built for fuel and convenience retailers</h2><div class="w-layout-blockcontainer mb_grid mb_grid_50-50_b w-container"><div class="mb_griditem_b"><img src="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/69fcccef8cfeaf8f2c708d5b_icon_star_orange.png" loading="lazy" alt="" class="mb_griditem_b_img"/><div><p class="mb_p mb_text_primary mb_text_bold">Drive pump-to-store conversion</p><p class="mb_p mb_text_primary mb_margin_none">Get the fuel customers who never come inside off the forecourt and through the door with earned rewards tied to store items waiting for them at the backcourt.</p></div></div><div class="mb_griditem_b"><img src="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/69fcccef8cfeaf8f2c708d5b_icon_star_orange.png" loading="lazy" alt="" class="mb_griditem_b_img"/><div><p class="mb_p mb_text_primary mb_text_bold">Re-engage dormant loyalty members in the first 30-60 days</p><p class="mb_p mb_text_primary mb_margin_none">Earn-without-purchase mechanics give new and lapsed members a reason to engage before they've transacted enough to feel your program's value â closing the drop-off window that kills most loyalty programs early.</p></div></div><div class="mb_griditem_b"><img src="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/69fcccef8cfeaf8f2c708d5b_icon_star_orange.png" loading="lazy" alt="" class="mb_griditem_b_img"/><div><p class="mb_p mb_text_primary mb_text_bold">Fully-funded loyalty rewards</p><p class="mb_p mb_text_primary mb_margin_none">Rewards are covered by game advertiser revenue so operators can promote LTOs and bundles at full margin with no additional lift or cost for your team.</p></div></div><div class="mb_griditem_b"><img src="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/69fcccef8cfeaf8f2c708d5b_icon_star_orange.png" loading="lazy" alt="" class="mb_griditem_b_img"/><div><p class="mb_p mb_text_primary mb_text_bold">Low lift by design</p><p class="mb_p mb_text_primary mb_margin_none">No extra headcount, no rebuilding what's already working. LoyaltyPlay layers into your existing program without adding operational load to a team that's already stretched thin.</p></div></div></div></div></section><section class="mb_section mb_pad_md mb_theme_dark"><div class="w-layout-blockcontainer mb_container w-container"><h2 class="mb_h2 mb_text_primary mb_text_center">Related reading & resources</h2><div class="mb_grid mb_grid_33-33-33"><a href="https://business.mistplay.com/resources/gaming-revenue-opportunity-mobile-apps" class="mb_text_no-decor w-inline-block"><div class="mb_griditem_resource"><img src="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/6998a271e24bfdf754abcfa5_thumbnail_d.jpg" loading="lazy" sizes="100vw" srcset="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/6998a271e24bfdf754abcfa5_thumbnail_d-p-500.jpg 500w, https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/6998a271e24bfdf754abcfa5_thumbnail_d.jpg 730w" alt=""/><div><h6 class="mb_p mb_text_primary mb_text_center mb_text_bold">How mobile apps can capture untapped revenue potential</h6><p class="mb_p mb_p-sm mb_text_primary mb_text_center">In todayâs mobile landscape, apps from every category compete for the same scarce resources: user attention and share of wallet.</p></div></div></a><a href="https://business.mistplay.com/resources/convenience-case-study-gomart" class="mb_text_no-decor w-inline-block"><div class="mb_griditem_resource"><img src="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/69c1a12d14254805f11de3ec_thumbnail_b.jpg" loading="lazy" sizes="100vw" srcset="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/69c1a12d14254805f11de3ec_thumbnail_b-p-500.jpg 500w, https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/69c1a12d14254805f11de3ec_thumbnail_b.jpg 730w" alt=""/><div><h6 class="mb_p mb_text_primary mb_text_center mb_text_bold">Fuelling engagement: Driving an 85% reward redemption rate for GoMart</h6><p class="mb_p mb_p-sm mb_text_primary mb_text_center">GoMart is a 100-year-old convenience store chain based in West Virginia, serving loyal customers across the region.</p></div></div></a><a href="https://business.mistplay.com/resources/restaurant-case-study-checkers-rallys" class="mb_text_no-decor w-inline-block"><div class="mb_griditem_resource"><img src="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/69c1a122f1fd0d75e2c5ed5d_thumbnail_a.jpg" loading="lazy" sizes="100vw" srcset="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/69c1a122f1fd0d75e2c5ed5d_thumbnail_a-p-500.jpg 500w, https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/69c1a122f1fd0d75e2c5ed5d_thumbnail_a.jpg 730w" alt=""/><div><h6 class="mb_p mb_text_primary mb_text_center mb_text_bold">Turning lapsed diners into regulars: Driving 54% re-engagement for Checkers & Rallyâs</h6><p class="mb_p mb_p-sm mb_text_primary mb_text_center">Checkers & Rally's is a prominent national drive-thru burger chain known for its bold flavors and value-driven menu.</p></div></div></a></div><a href="/resources" class="mb_button_primary mb_button_full-width w-button">Explore more resources</a></div></section><section class="mb_section mb_section_cta mb_pad_cta mb_theme_light">
1537<div class="w-layout-blockcontainer mb_container mb_container_cta w-container"><h2 class="mb_h2 mb_text_primary mb_text_center">Ready to power up your loyalty program?</h2><a id="contact_form" href="#" class="mb_button_primary mb_button_full-width mb_button_sunshade w-button">Contact us</a></div></section><section class="mb_footer_b"><div class="mb_container_footer_b"><div class="mb_footer_left_b"><a href="#" class="mb_logo_a mb_logo_footer_b w-nav-brand"><img width="140" height="49" alt="Mistplay Logo" src="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/6a0209092fd5a230d281e5e7_logo_mistplay_light_trim.svg" loading="lazy" class="mb_nav_logo_a mb_footer_logo_b"/></a><div class="text-block-20">Follow us on <a href="https://ca.linkedin.com/company/mistplay" target="_blank" class="mb_link_footer">LinkedIn</a></div><div class="copyright-footer">© 2026 Mistplay, Inc. All rights reserved </div></div><div class="w-layout-hflex mb_footer_right"><div class="mb_footer_col_b"><h6 class="mb_footer_col_heading">Advertisers</h6><div class="mb_footer_list_b"><a href="/advertisers/loyalty-program" class="mb_footer_item_b">Loyalty Platform</a><a href="/advertisers/ios" class="mb_footer_item_b">Mistplay for iPhone</a><a href="/advertisers/android" class="mb_footer_item_b">Mistplay for Android</a><a href="/advertisers/mistplay-audience-network" class="mb_footer_item_b">Mistplay Audience Network</a><a href="/advertisers/hex" class="mb_footer_item_b">HEX</a></div></div><div class="mb_footer_col_b"><h6 class="mb_footer_col_heading">Publishers</h6><div class="mb_footer_list_b"><a href="/publishers/loyaltyplay" class="mb_footer_item_b">LoyaltyPlay</a><a href="/publishers/loyaltyplay/app-publishers" class="mb_footer_item_b">For apps</a><a href="/publishers/loyaltyplay/brands-retailers" class="mb_footer_item_b">For brands</a><a href="/publishers/loyaltyplay/restaurants" class="mb_footer_item_b">Restaurants</a><a href="/publishers/loyaltyplay/finance-fintech" class="mb_footer_item_b">Finance & Fintech</a><a href="/publishers/loyaltyplay/shopping-cashback" class="mb_footer_item_b">Shopping & Cashback</a><a href="/publishers/loyaltyplay/fuel-convenience-stores" aria-current="page" class="mb_footer_item_b w--current">Fuel & CStore</a></div></div><div class="mb_footer_col_b"><h6 class="mb_footer_col_heading">Resources</h6><div class="mb_footer_list_b"><a href="/resources" class="mb_footer_item_b">Articles</a><a href="/article-tags/case-studies" class="mb_footer_item_b">Case Studies</a><a href="/reports" class="mb_footer_item_b">Industry Reports</a></div></div><div class="mb_footer_col_b"><h6 class="mb_footer_col_heading">Company</h6><div class="mb_footer_list_b"><a href="/about-us" class="mb_footer_item_b">About Us</a><a href="/newsroom" class="mb_footer_item_b">Newsroom</a><a href="https://www.mistplay.com/legal/privacy" class="mb_footer_item_b">Privacy policy</a><a href="https://www.mistplay.com/legal/terms-of-use" class="mb_footer_item_b">Terms of service</a><a href="https://www.mistplay.com/legal/privacy-centre" class="mb_footer_item_b">Privacy Center</a></div></div></div></div></section><div class="custom-script w-embed w-script"><!--
1537<script> 1538 const targetSubdomains = ['ja', 'zh']; 1539 const currentHostname = window.location.hostname; 1540 const hostnameParts = currentHostname.split('.'); 1541 1542 const partnershipForm = document.querySelector('#partnership-modal'); 1543 const partnershipFormEmbed = document.querySelector('#partnership-modal .modal-embed'); 1544 const partnershipFormScript = document.querySelector('#partnership-modal .modal-embed script:last-child'); 1545 1546 const currentSubdomain = hostnameParts.length > 1 ? hostnameParts[0] : null; 1547 1548 if (currentSubdomain && targetSubdomains.includes(currentSubdomain)) { 1549 console.log(`Current page is on subdomain: ${currentSubdomain}`); 1550 createForm(currentSubdomain); 1551 } else { 1552 console.log('Current page is not on a target subdomain.'); 1553 createForm(null); 1554 } 1555 1556 function createForm(subdomain) { 1557 const formScript = document.createElement('script'); 1558 let formScriptContent; 1559 1560 switch (subdomain) { 1561 case 'ja': 1562 formScriptContent = ` 1563 hbspt.forms.create({ 1564 region: "na1", 1565 portalId: "5886937", 1566 formId: "a9f65cd9-b1af-409b-9ced-44896f9a8dfb" 1567 }); 1568 `; 1569 break; 1570 case 'zh': 1571 formScriptContent = ` 1572 hbspt.forms.create({ 1573 region: "na1", 1574 portalId: "5886937", 1575 formId: "1270c5c0-0c8b-4d7d-ad1d-f7116d4bde33" 1576 }); 1577 `; 1578 break; 1579 default: 1580 formScriptContent = ` 1581 hbspt.forms.create({ 1582 region: "na1", 1583 portalId: "5886937", 1584 formId: "e1320b65-1016-4233-9487-eb7d561c86eb" 1585 }); 1586 `; 1587 } 1588 1589 formScript.type = 'text/javascript'; 1590 formScript.textContent = formScriptContent; 1591 1592 if (partnershipFormScript) { 1593 partnershipFormScript.parentNode.replaceChild(formScript, partnershipFormScript); 1594 } 1595 } 1596</script>
1596 --> 1597<!-- Debugging Page Language --> 1598<!--
1598<script> 1599var lang = document.documentElement.lang; 1600var el = document.querySelector('.output'); 1601el.innerHTML = lang; 1602console.log('Page language' + lang); 1603 1604// If conditions 1605if(lang == 'fr'){ 1606 // Your french code 1607} else { 1608 // fallback or default 1609} 1610</script>
vendor: 1 bytes, line 1610
1610
1611<script> 1612var onloadCallback = function() { 1613 grecaptcha.render('recaptcha-element', { 1614 'sitekey' : '6LdNlPIpAAAAAF02n0k-PRzHGH8otshsiN_xNeqq', 1615 'hl': 'en' 1616 }); 1617}; 1618</script>
1618 --></div><div class="w-embed"><style> 1619 1620 /* --- global fixes --- */ 1621 1622 /* --- fix nav code embed default styling */ 1623 /* .w-embed {width: 0px !important;} */ 1624 1625 /* remove pseudo-elements genreated by Webflow */ 1626 .mb_grid:before, 1627 .mb_grid:after, 1628 .mbr_grid:before, 1629 .mbr_grid:after, 1630 .mb_container:before, 1631 .mb_container:after { 1632 display: none; 1633 } 1634 1635 /* force button width to match it's child's width */ 1636 .mb_button_primary, 1637 .mb_button_secondary, 1638 .mb_label_resource { 1639 width: max-content; 1640 } 1641 1642 /* global opacity hide */ 1643 .mb_opacity-0 {opacity: 0 !important;} 1644 1645 /* fix resource card image sizes */ 1646 .mb_card_resource_img {object-fit: cover !important;} 1647 1648 /* override top padding on mobile */ 1649 @media screen and (max-width: 479px) { 1650 .body { 1651 padding-top: 0px !important; 1652 } 1653 } 1654 1655 /* stop link capitalization */ 1656 .mb_p a { 1657 text-transform: none !important; 1658 } 1659 1660 /* make event label width = content length */ 1661 .mb_label_event {width: max-content;} 1662 1663 1664 1665 /* --- class settings --- */ 1666 1667 .mb_flex_col {flex-direction: column;} 1668 .mb_flex_col_reverse {flex-direction: column-reverse;} 1669 .mb_flex_left {align-items: flex-start;} 1670 .mb_flex_right {align-items: flex-end;} 1671 .mb_text_left {text-align: left;} 1672 .mb_text_center {text-align: center;} 1673 .mb_text_no-margin {margin: 0px !important;} 1674 .mb_text_no-decor {text-decoration: none !important;} 1675 .mb_no-wrap {white-space: nowrap !important;} 1676 .mb_text_weight-400 {font-weight: 400 !important;} 1677 1678
1679 1680 /* --- themes --- */ 1681 1682 /* light theme */ 1683 .mb_theme_light .mb_text_primary, 1684 .mb_theme_light .mb_border_primary { 1685 color: var(--comet-900) !important; 1686 border-color: var(--comet-900) !important; 1687 } 1688 .mb_text_invert {color: var(--comet-100) !important;} 1689 .mb_theme_light {background-color: #FFFFFF !important;} 1690 .mb_h3_block {background-color: var(--comet-900) !important;} 1691 .mb_text_block {color: #FFFFFF !important;} 1692 1693 /* blue theme */ 1694 .mb_theme_blue .mb_text_primary, 1695 .mb_theme_blue .mb_border_primary { 1696 color: var(--comet-100) !important; 1697 border-color: var(--comet-100) !important; 1698 } 1699 .mb_theme_blue {background-color: var(--cobalt-500) !important;} 1700 1701 /* dark theme */ 1702 .mb_theme_dark .mb_text_primary, 1703 .mb_theme_dark .mb_border_primary { 1704 color: var(--comet-100) !important; 1705 border-color: var(--comet-100) !important; 1706 } 1707 .mb_theme_dark .mb_text_secondary {color: var(--comet-300) !important;} 1708 .mb_text_invert {color: var(--comet-900) !important;} 1709 .mb_theme_dark {background-color: var(--comet-900) !important;} 1710 1711 /* showcase theme */ 1712 .mb_theme_showcase .mb_text_primary, 1713 .mb_theme_showcase .mb_border_primary { 1714 color: var(--comet-100) !important; 1715 border-color: var(--comet-100) !important; 1716 } 1717 1718 1719 1720 /* --- anchor links ---*/ 1721 1722 /* desktop */ 1723 .mb_achor {position: relative;} 1724 .mb_achor::before { 1725 content: ""; 1726 position: absolute; 1727 top: -174px !important; 1728 height: 174px !important; 1729 pointer-events: none; 1730 } 1731 1732 /* tablet */ 1733 @media (max-width: 991px) { 1734 .mb_achor::before { 1735 top: -174px !important; 1736 height: 174px !important; 1737 } 1738 } 1739 1740 /* mobile landscape */ 1741 @media (max-width: 767px) { 1742 .mb_achor::before { 1743 top: -152px !important; 1744 height: 152px !important; 1745 } 1746 } 1747 1748 /* mobile portrait */ 1749 @media (max-width: 479px) { 1750 .mb_achor::before { 1751 top: -136px !important; 1752 height: 136px !important; 1753 } 1754 } 1755 1756 1757 1758 /* --- components --- */ 1759 1760 /* mb product card a cobalt */ 1761 .mb_pc_a_cobalt:hover .mb_pc_a_badge_cobalt {background-color: var(--white_24) !important;} 1762 .mb_pc_a_cobalt:hover .mb_h4 {color: var(--comet-100) !important;} 1763 .mb_pc_a_cobalt:hover .mb_p {color: var(--comet-100) !important;} 1764 1765 /* mb product card c orange */ 1766 .mb_pc_c_orange:hover .mb_pc_c_badge_orange {background-color: var(--white_24) !important;} 1767 .mb_pc_c_orange:hover .mb_p {color: var(--comet-100) !important;} 1768 .mb_pc_c_orange:hover .mb_p_sm {color: var(--comet-100) !important;} 1769 1770</style></div><div class="w-embed w-script"><!-- Modal Container --> 1771<div id="hubspot-modal" style="display:none; position:fixed; top:0; left:0; width:100%; height:100%; background-color:rgba(0,0,0,0.6); z-index:99999999999; justify-content:center; align-items:center;"> 1772 <div style="background:#fff; padding:20px; border-radius:8px; max-width:600px; width:90%; position:relative; max-height:90vh; overflow-y:auto;"> 1773 <span id="close-hubspot-modal" style="position:absolute; top:10px; right:15px; font-size:20px; cursor:pointer;">×</span> 1774 <div id="hubspot-form-container"></div> 1775 </div> 1776</div> 1777 1778<!-- Form IDs by Language --> 1779<!-- 1780CONTACT FORMS: 1781EN: e1320b65-1016-4233-9487-eb7d561c86eb (B2B Expansion: 86927fc1-5a38-42db-bf66-9ba429b98ca8) Portal: 5886937 1782FR: 1e05aa18-a085-495b-8f99-f3f56b192468 1783DE: dd7738c1-a960-47f6-992e-4d871ba8a9a3 1784KO: ce9a500c-2f75-4aca-9b6f-2b852bcde175 1785ZH: 1270c5c0-0c8b-4d7d-ad1d-f7116d4bde33 1786JA: 40cdb013-6cf7-4dd8-a58d-3e8ccd2b5303 1787// CN: 4376557f-9027-4365-8e45-0a5d2d7330c8 1788 1789LOYALTYPLAY FORMS: 1790EN: 62abb8e9-25cf-4aa3-9755-521668cc5d49 1791FR: [ADD_FR_LOYALTYPLAY_FORM_ID] 1792DE: [ADD_DE_LOYALTYPLAY_FORM_ID] 1793KO: [ADD_KO_LOYALTYPLAY_FORM_ID] 1794ZH: [ADD_ZH_LOYALTYPLAY_FORM_ID] 1795JA: [ADD_JA_LOYALTYPLAY_FORM_ID] 1796 1797SUBSCRIBE FORMS: 1798EN: b8db2c74-c95b-41d2-a12f-a74eac42f51b 1799FR: [ADD_FR_SUBSCRIBE_FORM_ID] 1800DE: [ADD_DE_SUBSCRIBE_FORM_ID] 1801KO: [ADD_KO_SUBSCRIBE_FORM_ID] 1802ZH: [ADD_ZH_SUBSCRIBE_FORM_ID] 1803JA: [ADD_JA_SUBSCRIBE_FORM_ID] 1804--> 1805 1806<!-- Contact & Subscribe Form Popup -->
1807<script> 1808 document.addEventListener("DOMContentLoaded", function () { 1809 const modal = document.getElementById("hubspot-modal"); 1810 const closeBtn = document.getElementById("close-hubspot-modal"); 1811 const formContainer = document.getElementById("hubspot-form-container"); 1812 1813 // Function to detect language from subdomain 1814 function detectLanguage() { 1815 const hostname = window.location.hostname; 1816 const subdomain = hostname.split('.')[0].toLowerCase(); 1817 1818 // Check if subdomain matches a language code 1819 const supportedLanguages = ['fr', 'de', 'ko', 'zh', 'ja']; 1820 return supportedLanguages.includes(subdomain) ? subdomain : 'en'; 1821 } 1822 1823 // Function to check if current page is the LoyaltyPlay monetize page 1824 function isLoyaltyPlayPage() { 1825 // [previous] return window.location.pathname === '/monetize/loyaltyplay'; 1826 return window.location.pathname === '/monetize/loyaltyplay' || 1827 window.location.pathname === '/monetize/connected-rewards'; 1828 } 1829 1830 // Get current language 1831 const currentLanguage = detectLanguage(); 1832 1833 // Contact form IDs by language 1834 const contactFormIds = { 1835 en: "8bc47184-0b54-4a64-96c2-ae751f1d3125", // 8bc47184-0b54-4a64-96c2-ae751f1d3125 1836 fr: "8bc47184-0b54-4a64-96c2-ae751f1d3125", // old 1837 de: "8bc47184-0b54-4a64-96c2-ae751f1d3125", // old 1838 ko: "9d81b8dc-8397-45d0-8998-1338d50c9858", 1839 zh: "4376557f-9027-4365-8e45-0a5d2d7330c8", 1840 ja: "40cdb013-6cf7-4dd8-a58d-3e8ccd2b5303" 1841 }; 1842 1843 // LoyaltyPlay form IDs by language 1844 const loyaltyPlayFormIds = { 1845 en: "8bc47184-0b54-4a64-96c2-ae751f1d3125", 1846 fr: "9f6482e6-6c16-432d-9bba-a815cc2f4c05", // Replace with actual FR LoyaltyPlay form ID 1847 de: "84452965-c749-4fc1-aa6c-92fefec6599c", // Replace with actual DE LoyaltyPlay form ID 1848 ko: "8186b87e-a2c3-450f-a2a6-0ed54285b9d1", // Replace with actual KO LoyaltyPlay form ID 1849 zh: "59457347-8bae-4d2d-86b2-7f59444f966e", // Replace with actual ZH LoyaltyPlay form ID 1850 ja: "cc2211e9-2fb4-4a72-87bc-a449a583d24f" // Replace with actual JA LoyaltyPlay form ID 1851 }; 1852 1853 // Subscribe form IDs by language 1854 const subscribeFormIds = { 1855 en: "b8db2c74-c95b-41d2-a12f-a74eac42f51b", 1856 fr: "[ADD_FR_SUBSCRIBE_FORM_ID]", // Replace with actual FR subscribe form ID 1857 de: "[ADD_DE_SUBSCRIBE_FORM_ID]", // Replace with actual DE subscribe form ID 1858 ko: "[ADD_KO_SUBSCRIBE_FORM_ID]", // Replace with actual KO subscribe form ID 1859 zh: "[ADD_ZH_SUBSCRIBE_FORM_ID]", // Replace with actual ZH subscribe form ID 1860 ja: "[ADD_JA_SUBSCRIBE_FORM_ID]" // Replace with actual JA subscribe form ID 1861 }; 1862 1863 // Form configurations by language and page type 1864 const formConfig = { 1865 contact_form: isLoyaltyPlayPage() 1866 ? loyaltyPlayFormIds[currentLanguage] 1867 : contactFormIds[currentLanguage], 1868 subscribe_form: subscribeFormIds[currentLanguage] 1869 }; 1870 1871 let currentFormId = null; 1872 1873 function openHubspotForm(formId) { 1874 // Check if form ID is placeholder and show warning 1875 if (formId && formId.startsWith('[ADD_')) { 1876 console.warn(`Form ID for ${currentLanguage} language not configured: ${formId}`); 1877 console.warn('Falling back to English form'); 1878 1879 // Fallback to English version 1880 if (isLoyaltyPlayPage()) { 1881 formId = loyaltyPlayFormIds.en; 1882 } else { 1883 formId = formConfig.contact_form.includes('LOYALTYPLAY') 1884 ? loyaltyPlayFormIds.en 1885 : contactFormIds.en; 1886 } 1887 } 1888 1889 modal.style.display = "flex"; 1890 1891 if (currentFormId !== formId) { 1892 currentFormId = formId; 1893 formContainer.innerHTML = ""; // Clear old form 1894 1895 function createForm() { 1896 hbspt.forms.create({ 1897 portalId: "5886937", 1898 formId: formId, 1899 region: "na1", 1900 target: "#hubspot-form-container" 1901 }); 1902 } 1903 1904 if (window.hbspt) { 1905 createForm(); 1906 } else { 1907 const script = document.createElement("script"); 1908 script.src = "//js.hsforms.net/forms/embed/v2.js"; 1909 script.onload = createForm; 1910 document.body.appendChild(script); 1911 } 1912 } 1913 } 1914 1915 // Select all elements with id=contact_form and id=subscribe_form 1916 const contactButtons = document.querySelectorAll('[id="contact_form"]'); 1917 const subscribeButtons = document.querySelectorAll('[id="subscribe_form"]'); 1918 1919 contactButtons.forEach(btn => { 1920 btn.addEventListener("click", () => openHubspotForm(formConfig.contact_form)); 1921 }); 1922 1923 subscribeButtons.forEach(btn => { 1924 btn.addEventListener("click", () => openHubspotForm(formConfig.subscribe_form)); 1925 }); 1926 1927 // External trigger fallback 1928 const emulateBtn = document.getElementById("emulate_contact_click"); 1929 if (emulateBtn) { 1930 emulateBtn.addEventListener("click", () => openHubspotForm(formConfig.contact_form)); 1931 } 1932 1933 // Modal close handlers 1934 closeBtn.addEventListener("click", () => { 1935 modal.style.display = "none"; 1936 }); 1937 1938 window.addEventListener("click", (e) => { 1939 if (e.target === modal) { 1940 modal.style.display = "none"; 1941 } 1942 }); 1943 1944 // Debug logging 1945 console.log("=== HubSpot Form Configuration Debug ==="); 1946 console.log("Detected language:", currentLanguage); 1947 console.log("Current page:", window.location.pathname); 1948 console.log("Is LoyaltyPlay page:", isLoyaltyPlayPage()); 1949 console.log("Contact form ID:", formConfig.contact_form); 1950 console.log("Subscribe form ID:", formConfig.subscribe_form); 1951 console.log("Available contact forms:", contactFormIds); 1952 console.log("Available LoyaltyPlay forms:", loyaltyPlayFormIds); 1953 console.log("Available subscribe forms:", subscribeFormIds); 1954 }); 1955</script>
1955</div>
1955<script src="https://d3e54v103j8qbb.cloudfront.net/js/jquery-3.5.1.min.dc5e7f18c8.js?site=67ae5a0c0c4e8738d0744c0d" type="text/javascript" integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=" crossorigin="anonymous"></script>
1955<script src="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/js/webflow.schunk.4af75a3dcc103563.js" type="text/javascript" integrity="sha384-uHxK7OkjtK+CcSL+rHWk+cmafP3nhlxH8gPcAzqBwInsfkNcuGpgT4VrVHoX9Xx0" crossorigin="anonymous"></script>
1955<script src="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/js/webflow.schunk.82a066c38b528435.js" type="text/javascript" integrity="sha384-YFg50APNpGQG2TXQ9t5g9u3yN4vH165ox/6pKrVXmkzSUuHeVDeVTfn47fl4cRxp" crossorigin="anonymous"></script>
1955<script src="https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/js/webflow.4ff188f3.8d82b26f446edbc1.js" type="text/javascript" integrity="sha384-oapLup+xyO4DfExR2XgiTdJm3Ey9joeX14V3S/EPXYKvuym0wX17qXWA4nz95Hsz" crossorigin="anonymous"></script>
1955<!-- Start of HubSpot Embed Code --> 1956<!--
1956<script type="text/javascript" id="hs-script-loader" async defer src="//js.hs-scripts.com/5886937.js"></script>
1956 --> 1957<!-- End of HubSpot Embed Code --> 1958 1959<!-- EN language switcher fix (Hosoo Media 2026-06-23) START --> 1960<!-- Custom nav dropdown EN link switches via Weglot.switchTo(en) instead of the Weglot-rewritten ko URL. Pure JS click handler; no href/canonical/hreflang/content change. Rollback: delete this block. -->
1961<script> 1962(function () { 1963 document.addEventListener("click", function (e) { 1964 var a = e.target.closest && e.target.closest("a[data-lang='en']"); 1965 if (!a) return; 1966 if (typeof Weglot !== "undefined" && Weglot.switchTo) { 1967 e.preventDefault(); 1968 e.stopPropagation(); 1969 Weglot.switchTo("en"); 1970 } 1971 }, true); 1972})(); 1973</script>
1973 1974<!-- EN language switcher fix (Hosoo Media 2026-06-23) END --> 1975 1976<!-- I9 image alt (Hosoo Media 2026-06-26) START --> 1977<!-- Page-scoped (leniu-games-i9-inferno-nine only). Sets alt on hero banner + studio infographic. Pure ASCII. Rollback: delete this block. -->
1978<script> 1979(function(){ 1980 if (location.pathname.indexOf("leniu-games-i9-inferno-nine") < 0) return; 1981 var ko = location.hostname.indexOf("ko.") === 0; 1982 var HERO = ko ? "I9: \uc778\ud398\ub974\ub178 \ub098\uc778 \ud0a4\uc544\ud2b8 - Mistplay x Leniu Games \ud55c\uad6d MMORPG \uc131\uacf5 \uc0ac\ub840" : "I9: Inferno Nine key art - Mistplay x Leniu Games South Korea MMORPG case study"; 1983 var INFO = ko ? "I9: \uc778\ud398\ub974\ub178 \ub098\uc778 \uac8c\uc784 \uac1c\uc694 - \ud0c0\uc774\ud2c0 I9: \uc778\ud398\ub974\ub178 \ub098\uc778, \uc704\uce58 \uc911\uad6d \uad11\uc800\uc6b0, 98\ub9cc \uac74 \uc774\uc0c1 \ub2e4\uc6b4\ub85c\ub4dc, 13\ub9cc MAU, \uc7a5\ub974 MMORPG" : "I9: Inferno Nine game overview - title I9: Inferno Nine, location Guangzhou, 980K+ downloads, 130K MAU, genre MMORPG"; 1984 function setAlts(){ 1985 var imgs = document.getElementsByTagName("img"); 1986 for (var i=0; i<imgs.length; i++){ 1987 var s = imgs[i].getAttribute("src") || ""; 1988 if (s.indexOf("CaseStudy_LeniuGames_Blog-Banner") > -1) { if (!imgs[i].getAttribute("alt")) imgs[i].setAttribute("alt", HERO); } 1989 else if (s.indexOf("Studio-Info-Leniu") > -1) { if (!imgs[i].getAttribute("alt")) imgs[i].setAttribute("alt", INFO); } 1990 } 1991 } 1992 setAlts(); 1993 setTimeout(setAlts,400); setTimeout(setAlts,1200); setTimeout(setAlts,2500); 1994})(); 1995</script>
1995 1996<!-- I9 image alt END --> 1997 1998<!-- I9 content inject (Hosoo Media 2026-06-26) START -->
1999<script>function D(s){return decodeURIComponent(escape(atob(s)))} 2000(function(){ 2001if (location.hostname.indexOf("ko.") !== 0) return; 2002if (location.pathname.indexOf("leniu-games-i9-inferno-nine") < 0) return; 2003function run(){ 2004var rich = document.querySelector(".article-richtext"); 2005if (!rich) return false; 2006var kids = rich.children; 2007function find(p){ for (var i=0;i<kids.length;i++){ if (p(kids[i])) return kids[i]; } return null; } 2008function has(n,s){ return (n.innerText||"").indexOf(s) > -1; } 2009var companyP = find(function(n){ return n.tagName==="P" && has(n,D("6rSR7KCA7Jqw")); }); 2010var solIntroP = find(function(n){ return n.tagName==="P" && has(n,"Performance Index"); }); 2011var solOl = find(function(n){ return (n.tagName==="OL"||n.tagName==="UL") && has(n,D("67KE65SUIO2AmOyKpO2KuA==")); }); 2012var resultUl = find(function(n){ return (n.tagName==="UL"||n.tagName==="OL") && has(n,D("RDMwIFJPQVMg66qp7ZGc")) && has(n,D("RDEg66as7YWQ7IWY")); }); 2013var testH2 = find(function(n){ return n.tagName==="H2" && (n.innerText||"").trim().indexOf(D("7LaU7LKc7IKs"))===0; }); 2014if (!companyP || !solOl) return false; 2015if ((companyP.innerText||"").indexOf(D("7J6Q66as66W8IOyeoeydgA==")) < 0) return false; 2016if ((solOl.innerText||"").indexOf(D("7Lap7ISx64+EIOuGkuydgCDqsozsnbTrqLgg7Luk666k64uI7Yuw")) < 0) return false; 2017if (!document.getElementById("i9-inject-style")){ 2018var st = document.createElement("style"); 2019st.id = "i9-inject-style"; 2020st.textContent = "[data-i9-lead],[data-i9-aeo],[data-i9-nm],[data-i9-resnote]{word-break:keep-all;overflow-wrap:break-word;}.article-richtext ol[data-i9-ol]{list-style:none;padding-left:0;margin-left:0;}.article-richtext ol[data-i9-ol]>li{word-break:keep-all;margin-bottom:1.1em;}.article-richtext ol[data-i9-ol]>li>h3{margin-top:1.75em;margin-bottom:0.4em;}.article-richtext ol[data-i9-ol]>li:first-child>h3{margin-top:0.6em;}"; 2021document.head.appendChild(st); 2022} 2023if (!rich.querySelector("[data-i9-lead]")){ 2024var aeo = document.createElement("div"); 2025aeo.setAttribute("data-i9-aeo","1"); 2026aeo.style.cssText = "border-left:4px solid #4731D3;background:#f4f3ff;padding:14px 18px;margin:0 0 22px;border-radius:6px;"; 2027aeo.innerHTML = D("7Jik7ZSI7JuU65OcIE1NT1JQRyAnSTk6IOyduO2OmOultOuFuCDrgpjsnbgoTGVuaXUgR2FtZXMpJ+ydgCBNaXN0cGxheeydmCBBSSDquLDrsJggSUFQIHRST0FTIOy6oO2OmOyduOqzvCDqs6DqtIDsl6wg7ZWc6rWtIOqyjOydtOuouCDsu6TrrqTri4jti7Drpbwg7Ya17ZW0LCDtlZzqta0g7Lac7IucIDMw7J28IOunjOyXkCDshpDsnbXrtoTquLDsoJAoQkVQKeydhCDrj4ztjIztlZjqs6AgRDMwIFJPQVMg66qp7ZGcIDIuNeuwsCDrsI8gRDkwIFJPQVMg66qp7ZGcIDMuNeuwsOulvCDri6zshLHtlojsirXri4jri6Qu"); 2028companyP.parentNode.insertBefore(aeo, companyP); 2029var lead = document.createElement("p"); 2030lead.setAttribute("data-i9-lead","1"); 2031lead.innerHTML = D("7KSR6rWtIDxhIGhyZWY9Imh0dHBzOi8vd3d3Lmxlbml1LmNvbS9hYm91dCIgdGFyZ2V0PSJfYmxhbmsiPkxlbml1IEdhbWVzPC9hPuydmCDsmKTtlIjsm5Trk5wgTU1PUlBHICdJOTog7J247Y6Y66W064W4IOuCmOyduCfsnYAg7KCEIOyEuOqzhOyXkOyEnCDqsIDsnqUg6rK97J+B7J20IOy5mOyXtO2VnCDtlZzqta0gTU1PUlBHIOyLnOyepeyXkCDri7nri7ntnogg64+E7KCE7J6l7J2EIOuCtOuwgOyXiOyKteuLiOuLpC4g6re466as6rOgIOq3uCDqsrDqs7zripQg7ISx6rO17KCB7J207JeI7Iq164uI64ukLiDstpzsi5wg64uoIDMw7J28IOunjOyXkCDshpDsnbXrtoTquLDsoJAoQkVQKeydhCDrj4ztjIztlZwg642wIOydtOyWtCwgPHN0cm9uZz5EMzAgUk9BUyDrqqntkZzsnZggMi4167CwLCBEOTAgUk9BUyDrqqntkZzsnZggMy4167CwIOuLrOyEsTwvc3Ryb25nPuydtOudvOuKlCDtgbAg7ISx6rO866W8IOqxsOuRkOyXiOyKteuLiOuLpC4g7J2064qUIE1pc3RwbGF56rCAIOuztOycoO2VnCDsp4TshLEg7ZWc6rWtIOqyjOydtOuouCDsu6TrrqTri4jti7Dsl5AgQUkg6riw67CYIHRST0FTIOy6oO2OmOyduOydhCDrjZTtlbTshJwg66eM65OgIOqysOqzvOyYgOuKlOuNsOyalC4="); 2032companyP.parentNode.insertBefore(lead, companyP); 2033} 2034if (solIntroP && !rich.querySelector("[data-i9-nm]")){ 2035var nm = document.createElement("p"); 2036nm.setAttribute("data-i9-nm","1"); 2037nm.innerHTML = D("7Iuk7KCc66GcIHRST0FTIOyghOueteydgCA8YSBocmVmPSJodHRwczovL2tvLmJ1c2luZXNzLm1pc3RwbGF5LmNvbS9yZXNvdXJjZXMvbmV0bWFyYmxlLXNldmVuLWtuaWdodHMtcmViaXJ0aCI+64S366eI67iUICfshLjruJDrgpjsnbTsuKAg66as67KE7IqkJ+ydmCDquIDroZzrsowgUlBHIFVBIOyCrOuhgDwvYT7sl5DshJzrj4Qg6rOg6rCA7LmYIFJQRyDsnKDsoIAg7ZmV67O066GcIOydtOyWtOyhjOyKteuLiOuLpC4="); 2038solIntroP.parentNode.insertBefore(nm, solIntroP.nextSibling); 2039} 2040if (solOl && !solOl.querySelector("[data-i9-h33]")){ 2041solOl.setAttribute("data-i9-ol","1"); 2042var li1 = solOl.children[0]; 2043if (li1 && li1.innerHTML.indexOf(D("7ZSM66CI7J20IO2DgOyehCDrpqzsm4zrk5wg66qo6424KFBsYXl0aW1lIE1vZGVsKQ==")) > -1 && li1.innerHTML.indexOf("data-i9-loyalty") < 0){ 2044li1.innerHTML = li1.innerHTML.replace(D("7ZSM66CI7J20IO2DgOyehCDrpqzsm4zrk5wg66qo6424KFBsYXl0aW1lIE1vZGVsKQ=="), D("PGEgaHJlZj0iaHR0cHM6Ly9rby5idXNpbmVzcy5taXN0cGxheS5jb20vYWR2ZXJ0aXNlcnMvbG95YWx0eS1wcm9ncmFtIj7tlIzroIjsnbQg7YOA7J6EIOumrOybjOuTnCDrqqjrjbgoUGxheXRpbWUgTW9kZWwpPC9hPg==")); 2045} 2046var li3 = document.createElement("li"); 2047li3.setAttribute("data-i9-h33","1"); 2048li3.innerHTML = D("PHN0cm9uZz4zLiDrjbDsnbTthLAg6riw67CYIOyatOyYgeqzvCDruaDrpbgg7LWc7KCB7ZmU66GcIOuqqe2RnCDsp4DtkZzrpbwg7KeA7Lyc64K064ukPC9zdHJvbmc+IE1pc3RwbGF5IOyghOuLtCDtjIDsnYAg7ISx6rO8IOuNsOydtO2EsOulvCDsi6Tsi5zqsITsnLzroZwg66m067CA7Z6IIOuqqOuLiO2EsOunge2VmOqzoCDsuqDtjpjsnbjsnYQg7Iug7IaN7ZWY6rKMIOy1nOygge2ZlO2VqOycvOuhnOyNqCDsp4TsnoXsnqXrsr3snbQg64aS7J2AIOq1reuCtCDsi5zsnqUg7ZmY6rK97JeQ7ISc64+EIOy6oO2OmOyduCDrqqntkZwg7KeA7ZGc66W8IO2ZleyLpO2VmOqyjCDri6zshLHtlbQg64OI7Iq164uI64ukLg=="); 2049solOl.appendChild(li3); 2050var lis = solOl.children; 2051for (var x=0; x<lis.length; x++){ 2052var st = lis[x].querySelector("strong"); 2053if (st && st.parentNode === lis[x]){ 2054var h3 = document.createElement("h3"); 2055h3.innerHTML = st.innerHTML; 2056st.parentNode.replaceChild(h3, st); 2057} 2058} 2059} 2060if (resultUl && !rich.querySelector("[data-i9-resnote]")){ 2061var rn = document.createElement("p"); 2062rn.setAttribute("data-i9-resnote","1"); 2063rn.textContent = D("66as7JuM65OcIOyxhOuEkOydhCDthrXtlbQg7Jyg7J6F65CcIOycoOyggOqwgCDquLDsobQgQ1BFIOyxhOuEkCDtj4nqt6Drs7Tri6Qg642UIOyYpOuem
2063CDsnpTsobTtlojri6TripQg7KCQ7J2AIOyxhOuEkOydmCDqsIDsuZjrpbwg64uo7IicIOuLqOqwgOqwgCDslYTri4wg67mE7JqpIO2ajOyImOyZgCDtmqjsnKjshLEg6rSA7KCQ7JeQ7IScIOuwlOudvOu0kOyVvCDtlajsnYQg67O07Jes7KSN64uI64ukLg=="); 2064resultUl.parentNode.insertBefore(rn, resultUl.nextSibling); 2065} 2066if (testH2){ 2067var s = testH2.querySelector("strong") || testH2; 2068if (s.textContent.trim() === D("7LaU7LKc7IKs")) s.textContent = D("6rOg6rCd7IKsIO2VnOuniOuUlA=="); 2069} 2070var tocs = document.querySelectorAll("a[href^='#']"); 2071for (var t=0;t<tocs.length;t++){ if (tocs[t].textContent.trim() === D("7LaU7LKc7IKs")) tocs[t].textContent = D("6rOg6rCd7IKsIO2VnOuniOuUlA=="); } 2072var sensorFn = find(function(n){ return n.tagName==="P" && has(n,D("U2Vuc29yIFRvd2VyLCDrjIDtlZzrr7zqta0g642w7J207YSw")); }); 2073if (sensorFn) sensorFn.style.display = "none"; 2074return !!rich.querySelector("[data-i9-lead]") && !!solOl.querySelector("[data-i9-h33]"); 2075} 2076var tries = 0; 2077(function loop(){ tries++; if (run()) return; if (tries < 40) setTimeout(loop, 300); })(); 2078})();</script>
2078 2079<!-- I9 content inject END --> 2080 2081<!-- Netmarble AI summary box (Hosoo Media 2026-06-26) START --> 2082<!-- KO-only + page-scoped (netmarble-seven-knights-rebirth). Adds AI summary box at top of article (under H1), same style as I9. Pure ASCII. Rollback: delete this block. -->
2083<script> 2084(function(){ 2085 if (location.hostname.indexOf("ko.") !== 0) return; 2086 if (location.pathname.indexOf("netmarble-seven-knights-rebirth") < 0) return; 2087 function run(){ 2088 var rich = document.querySelector(".article-richtext"); 2089 if (!rich || !rich.firstElementChild) return false; 2090 if (rich.querySelector("[data-nm-aeo]")) return true; 2091 if (!document.getElementById("nm-aeo-style")){ 2092 var st = document.createElement("style"); 2093 st.id = "nm-aeo-style"; 2094 st.textContent = "[data-nm-aeo]{word-break:keep-all;overflow-wrap:break-word;}"; 2095 document.head.appendChild(st); 2096 } 2097 var box = document.createElement("div"); 2098 box.setAttribute("data-nm-aeo","1"); 2099 box.style.cssText = "border-left:4px solid #4731D3;background:#f4f3ff;padding:14px 18px;margin:0 0 22px;border-radius:6px;"; 2100 box.innerHTML = "\ub137\ub9c8\ube14(Netmarble)\uc758 RPG '\uc138\ube10\ub098\uc774\uce20 \ub9ac\ubc84\uc2a4'\ub294 Mistplay\uc758 \uae00\ub85c\ubc8c IAP tROAS \ucea0\ud398\uc778\uc744 \ub3c4\uc785\ud558\uc5ec, \uae00\ub85c\ubc8c \ucd9c\uc2dc \ub2e8 \ud55c \ub2ec \ub9cc\uc5d0 \ubd88\ud544\uc694\ud55c \uad11\uace0\ube44 \uc9c0\ucd9c \uc5c6\uc774 \uc804 \uc138\uacc4 \ud65c\uc131 \uc720\uc800(Active Users) \uc218\ub97c \uc57d 10% \uc99d\uac00\uc2dc\ud0a4\ub294 \uc131\uacfc\ub97c \uae30\ub85d\ud588\uc2b5\ub2c8\ub2e4."; 2101 rich.insertBefore(box, rich.firstElementChild); 2102 return true; 2103 } 2104 var tries = 0; 2105 (function loop(){ tries++; if (run()) return; if (tries < 40) setTimeout(loop, 300); })(); 2106})(); 2107</script>
2107 2108<!-- Netmarble AI summary box END --> 2109 2110<!-- 37Games Ant Legion content inject (Hosoo Media 2026-07-03) START -->
2111<script>function D(s){return decodeURIComponent(escape(atob(s)))} 2112(function () { 2113try { 2114if (location.hostname.indexOf('ko.business.mistplay.com') === -1) return; 2115if (location.pathname.indexOf('37games-ant-legion') === -1) return; 2116var GATE = 'data-ant37-v1'; 2117var tries = 0; 2118var MAX_TRIES = 80; // 80 * 250ms = 20s 2119var timer = setInterval(function () { 2120tries++; 2121if (tries > MAX_TRIES) { clearInterval(timer); return; } 2122var root = document.querySelector('.article-richtext'); 2123if (!root) return; 2124if (root.getAttribute(GATE) === 'done') { clearInterval(timer); return; } 2125var ps = Array.prototype.slice.call(root.querySelectorAll('p')); 2126var findP = function (needle) { 2127for (var i = 0; i < ps.length; i++) { 2128if (ps[i].textContent.indexOf(needle) !== -1) return ps[i]; 2129} 2130return null; 2131}; 2132var findEM = function (needle) { 2133var ems = root.querySelectorAll('em'); 2134for (var i = 0; i < ems.length; i++) { 2135if (ems[i].textContent.indexOf(needle) !== -1) return ems[i]; 2136} 2137return null; 2138}; 2139var gP3 = findP(D("7KCE6561IFNMRyDsnqXrpbTripQ=")); 2140var gP5 = findP(D("7ZSM66CI7J20IO2DgOyehCDrpqzsm4zrk5wg66qo64247J2EIOuwlO2DleycvOuhnA==")); 2141var gResultsOld = findP(D("7KCE7LK0IOqysOygnCDsnKDsoIDsnZggMjAlIOydtOyDgeydhCDssKjsp4DtlojsnLzrqbA=")); 2142if (!gP3 || !gP5 || !gResultsOld) return; // not settled yet 2143var h3Style = 'font-size:20px;font-weight:700;color:#1C2E4A;margin-top:1.75em;margin-bottom:0.4em;'; 2144if (!document.querySelector('[data-ant37-aeo]')) { 2145var box = document.createElement('div'); 2146box.setAttribute('data-ant37-aeo', '1'); 2147box.style.cssText = 'border-left:4px solid #4731D3;background:#F4F3FF;padding:14px 18px;margin:0 0 22px;border-radius:6px;font-size:15px;line-height:1.65;color:#2b2b33;word-break:keep-all;overflow-wrap:break-word;'; 2148box.textContent = D("6riA66Gc67KMIOuqqOuwlOydvCDqsozsnoQg7Y2867iU66as7IWUIDM3R2FtZXPsnZgg7KCE6561IFNMRyAn6rCc66+4IOq1sOuLqChBbnQgTGVnaW9uOiBGb3IgdGhlIFN3YXJtKSfsnYAgTWlzdHBsYXnsnZggQUkg6riw67CYIElBUCB0Uk9BUyDsuqDtjpjsnbjqs7wgMTDso7zrhYQg6riw64WQIO2UhOuhnOuqqOyFmOydhCDsnKDquLDsoIHsnLzroZwg7Zmc7Jqp7ZWY7JesLCDssqDsoIDtlZjqsowg7KCc7ZWc65CcIOyYiOyCsCDrspTsnIQg64K07JeQ7IScIOyghOyblCDrjIDruYQoTW9NKSDshKTsuZgg7IiYIDIwMCUg7Kad6rCA66W8IOq4sOuhne2VmOqzoCDtg4Ag66as7JuM65OcIOyxhOuEkCDrjIDruYQgRDMwIFJPQVPrpbwgMzAlIOuBjOyWtOyYrOumrOupsCDtlZzqta0g7Iuc7J6lIOyViOywqeyXkCDshLHqs7XtlojsirXri4jri6Qu"); 2149root.insertBefore(box, root.firstElementChild); 2150} 2151var p1 = findP(D("QW50IExlZ2lvbjogRm9yIFRoZSBTd2FybeydgCDtirntnogg64iI7JeQIOudhOuKlA==")); 2152if (p1) { 2153p1.textContent = D("MjAyMuuFhCDquIDroZzrsowg7Lac7IucIOydtO2bhCDsoIQg7IS46rOE7KCB7Jy866GcIDMsNDAw66eMIOuLpOyatOuhnOuTnOulvCDrj4ztjIztlZwgJ+qwnOuvuCDqtbDri6gn7J2AIOqwnOuvuCDsvZzroZzri4jrpbwg7KeA7ZyY7ZWY6rOgIOyekOybkOydhCDsiJjsp5HtlZjrqbAg7KeA7ZWYIOyZleq1reydhCDtgqTsm4zrgpjqsIDripQg64+F7LC97KCB7J24IOupgO2LsO2UjOugiOydtOyWtCDsoITrnrUg6rKM7J6E7J24642w7JqULiDqta3rgrQg7Lac7IucIOydtO2bhCDrjIDtlZzrr7zqta0g6rWs6riAIO2UjOugiOydtCDsiqTthqDslrTsl5DshJwg7KeA7IaN7KCB7Jy866GcIOustOujjCDsoITrnrUg6rKM7J6EIOyDgeychCAxMOychOq2jCDrgrTsl5Ag7J2066aE7J2EIOyYrOumrOupsCDtg4Ttg4TtlZwg7Z2l7ZaJ66Cl7J2EIOyeheymne2VtCDsmZTsirXri4jri6Qu"); 2154} 2155var p3 = findP(D("7KCE6561IFNMRyDsnqXrpbTripQ=")); 2156if (p3 && (!p3.previousElementSibling || p3.previousElementSibling.tagName !== 'H3')) { 2157var h3a = document.createElement('h3'); 2158h3a.style.cssText = h3Style; 2159h3a.textContent = D("7KCV6rWQ7ZWcIOyekOybkCDsg53tg5zqs4Q="); 2160p3.parentNode.insertBefore(h3a, p3); 2161} 2162var p4 = findP(D("7J247JWxIOqysOygnChJQVApIOq4sOuwmOydmCDruYTspojri4jsiqQg66qo64247J2EIO2VteyLrCDrj5nroKU=")); 2163if (p4 && (!p4.previousElementSibling || p4.previousElementSibling.tagName !== 'H3')) { 2164var h3b = document.createElement('h3'); 2165h3b.style.cssText = h3Style; 2166h3b.textContent = D("6rOg6rCA7LmYIOycoOyggA=="); 2167p4.parentNode.insertBefore(h3b, p4); 2168} 2169var p5 = findP(D("7ZSM66CI7J20IO2DgOyehCDrpqzsm4zrk5wg66qo64247J2EIOuwlO2DleycvOuhnA==")); 2170if (p5 && !document.querySelector('[data-ant37-sol-h3-1]')) { 2171var h3c = document.createElement('h3'); 2172h3c.setAttribute('data-ant37-sol-h3-1', '1'); 2173h3c.style.cssText = h3Style; 2174h3c.textContent = D("QUkgdFJPQVMg7Lqg7Y6Y7J247J2EIO2Gte2VnCDqs7zquIgg7J6g7J6s66ClIOq3ueuMgO2ZlA=="); 2175var newP5b = document.createElement('p'); 2176newP5b.textContent = D("TWlzdHBsYXnsnZggSGVsaW9zIEFJIOyXlOynhCDquLDrsJggSUFQIHRST0FTIOy6oO2OmOyduOydgCAn6rCc66+4IOq1sOuLqCcg64K07JeQ7IScIOyLpOygnCDqsrDsoJwg6rCA64ql7ISx7J20IOuGkuydgCDsnKDsoIDrpbwg7KCV67CA7ZWY6rKMIO2DgOqyn+2Mhe2WiOyKteuLiOuLpC4g6re4IOqysOqzvCDqs7zquIgg6rCA64ql7ISx7J20IOuCruydgCDsnKDsoIDsl5Dqsowg7J
2176iI7IKw7J20IOu2hOyCsOuQmOuKlCDruYTtmqjsnKjsnYQg7KSE7J206rOgLCBVQSDsmIjsgrAg7Zqo7Jyo7J2EIOuGkuydvCDsiJgg7J6I7JeI7Iq164uI64ukLg=="); 2177if (p5.nextSibling) { 2178p5.parentNode.insertBefore(h3c, p5.nextSibling); 2179} else { 2180p5.parentNode.appendChild(h3c); 2181} 2182h3c.parentNode.insertBefore(newP5b, h3c.nextSibling); 2183} 2184var p6 = findP(D("TWlzdHBsYXnsnZggVUEg7KCE66y46rCA65Ok66GcIOq1rOyEseuQnCDsoITri7Qg7YG065287J207Ja47Yq4IO2MgOydgA==")); 2185if (p6 && (!p6.previousElementSibling || p6.previousElementSibling.tagName !== 'H3')) { 2186var h3d = document.createElement('h3'); 2187h3d.style.cssText = h3Style; 2188h3d.textContent = D("TGl2ZU9wc+yZgCAxMOyjvOuFhCDquLDrhZAg7ZSE66Gc66qo7IWY7J2EIO2ZnOyaqe2VnCDrtoDsiqTtirgg7Zqo6rO8IOuwjyDstIjquLAg67O866WoIO2ZleuztA=="); 2189p6.parentNode.insertBefore(h3d, p6); 2190} 2191var resultsOld = findP(D("7KCE7LK0IOqysOygnCDsnKDsoIDsnZggMjAlIOydtOyDgeydhCDssKjsp4DtlojsnLzrqbA=")); 2192if (resultsOld) { 2193resultsOld.style.display = 'none'; 2194resultsOld.setAttribute('data-ant37-hidden', '1'); 2195var fn1 = findP(D("JDEwMC/sm5Qg7J207IOBIElBUA==")); 2196var fn2 = findP(D("JDEsMDAwL+yblCDsnbTsg4EgSUFQ")); 2197if (fn1) fn1.style.display = 'none'; 2198if (fn2) fn2.style.display = 'none'; 2199var uls = root.querySelectorAll('ul'); 2200var resultsUl = null; 2201for (var u = 0; u < uls.length; u++) { 2202if (uls[u].textContent.indexOf('ROAS') !== -1) { resultsUl = uls[u]; break; } 2203} 2204if (resultsUl && !resultsUl.querySelector('[data-ant37-bullet]')) { 2205var bulletTexts = [ 2206D("7Lqg7Y6Y7J24IOq4sOqwhCDtmZXrs7TrkJwg7KCE7LK0IOqysOygnCDsnKDsoIAoU3BlbmRlcnMp7J2YIDIwJSDsnbTsg4HsnYQgTWlzdHBsYXkg64uo7J28IOyxhOuEkOuhnCDtmZXrs7Q="), 2207D("7JuUIDEwMOuLrOufrCDsnbTsg4Eg7KeA7Lac7ZWY64qUIOqzoOqwgOy5mCDsnKDsoIDsnZggMjYl6rCAIE1pc3RwbGF566W8IO2Gte2VtCDsnKDsnoU="), 2208D("7JuUIDEsMDAw64us65+sIOydtOyDgSDsp4DstpztlZjripQg7LWc6rOg6rCA7LmYIOycoOyggOydmCA1MCXqsIAgTWlzdHBsYXnrpbwg7Ya17ZW0IOycoOyehQ==") 2209]; 2210for (var b = 0; b < bulletTexts.length; b++) { 2211var li = document.createElement('li'); 2212li.setAttribute('data-ant37-bullet', '1'); 2213li.textContent = bulletTexts[b]; 2214resultsUl.appendChild(li); 2215} 2216} 2217if (resultsUl && !document.querySelector('[data-ant37-resimg]')) { 2218var resImg = document.createElement('img'); 2219resImg.setAttribute('data-ant37-resimg', '1'); 2220resImg.src = 'https://cdn.prod.website-files.com/67ae5a0c0c4e8738d0744c0d/6a471f06334c504d3f2ed03d_AntLegion_KeyResults_KR_2026-07-03.png'; 2221resImg.alt = D("6rCc66+4IOq1sOuLqChBbnQgTGVnaW9uKSDsuqDtjpjsnbgg7ZW17IusIOyEseqzvCDsmpTslb06IOyghOyblCDrjIDruYQg7ISk7LmYIOyImCAyMDAlIOymneqwgCwg7YOAIOumrOybjOuTnCDssYTrhJAg64yA67mEIEQzMCBST0FTIDMwJSDsg4HtmowsIOy1nOqzoOqzvOq4iCDsnKDsoIAgNTAlIO2ZleuztA=="); 2222resImg.loading = 'lazy'; 2223resImg.style.cssText = 'display:block;width:100%;height:auto;margin:24px 0;border-radius:8px;'; 2224if (resultsUl.nextSibling) { resultsUl.parentNode.insertBefore(resImg, resultsUl.nextSibling); } 2225else { resultsUl.parentNode.appendChild(resImg); } 2226} 2227} 2228var quoteEm = findEM(D("7KCV7ZW07KeEIOyYiOyCsCDslYjsl5DshJwgUk9BUyDrqqntkZw=")); 2229if (quoteEm) { 2230quoteEm.textContent = D("Ik1pc3RwbGF57JmA7J2YIO2YkeyXhSDrjZXrtoTsl5AgJ+qwnOuvuCDqtbDri6goQW50IExlZ2lvbikn7J2AIO2VnOq1rSDsi5zsnqXsl5DshJwg7YGwIOyEseqzteydhCDqsbDrkZgg7IiYIOyeiOyXiOyKteuLiOuLpC4gdFJPQVPsl5Ag7LWc7KCB7ZmU65CcIOy6oO2OmOyduOqzvCBNaXN0cGxheeydmCAxMOyjvOuFhCDquLDrhZAg7ZSE66Gc66qo7IWY7JeQIO2emOyeheyWtCwg6rec66qo66W8IO2BrOqyjCDtmZXsnqXtlZjrqbTshJzrj4Qg67mE7Jqp6rO8IFJPQVMg66qp7ZGc66W8IOuqqOuRkCDri6zshLHtlaAg7IiYIOyeiOyXiOyKteuLiOuLpC4g7JWe7Jy866Gc64+EIO2VnOq1reyXkOyEnCBNaXN0cGxheeyZgOydmCDtjIztirjrhIjsi63snYQg7J207Ja06rCA66mwLCDtlIzroIjsnbTslrTrk6Tsl5Dqsowg642UIOuCmOydgCDqsozsnoQg6rK97ZeY7J2EIOyEoOuztOydtOqzoCDsi7bsirXri4jri6QuIg=="); 2231} 2232var attrEm = findEM('Della Lee'); 2233if (attrEm) { 2234attrEm.textContent = D("4oCUIERlbGxhIExlZSwgMzdHYW1lcyBIZWFkIG9mIFVzZXIgQWNxdWlzaXRpb24gVGVhbQ=="); 2235} 2236var ctaP = findP(D("6rOg6rCA7LmYIOyCrOyaqeyekOulvCDtmZXrs7TtlZjqs6DsnpA=")); 2237if (ctaP) { 2238var aEl = ctaP.querySelector('a'); 2239if (aEl) { 2240aEl.textContent = D("6riA66Gc67KMIFVBIOyDgeuLtCDsi6Dssq3tlZjquLA="); 2241while (ctaP.firstChild && ctaP.firstChild !== aEl) { 2242ctaP.removeChild(ctaP.firstChild); 2243} 2244var ctaText = document.createTextNode(D("MzdHYW1lc+ydmCDsgqzroYDrpbwg7Ya17ZW0IOyVjCDsiJgg7J6I65Ov7J20IOuLqOyInCDshKTsuZjri7kg64uo6rCAKENQSSnsnZgg66ek66qwIOu5hOyaqeydhCDspITsnbTqs6Ag7Iuk7KCcIOqzvOq4iOqzvCDsnqXquLAg7LK066WY66GcIOydtOyWtOyngOuKlCDsp4TshLEg7Jyg7KCA66W8IO2ZleuztO2VmOuKlCDqsoPsnbQg66qo67CU7J28IOqyjOyehCBVQSDrp4jsvIDtjIXsnZgg7ZW17Ius7J6F64uI64ukLiBNaXN0cGxheeuKlCDqsoDspp3rkJwg6rKM7J2066i4IOuNsOydtO2EsOyZgCDsoJXqtZDtlZwgQUkg7IaU66Oo7IWY7J2EIOuwlO2DleycvOuhnCDqt4DsgqzsnZgg7YOA7J207YuA7J20IO2VnOq1rSDrsI8g6riA66Gc67KMIOyLnOyepeyXkOyEnCDtmZXsi6TtlZwg66ek7LacIOyEseyepeydhCDsnbTro7Ag7IiYIOyeiOuPhOuhnSDsp4Dsm5Dtlanri4jri6QuIA==")); 2245ctaP.insertBefore(ctaText, aEl); 2246} 2247} 2248if (!document.querySelector('[data-ant37-resh2]')) { 2249var h2s10 = root.querySelectorAll('h2'); 2250for (var q = 0; q < h2s10.length; q++) { 2251var tt = h2s10[q].textContent.replace(/^\s+/, ''); 2252if (tt.indexOf(D("6rKw6rO8")) === 0) { 2253h2s10[q].textContent = D("6rKw6rO8OiDsoITsm5Qg64yA67mEIOyEpOy5mCDsiJggMjAwJ
2253SDspp3qsIAg67CPIEQzMCBST0FTIDMwJSDri6zshLE="); 2254h2s10[q].setAttribute('data-ant37-resh2', '1'); 2255break; 2256} 2257} 2258} 2259root.setAttribute(GATE, 'done'); 2260clearInterval(timer); 2261}, 250); 2262} catch (e) { /* fail silent, never break the page */ } 2263})();</script>
2263 2264<!-- 37Games Ant Legion content inject END --> 2265 2266 2267<!-- Cat Snack Bar (Treeplla) content inject START -->
2268<script>function D(s){return decodeURIComponent(escape(atob(s)))} 2269(function () { 2270try { 2271if (location.hostname.indexOf('ko.business.mistplay.com') === -1) return; 2272if (location.pathname.indexOf('treeplla-cat-snack-bar') === -1) return; 2273var GATE = 'data-catsnack-v1'; 2274var tries = 0; 2275var MAX_TRIES = 80; // 80 * 250ms = 20s 2276var timer = setInterval(function () { 2277tries++; 2278if (tries > MAX_TRIES) { clearInterval(timer); return; } 2279var root = document.querySelector('.article-richtext'); 2280if (!root) return; 2281if (root.getAttribute(GATE) === 'done') { clearInterval(timer); return; } 2282var ps = Array.prototype.slice.call(root.querySelectorAll('p')); 2283var findP = function (needle) { 2284for (var i = 0; i < ps.length; i++) { 2285if (ps[i].textContent.indexOf(needle) !== -1) return ps[i]; 2286} 2287return null; 2288}; 2289var pSol = findP(D("7KeE7ISxIOycoOyggOulvCDtmZXrs7TtlZjripQg642wIOqwleygkOydtA==")); 2290var pTroas = findP(D("7Jyg7KCAIO2WieuPmSDrjbDsnbTthLDrpbwg7Iuk7Iuc6rCE7Jy866Gc")); 2291var pLoyal = findP(D("7ZSM66CI7J20IO2DgOyehCDrpqzsm4zrk5wg66qo64247J20IOu2meyeoeyVhA==")); 2292if (!pSol || !pTroas || !pLoyal) return; // not settled yet 2293var h3Style = 'font-size:20px;font-weight:700;color:#1C2E4A;margin-top:1.75em;margin-bottom:0.4em;'; 2294if (!document.querySelector('[data-catsnack-aeo]')) { 2295var box = document.createElement('div'); 2296box.setAttribute('data-catsnack-aeo', '1'); 2297box.style.cssText = 'border-left:4px solid #4731D3;background:#F4F3FF;padding:14px 18px;margin:0 0 22px;border-radius:6px;font-size:15px;line-height:1.65;color:#2b2b33;word-break:keep-all;overflow-wrap:break-word;'; 2298box.textContent = D("7ISc7Jq47JeQIOuzuOyCrOulvCDrkZQg7LqQ7KO87Ja8IOqyjOyehCDsiqTtipzrlJTsmKQg7Yq466as7ZSM6528KFRyZWVwbGxhKeydmCDrjIDtkZzsnpEgJ+qzoOyWkeydtCDsiqTrgrXrsJQoQ2F0IFNuYWNrIEJhcikn64qUIOuvuOq1rSDsi5zsnqUg7ZmV7J6lIOuLqOqzhOyXkOyEnCDrpqzsm4zrk5wgVUEg7ZSM656r7Y+8IE1pc3RwbGF57J2YIEFJIOq4sOuwmCB0Uk9BUyDsuqDtjpjsnbjsnYQg64+E7J6F7ZaI7Iq164uI64ukLiDqt7gg6rKw6rO8IO2DgCDrp6TssrQg64yA67mEIEQ3IEFSUFUgMjAlIO2WpeyDgSwgRDcg66as7YWQ7IWYIDEwMCUg7Kad6rCALCBEMzAg66as7YWQ7IWYIDcwJSDspp3qsIDrpbwg6riw66Gd7ZWY66mwIOuvuOq1rSDsi5zsnqXsl5Ag7JWI7LCp7ZaI7Iq164uI64ukLg=="); 2299root.insertBefore(box, root.firstElementChild); 2300} 2301if (!document.querySelector('[data-catsnack-antlink]')) { 2302var pAnt = document.createElement('p'); 2303pAnt.setAttribute('data-catsnack-antlink', '1'); 2304pAnt.appendChild(document.createTextNode(D("7JWe7IScIA=="))); 2305var aAnt = document.createElement('a'); 2306aAnt.href = 'https://ko.business.mistplay.com/resources/37games-ant-legion'; 2307aAnt.textContent = D("MzdHYW1lc+ydmCDsoITrnrUgU0xHICfqsJzrr7gg6rWw64uoJw=="); 2308pAnt.appendChild(aAnt); 2309pAnt.appendChild(document.createTextNode(D("7J20IO2VnOq1rSDsi5zsnqXsl5DshJwg7YOAIOumrOybjOuTnCDssYTrhJAg64yA67mEIEQzMCBST0FT66W8IDMwJSDrgYzslrTsmKzrprAg6rKD64+EIE1pc3RwbGF57JmAIO2VqOq7mO2VnCDqsrDqs7zsmIDsirXri4jri6Qu"))); 2310if (pSol.nextSibling) { pSol.parentNode.insertBefore(pAnt, pSol.nextSibling); } 2311else { pSol.parentNode.appendChild(pAnt); } 2312} 2313if (pTroas && (!pTroas.previousElementSibling || !pTroas.previousElementSibling.hasAttribute('data-catsnack-h3a'))) { 2314if (!document.querySelector('[data-catsnack-h3a]')) { 2315var h3a = document.createElement('h3'); 2316h3a.setAttribute('data-catsnack-h3a', '1'); 2317h3a.style.cssText = h3Style; 2318h3a.textContent = D("MS4gQUkg6riw67CYIHRST0FTIOy6oO2OmOyduCAtIOqysOygnCDsnqDsnqzroKUg64aS7J2AIOqzoOqwgOy5mCDsnKDsoIAg7KCV67CAIOyEoOuzhA=="); 2319pTroas.parentNode.insertBefore(h3a, pTroas); 2320} 2321} 2322if (pLoyal && !document.querySelector('[data-catsnack-h3b]')) { 2323var h3b = document.createElement('h3'); 2324h3b.setAttribute('data-catsnack-h3b', '1'); 2325h3b.style.cssText = h3Style; 2326h3b.textContent = D("Mi4g66Gc7Je07YuwIOyDne2DnOqzhCAtIOumrOybjOuTnOulvCDrsJvsnYAg65Kk7JeQ64+EIOqyjOyehOyXkCDrgqjripQg7Jyg7KCAIOyXrOyglQ=="); 2327pLoyal.parentNode.insertBefore(h3b, pLoyal); 2328} 2329if (!document.querySelector('[data-catsnack-resh2]')) { 2330var h2s = root.querySelectorAll('h2'); 2331for (var q = 0; q < h2s.length; q++) { 2332var tt = h2s[q].textContent.replace(/^\s+/, ''); 2333if (tt.indexOf(D("6rKw6rO8")) === 0) { 2334h2s[q].textContent = D("6rKw6rO8OiDrr7jqta0g7Iuc7J6lIEQ3IEFSUFUgMjAlIO2WpeyDgcK3RDcg66as7YWQ7IWYIDEwMCXCt0QzMCDrpqzthZDshZggNzAlIOymneqwgA=="); 2335h2s[q].setAttribute('data-catsnack-resh2', '1'); 2336break; 2337} 2338} 2339} 2340var uls = root.querySelectorAll('ul'); 2341var resultsUl = null; 2342for (var u = 0; u < uls.length; u++) { 2343if (uls[u].textContent.indexOf('ARPU') !== -1) { resultsUl = uls[u]; break; } 2344} 2345if (resultsUl && !resultsUl.querySelector('[data-catsnack-b3]')) { 2346var li3 = document.createElement('li'); 2347li3.setAttribute('data-catsnack-b3', '1'); 2348li3.appendChild(document.createTextNode(D("RDMwIOumrO2FkOyFmCA="))); 2349var st3 = document.createElement('strong'); 2350st3.textContent = "70%"; 2351li3.appendChild(st3); 2352li3.appendChild(document.createTextNode(D("IOymneqwgCAtIOuhnOyXtO2LsCDsnqXsuZjsmYAg7Jew64+Z64+8IOyepeq4sCDsnpTsobQg7Jyg7KeA"))); 2353resultsUl.appendChild(li3); 2354} 2355if (resultsUl && !document.querySelector('[data-catsnack-fn]')) { 2356var fn = document.createElement('p'); 2357fn.setAttribute('data-catsnack-fn', '1'); 2358fn.style.cssText = 'font-size:13px;color:#666;font-style:italic;margin-top:6px;'; 2359fn.textContent = D("Ku2DgCDrp6TssrQg64yA67mE"); 2360if (resultsUl.nextSibling) { resultsUl.parentNode.insertBefore(fn, resultsUl.nextSibling); } 2361else { resultsUl.parentNode.appendChild(fn); } 2362} 2363if (!document.body.hasAttribute('data-catsnack-alt')) { 2364var imgsA = document.querySelectorAll('img'); 2365for (var m = 0; m < imgsA.length; m++) { 2366var srcA = imgsA[m].getAttribute('src') || ''; 2367if (srcA.indexOf('Treeplla-CatSnackBar_Blog') !== -1) { imgsA[m].setAttribute('alt', D("7Yq466as7ZSM6528IOqzoOyWkeydtCDsiqTrgrXrsJQg66+46rWtIOyLnOyepSDshLHqs7Ug7IKs66GAIOKAlCBNaXN0cGxheSB4I
2367FRyZWVwbGxh")); } 2368if (srcA.indexOf('6707d7291871736d1bd9cb32') !== -1) { imgsA[m].setAttribute('alt', D("7Yq466as7ZSM6528KFRyZWVwbGxhKSDsiqTtipzrlJTsmKQg6rCc7JqUIOKAlCDshJzsmrgg7IaM7J6sLCDsp4Hsm5Ag7JW9IDUw66qFLCDsm5TqsIQg7Zmc7ISxIOyCrOyaqeyekCAxMDDrp4wg66qFIOydtOyDgSwg7Iuc666s66CI7J207IWYwrfsupDso7zslrwg7J6l66W0")); } 2369} 2370document.body.setAttribute('data-catsnack-alt', '1'); 2371} 2372if (!document.querySelector('[data-catsnack-bridge]')) { 2373var pSrc = findP('data.ai'); 2374if (pSrc) { 2375var pBr = document.createElement('p'); 2376pBr.setAttribute('data-catsnack-bridge', '1'); 2377pBr.textContent = D("66y47KCc64qUIOuLpOyatOuhnOuTnOqwgCDqs6cg66ek7Lac7J2AIOyVhOuLiOudvOuKlCDsoJDsnbTsl4jsirXri4jri6QuIO2GsTPsl5Ag7Jik66W4IOyduOq4sOulvCDsnKDsp4DtlZjrqbTshJwg66ek7Lac6rmM7KeAIO2CpOyasOugpOuptCwg66+46rWtIOyLnOyepeydhCDsnpgg7JWE64qUIFVBIO2MjO2KuOuEiOqwgCDtlYTsmpTtlojsirXri4jri6Qu"); 2378if (pSrc.nextSibling) { pSrc.parentNode.insertBefore(pBr, pSrc.nextSibling); } 2379else { pSrc.parentNode.appendChild(pBr); } 2380} 2381} 2382if (!document.body.hasAttribute('data-catsnack-bold')) { 2383var boldTargets = [D("66as7JuM65Oc66eMIOuwm+qzoCDrlqDrgpjripQg7Jyg7KCA6rCAIOyVhOuLiOudvCDqsozsnoTsl5Ag64Ko7JWEIOqysOygnO2VmOuKlCDsp4TshLEg7Jyg7KCA66W8IOyWvOuniOuCmCDtmZXrs7Q="), D("7Jyg7KCA6rCAIOyyqyDshKTsuZgg7J207ZuE7JeQ64+EIOyekOyXsOyKpOufveqyjCAn6rOg7JaR7J20IOyKpOuCteuwlCfroZwg64+M7JWE7JmAIOyYpOuemCDrqLjrrLzrj4TroZ0g7Jyg7KCAIOyXrOygleydhCDshKTqs4Q=")]; 2384for (var bt = 0; bt < boldTargets.length; bt++) { 2385var needleB = boldTargets[bt]; 2386var pB = findP(needleB.slice(0, 20)); 2387if (pB && pB.textContent.indexOf(needleB) !== -1 && !pB.querySelector('strong')) { 2388pB.innerHTML = pB.innerHTML.replace(needleB, '<strong>' + needleB + '</strong>'); 2389} 2390} 2391document.body.setAttribute('data-catsnack-bold', '1'); 2392} 2393root.setAttribute(GATE, 'done'); 2394clearInterval(timer); 2395}, 250); 2396} catch (e) { /* fail silent, never break the page */ } 2397})();</script>
2397 2398<!-- Cat Snack Bar (Treeplla) content inject END --> 2399 2400 2401<!-- hreflang restore (Hosoo Media 2026-08-18) START --> 2402<!-- Weglot strips rel=alternate hreflang tags on translated subdomains. 2403 Re-inject them from weglot-data allLanguageUrls after DOM parse. 2404 Original EN has no weglot-data element, so this is a no-op there. 2405 Rollback: delete this block. -->
2406<script> 2407(function () { 2408 var el = document.getElementById('weglot-data'); 2409 if (!el) return; 2410 var urls; 2411 try { urls = (JSON.parse(el.textContent) || {}).allLanguageUrls; } catch (e) { return; } 2412 if (!urls) return; 2413 Object.keys(urls).forEach(function (lang) { 2414 if (document.querySelector('link[rel="alternate"][hreflang="' + lang + '"]')) return; 2415 var link = document.createElement('link'); 2416 link.rel = 'alternate'; 2417 link.hreflang = lang; 2418 link.href = String(urls[lang]).split('?')[0].split('#')[0]; 2419 document.head.appendChild(link); 2420 }); 2421})(); 2422</script>
2422 2423<!-- hreflang restore (Hosoo Media 2026-08-18) END --> 2424<!-- Retention benchmarks AI summary box (Hosoo Media 2026-09-01, D1 rev 2026-09-01) START --> 2425<!-- KO-only + page-scoped (mobile-game-retention-benchmarks). Adds AI summary box at top of article (under H1), same style as Netmarble. Pure ASCII. Rollback: delete this block. -->
2426<script> 2427(function(){ 2428 if (location.hostname.indexOf("ko.") !== 0) return; 2429 if (location.pathname.indexOf("mobile-game-retention-benchmarks") < 0) return; 2430 function run(){ 2431 var rich = document.querySelector(".article-richtext"); 2432 if (!rich || !rich.firstElementChild) return false; 2433 if (rich.querySelector("[data-bm-aeo]")) return true; 2434 if (!document.getElementById("bm-aeo-style")){ 2435 var st = document.createElement("style"); 2436 st.id = "bm-aeo-style"; 2437 st.textContent = "[data-bm-aeo]{word-break:keep-all;overflow-wrap:break-word;}"; 2438 document.head.appendChild(st); 2439 } 2440 var box = document.createElement("div"); 2441 box.setAttribute("data-bm-aeo","1"); 2442 box.style.cssText = "border-left:4px solid #4731D3;background:#f4f3ff;padding:14px 18px;margin:0 0 22px;border-radius:6px;"; 2443 box.innerHTML = "\ubaa8\ubc14\uc77c \uac8c\uc784 \ud3c9\uade0 \ub9ac\ud150\uc158\uc740 D1(1\uc77c\ucc28) 30% \uc548\ud30e\uc774 \uae30\uc900\uc120\uc785\ub2c8\ub2e4. AppsFlyer\u00b7Adjust \uc9d1\uacc4 \uae30\uc900 iOS\uac00 D1 35.7%\ub85c Android(27.5%)\ubcf4\ub2e4 \ub192\uace0, \uc7a5\ub974\ubcc4\ub85c\ub294 \ub9e4\uce583\uac00 D1 32.65%\ub85c \uac00\uc7a5 \ub192\uc2b5\ub2c8\ub2e4. \uc544\ub798\uc5d0\uc11c D1\u00b7D7\u00b7D30\uacfc \uc7a5\ub974\ubcc4\u00b7\uad6d\uac00\ubcc4 \uc218\uce58\ub97c \ud655\uc778\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4."; 2444 rich.insertBefore(box, rich.firstElementChild); 2445 return true; 2446 } 2447 var tries = 0; 2448 (function loop(){ tries++; if (run()) return; if (tries < 40) setTimeout(loop, 300); })(); 2449})(); 2450</script>
2450 2451<!-- Retention benchmarks AI summary box END --> 2452 2453<!-- Retention metrics AI summary box (Hosoo Media 2026-09-01) START --> 2454<!-- KO-only + page-scoped (mobile-game-retention-metrics). Adds AI summary box at top of article (under H1), same style as Netmarble. Pure ASCII. Rollback: delete this block. -->
2455<script> 2456(function(){ 2457 if (location.hostname.indexOf("ko.") !== 0) return; 2458 if (location.pathname.indexOf("mobile-game-retention-metrics") < 0) return; 2459 function run(){ 2460 var rich = document.querySelector(".article-richtext"); 2461 if (!rich || !rich.firstElementChild) return false; 2462 if (rich.querySelector("[data-rm-aeo]")) return true; 2463 if (!document.getElementById("bm-aeo-style")){ 2464 var st = document.createElement("style"); 2465 st.id = "bm-aeo-style"; 2466 st.textContent = "[data-rm-aeo]{word-break:keep-all;overflow-wrap:break-word;}"; 2467 document.head.appendChild(st); 2468 } 2469 var box = document.createElement("div"); 2470 box.setAttribute("data-rm-aeo","1"); 2471 box.style.cssText = "border-left:4px solid #4731D3;background:#f4f3ff;padding:14px 18px;margin:0 0 22px;border-radius:6px;"; 2472 box.innerHTML = "\ubaa8\ubc14\uc77c \uac8c\uc784 \ub9ac\ud150\uc158 \uc9c0\ud45c\ub294 DX \ub9ac\ud150\uc158, LTV, \uc774\ud0c8\ub960, \uace0\ucc29\ub3c4(DAU/MAU), \ub864\ub9c1 \ub9ac\ud150\uc158, \ube0c\ub798\ud0b7 \ub9ac\ud150\uc158 \uc5ec\uc12f \uac00\uc9c0\uac00 \ud575\uc2ec\uc785\ub2c8\ub2e4. \uc774 \uae00\uc5d0\uc11c \uac01 \uc9c0\ud45c\uc758 \uacc4\uc0b0\uc2dd\uacfc \uc5b8\uc81c \uc4f0\ub294\uc9c0\ub97c \uc815\ub9ac\ud588\uc2b5\ub2c8\ub2e4."; 2473 rich.insertBefore(box, rich.firstElementChild); 2474 return true; 2475 } 2476 var tries = 0; 2477 (function loop(){ tries++; if (run()) return; if (tries < 40) setTimeout(loop, 300); })(); 2478})(); 2479</script>
2479 2480<!-- Retention metrics AI summary box END --> 2481<!-- Retention metrics comparison table (Hosoo Media 2026-09-01 v3) START --> 2482<!-- KO-only + page-scoped (mobile-game-retention-metrics). 3-column metric table under the AI summary box. Stacks into cards under 700px. Pure ASCII. Rollback: delete this block. -->
2483<script> 2484(function(){ 2485 if (location.hostname.indexOf("ko.") !== 0) return; 2486 if (location.pathname.indexOf("mobile-game-retention-metrics") < 0) return; 2487 function run(){ 2488 var rich = document.querySelector(".article-richtext"); 2489 if (!rich || !rich.firstElementChild) return false; 2490 if (rich.querySelector("[data-rm-table]")) return true; 2491 if (!document.getElementById("hm-rm-table-css")) { 2492 var st = document.createElement("style"); 2493 st.id = "hm-rm-table-css"; 2494 st.textContent = "[data-rm-table]{border:1px solid #e6e4f5;background:#fbfaff;padding:16px 18px;margin:0 0 22px;border-radius:6px;max-width:100%;box-sizing:border-box;}[data-rm-table] .rmT{font-weight:700;margin:0 0 10px;}[data-rm-table] .rmW{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;}[data-rm-table] table{border-collapse:collapse;width:100%;font-size:15px;line-height:1.6;}[data-rm-table] th{text-align:left;padding:10px 12px;border-bottom:2px solid #4731D3;white-space:nowrap;}[data-rm-table] td{padding:10px 12px;border-bottom:1px solid #e6e4f5;vertical-align:top;}[data-rm-table] td.rmN{font-weight:600;white-space:nowrap;}[data-rm-table] .rmL{display:none;}@media (min-width:701px){[data-rm-table] table{min-width:560px;}}@media (max-width:700px){[data-rm-table] .rmW{overflow-x:visible;}[data-rm-table] table,[data-rm-table] thead,[data-rm-table] tbody,[data-rm-table] tr,[data-rm-table] th,[data-rm-table] td{display:block;width:auto;max-width:100%;min-width:0;}[data-rm-table] thead{display:none;}[data-rm-table] tr{border-bottom:1px solid #e6e4f5;padding:10px 0;}[data-rm-table] tr:last-child{border-bottom:0;}[data-rm-table] td{border-bottom:0;padding:2px 0;white-space:normal;word-break:keep-all;overflow-wrap:break-word;}[data-rm-table] td.rmN{white-space:normal;font-weight:700;margin-bottom:2px;}[data-rm-table] .rmL{display:inline;color:#6b6a80;}}"; 2495 document.head.appendChild(st); 2496 } 2497 var anchor = rich.querySelector("[data-rm-aeo]"); 2498 var box = document.createElement("div"); 2499 box.setAttribute("data-rm-table","1"); 2500 box.innerHTML = "<div class=\\\"rmT\\\">\ubaa8\ubc14\uc77c \uac8c\uc784 \ub9ac\ud150\uc158 \uc9c0\ud45c 6\uac00\uc9c0 \ud55c\ub208\uc5d0 \ubcf4\uae30</div><div class=\\\"rmW\\\"><table><thead><tr><th>\uc9c0\ud45c</th><th>\uacc4\uc0b0\uc2dd</th><th>\uc5b8\uc81c \uc4f0\ub294\uc9c0</th></tr></thead><tbody><tr><td class=\\\"rmN\\\">1. DX \ub9ac\ud150\uc158</td><td><span class=\\\"rmL\\\">\uacc4\uc0b0\uc2dd </span>(0\uc77c\ucc28\uc5d0 \uac8c\uc784\uc744 \ucc98\uc74c \uc5f0 \uc720\uc800 \uc911 X\uc77c\ucc28\uae4c\uc9c0 \uac8c\uc784\uc744 \uc5f0 \uc720\uc800 \uc218) / (0\uc77c\ucc28\uc5d0 \uac8c\uc784\uc744 \ucc98\uc74c \uc5f0 \uc804\uccb4 \uc720\uc800 \uc218)</td><td><span class=\\\"rmL\\\">\uc5b8\uc81c </span>\uac8c\uc784 \uc0c1\ud0dc\ub97c \uac00\uc7a5 \uba3c\uc800 \ud655\uc778\ud558\ub294 \uae30\uc900\uc785\ub2c8\ub2e4. D1 40%, D7 20%, D30 10%\uac00 \ubaa9\ud45c\uc120\uc785\ub2c8\ub2e4.</td></tr><tr><td class=\\\"rmN\\\">2. LTV(\uc0dd\uc560\uac00\uce58)</td><td><span class=\\\"rmL\\\">\uacc4\uc0b0\uc2dd </span>(DAU\ub2f9 \ud3c9\uade0 \uc218\uc775) \u00d7 (\uc720\uc800\uc758 \ud3c9\uade0 \uac8c\uc784 \uc774\uc6a9 \uae30\uac04)</td><td><span class=\\\"rmL\\\">\uc5b8\uc81c </span>\ucea0\ud398\uc778\uacfc UA \ucc44\ub110\ubcc4 \uc131\uacfc\ub97c \uae08\uc561\uc73c\ub85c \ube44\uad50\ud560 \ub54c \uc501\ub2c8\ub2e4.</td></tr><tr><td class=\\\"rmN\\\">3. \uc774\ud0c8\ub960</td><td><span class=\\\"rmL\\\">\uacc4\uc0b0\uc2dd </span>(X\uc77c\ucc28 \uc774\ud6c4 \uac8c\uc784\uc744 \uc5f4\uc9c0 \uc54a\uc740 \uc720\uc800 \uc218) / (0\uc77c\ucc28\uc5d0 \uac8c\uc784\uc744 \ucc98\uc74c \uc5f0 \uc804\uccb4 \uc720\uc800 \uc218)</td><td><span class=\\\"rmL\\\">\uc5b8\uc81c </span>\uc720\uc800\uac00 \uc5b8\uc81c \ub5a0\ub098\ub294\uc9c0, UA \uc804\ub7b5\uc774 \uc131\uc7a5 \ubaa9\ud45c\uc640 \ub9de\ub294\uc9c0 \ubcfc \ub54c \uc501\ub2c8\ub2e4.</td></tr><tr><td class=\\\"rmN\\\">4. \uace0\ucc29\ub3c4 (DAU/MAU)</td><td><span class=\\\"rmL\\\">\uacc4\uc0b0\uc2dd </span>(DAU) / (MAU)</td><td><span class=\\\"rmL\\\">\uc5b8\uc81c </span>\ub9ac\ud150\uc158\ubcf4\ub2e4 \ud55c \uac78\uc74c \ub354 \ub4e4\uc5b4\uac00 \uc720\uc800 \ub85c\uc5f4\ud2f0\ub97c \uac00\ub2a0\ud560 \ub54c \uc501\ub2c8\ub2e4.</td></tr><tr><td class=\\\"rmN\\\">5. \ub864\ub9c1 \ub9ac\ud150\uc158</td><td>
2500<span class=\\\"rmL\\\">\uacc4\uc0b0\uc2dd </span>(X\uc77c\ucc28 \uc774\ud6c4 \ub9c8\uc9c0\ub9c9\uc73c\ub85c \uac8c\uc784\uc744 \uc5f0 \uc720\uc800 \uc218) / (0\uc77c\ucc28\uc5d0 \uac8c\uc784\uc744 \ucc98\uc74c \uc5f0 \uc804\uccb4 \uc720\uc800 \uc218)</td><td><span class=\\\"rmL\\\">\uc5b8\uc81c </span>\uc815\ud655\ud55c \uc774\ud0c8 \uc2dc\uc810\ubcf4\ub2e4 \ub2e4\uc2dc \ub3cc\uc544\uc654\ub294\uc9c0\uac00 \uc911\uc694\ud560 \ub54c \uc501\ub2c8\ub2e4.</td></tr><tr><td class=\\\"rmN\\\">6. \ube0c\ub798\ud0b7 \ub9ac\ud150\uc158</td><td><span class=\\\"rmL\\\">\uacc4\uc0b0\uc2dd </span>DX \ub9ac\ud150\uc158\uacfc \uac19\uc740 \ubc29\uc2dd\uc774\ub418 \ud558\ub8e8\uac00 \uc544\ub2c8\ub77c \uae30\uac04 \uad6c\uac04\uc73c\ub85c \uc9d1\uacc4</td><td><span class=\\\"rmL\\\">\uc5b8\uc81c </span>\ucf58\ud150\uce20\ub97c \ub2e8\uacc4\ubcc4\ub85c \ud478\ub294 \uac8c\uc784\uc5d0\uc11c \ub2e8\uacc4\ubcc4 \uc601\ud5a5\uc744 \ubcfc \ub54c \uc501\ub2c8\ub2e4.</td></tr></tbody></table></div>"; 2501 if (anchor && anchor.nextSibling) { rich.insertBefore(box, anchor.nextSibling); } 2502 else if (anchor) { rich.appendChild(box); } 2503 else { rich.insertBefore(box, rich.firstElementChild); } 2504 return true; 2505 } 2506 var tries = 0; 2507 (function loop(){ tries++; if (run()) return; if (tries < 40) setTimeout(loop, 300); })(); 2508})(); 2509</script>
2509 2510<!-- Retention metrics comparison table END --> 2511 2512<!-- KO article heading spacing (Hosoo Media 2026-09-01) START --> 2513<!-- KO-only. Adds breathing room above H2/H3 in article body for readability. Rollback: delete this block. -->
2514<script> 2515(function(){ 2516 if (location.hostname.indexOf("ko.") !== 0) return; 2517 if (document.getElementById("hm-ko-heading-space")) return; 2518 var s = document.createElement("style"); 2519 s.id = "hm-ko-heading-space"; 2520 s.textContent = ".article-richtext h2:not(:first-child){margin-top:2.4em;}" 2521 + ".article-richtext h3:not(:first-child){margin-top:2em;}" 2522 + ".article-richtext h4:not(:first-child){margin-top:1.7em;}" 2523 + ".article-richtext h2,.article-richtext h3,.article-richtext h4{margin-bottom:.6em;}"; 2524 document.head.appendChild(s); 2525})(); 2526</script>
2526 2527 2528<!-- KO article table horizontal scroll (Hosoo Media 2026-09-01) START --> 2529<!-- KO-only. CMS tables in article body are wider than mobile viewport and push the page sideways (same on EN, upstream issue). Wraps each table in a horizontal scroll container so the page itself no longer overflows. Rollback: delete this block. -->
2530<script> 2531(function(){ 2532 if (location.hostname.indexOf("ko.") !== 0) return; 2533 function run(){ 2534 var rich = document.querySelector(".article-richtext"); 2535 if (!rich) return false; 2536 var tables = rich.querySelectorAll("table"); 2537 if (!tables.length) return false; 2538 if (!document.getElementById("hm-ko-table-scroll")) { 2539 var st = document.createElement("style"); 2540 st.id = "hm-ko-table-scroll"; 2541 st.textContent = ".hm-tw{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 0 18px;}" 2542 + ".hm-tw>table{margin-bottom:0;}"; 2543 document.head.appendChild(st); 2544 } 2545 for (var i = 0; i < tables.length; i++) { 2546 var t = tables[i]; 2547 if (t.parentNode && t.parentNode.className === "hm-tw") continue; 2548 if (t.closest("[data-rm-table]")) continue; 2549 var w = document.createElement("div"); 2550 w.className = "hm-tw"; 2551 t.parentNode.insertBefore(w, t); 2552 w.appendChild(t); 2553 } 2554 return true; 2555 } 2556 var tries = 0; 2557 (function loop(){ tries++; if (run()) return; if (tries < 40) setTimeout(loop, 300); })(); 2558})(); 2559</script>
2559 2560<!-- KO article table horizontal scroll END --> 2561 2562 2563 2564<!-- AM guide KO (Hosoo 2026-09-16) START -->
2565<script>function D(s){return decodeURIComponent(escape(atob(s)))} 2566(function(){var L=location;if(L.hostname.indexOf('ko.')||L.pathname.indexOf('/resources/app-monetization-guide')<0)return;var A=D("66qo67CU7J28IOyVsSDsiJjsnbXtmZQg66qo64247J2AIOyduOyVsSDqsrDsoJwoSUFQKSwg7J247JWxIOq0keqzoChJQUEpLCDqtazrj4UsIOyYpO2NvOyblCwg7KCc7Zy0IOyYpO2NvCwg7ZSE66as66+47JeELCDsnKDro4wg7JWxIOydvOqzsSDqsIDsp4DqsIAg7ZW17Ius7J6F64uI64ukLiAyMDI164WEIOq4sOykgCDsnbjslbEg6rSR6rOgIOyLnOyepeydgCDslb0gMyw5MDDslrUg64us65+s66GcIOuUlOyngO2EuCDqtJHqs6Ag7KeA7Lac7J2YIOyVvSA1NiXrpbwg7LCo7KeA7ZWY6rOgLCDsnbjslbEg6rKw7KCc64qUIOu5hOqyjOyehCDslbHsnZgg7JW9IDUwJSwg6rKM7J6EIOyVseydmCDslb0gNzkl6rCAIOyCrOyaqe2VqeuLiOuLpC4g7J20IOq4gOyXkOyEnCDqsIEg66qo64247J2YIOyImOydtSDqtazsobDsmYAg7Ja065akIOyVseyXkCDrp57ripTsp4AsIOyEseqzvOulvCDsnqzripQg7KeA7ZGcIDfqsIDsp4DsnZgg6rOE7IKw7Iud7J2EIOygleumrO2WiOyKteuLiOuLpC4="),H=[D("66qo6424"),D("7IiY7J217J20IOyDneq4sOuKlCDrsKnsi50="),D("66ee64qUIOyVsQ=="),D("67O466y47JeQIOyeiOuKlCDsiJjsuZg=")],R=[[D("7J247JWxIOqysOygnCBJQVA="),D("7JWxIOyViOyXkOyEnCDslYTsnbTthZzCt+q4sOuKpcK37J6s7ZmU66W8IO2MkOunpA=="),D("6rKM7J6ELCDsvZjthZDsuKAg7JWx"),D("67mE6rKM7J6EIDUwJSwg6rKM7J6EIDc5JeqwgCDsgqzsmqkgLyDqsrDsoJwg7J207Jqp7J6QIOyVvSA1JQ==")],[D("7J247JWxIOq0keqzoCBJQUE="),D("6rSR6rOgIOyngOuptOydhCDtjJDrp6TtlbQg64W47LacwrftgbTrpq3snLzroZwg7KCV7IKw"),D("7J207Jqp7J6Q6rCAIOunjuydgCDrrLTro4wg7JWx"),D("MjAyNeuFhCDslb0gMyw5MDDslrUg64us65+sLCDrlJTsp4DthLgg6rSR6rOg7J2YIOyVvSA1NiU=")],[D("6rWs64+F"),D("7KCV6riwIOqysOygnOuhnCDtlITrpqzrr7jsl4Qg6riw64qlIOygnOqztQ=="),D("7L2Y7YWQ7LigLCDrj4TqtawsIOyEnOu5hOyKpCDslbE="),D("66y066OMIOyytO2XmCDsoJzqs7XsnbQg7J2867CY7KCB")],[D("7Jik7Y287JuU"),D("7J207Jqp7J6Q6rCAIOuvuOyFmOydhCDsmYTro4ztlZjrqbQg67O07IOBLCDqtJHqs6Dso7zqsIAg67mE7JqpIOyngOu2iA=="),D("66as7JuM65OcIOq1rOyhsOqwgCDsnojripQg7JWx"),D("67O07IOB7ZiVIOyduOyVsSDqtJHqs6DsnZgg7ZWcIO2Yle2DnA==")],[D("7KCc7Zy0IOyYpO2NvA=="),D("7KCcM+yekCDsg4HtkojsnYQg7ZmN67O07ZWY6rOgIOyEseqzvOyXkCDrlLDrnbwg7IiY7IiY66OM"),D("7Yq4656Y7ZS97J20IO2BsCDslbE="),D("66eI7LyA7YSwIOyVvSA4MCXqsIAg7Zmc7Jqp")],[D("7ZSE66as66+47JeEKOu2gOu2hCDsnKDro4ztmZQp"),D("6riw67O4IOustOujjCwg7LaU6rCAIOq4sOuKpeydgCDsnKDro4w="),D("6riw64ql7J20IOuLqOqzhOuhnCDrgpjriZjripQg7JWx"),D("66eI7LyTIOyVseydmCDslb0gOTAl6rCAIOustOujjA==")],[D("7Jyg66OMIOyVsQ=="),D("64uk7Jq066Gc65OcIOyLnOygkOyXkCDqs7zquIg="),D("7KCE66y4IOuPhOq1rCwg7YuI7IOIIOyVsQ=="),D("aU9TIOycoOujjCDslbEg67mE7KSRIOyVvSA0LjYzJQ==")]],T=D("TFRW64qUIOumrO2FkOyFmOqzvCDtlajqu5gg67SQ7JW8IOydmOuvuOqwgCDsnojsirXri4jri6QuIOqzhOyCsOyLneqzvCBEMcK3RDfCt0QzMCDquLDspIDqsJLsnYAgPGEgaHJlZj0iaHR0cHM6Ly9rby5idXNpbmVzcy5taXN0cGxheS5jb20vcmVzb3VyY2VzL21vYmlsZS1nYW1lLXJldGVudGlvbi1tZXRyaWNzIj7rqqjrsJTsnbwg6rKM7J6EIOumrO2FkOyFmCDsp4DtkZwgNuqwgOyngOyZgCDqs4TsgrDrspU8L2E+7JeQ7IScIO2ZleyduO2VoCDsiJgg7J6I7Iq164uI64ukLg=="),C="[data-am]{word-break:keep-all}.amT{border:1px solid #e6e4f5;background:#fbfaff;padding:16px 18px;margin:0 0 22px;border-radius:6px}.amT table{border-collapse:collapse;width:100%;font-size:15px;line-height:1.6}.amT th{text-align:left;padding:10px 12px;border-bottom:2px solid #4731D3}.amT td{padding:10px 12px;border-bottom:1px solid #e6e4f5;vertical-align:top}.amT td:first-child{font-weight:600}.amT i{display:none;font-style:normal;color:#6b6a80}@media(max-width:700px){.amT thead{display:none}.amT tr,.amT td{display:block;padding:2px 0;border:0}.amT tr{padding:10px 0;border-bottom:1px solid #e6e4f5}.amT i{display:inline}}",M={'/monetize/loyaltyplay':'/publishers/loyaltyplay','/advertise/android':'/advertisers/android','/advertise/ios':'/advertisers/ios','/monetize/hex':'/advertisers/hex'};function e(s){return s.replace(/&/g,'&').replace(/</g,'<')}function r(){var d=document,x=d.querySelector('.article-richtext');if(!x||!x.firstElementChild)return 0;if(x.querySelector('[data-am]'))return 1;var s=d.createElement('style');s.textContent=C;d.head.appendChild(s);var b=d.createElement('div');b.setAttribute('data-am','1');b.style.cssText='border-left:4px solid #4731D3;background:#f4f3ff;padding:14px 18px;margin:0 0 22px;border-radius:6px';b.textContent=A;x.insertBefore(b,x.firstElementChild);var h,g=x.querySelectorAll('h2');for(var i=0;i<g.length;i++){var n=g[i].nextElementSibling;if(n&&/^1\..*IAP/.test(n.textContent.trim())){h=g[i];break}}if(h){var o='<div class="hm-tw"><table><thead><tr>'+H.map(function(z){return'<th>'+e(z)+'</th>'}).join('')+'</tr></thead><tbody>'+R.map(function(w){return'<tr>'+w.map(function(c,k){return'<td>'+(k?'<i>'+e(H[k])+' </i>':'')+e(c)+'</td>'}).join('')+'</tr>'}).join('')+'</tbody></table></div>';var t=d.createElement('div');t.className='amT';t.setAttribute('data-am','2');t.innerHTML=o;h.parentNode.insertBefore(t,h.nextSibling)}var p=x.querySelectorAll('p');for(var j=0;j<p.length;j++){var q=p[j].querySelector('strong');if(q&&/^1\..*LTV\)/.test(q.textContent.trim())){var f=p[j].nextElementSibling;if(f&&/LTV\s*=/.test(f.textContent))f.innerHTML=T;break}}[].forEach.call(x.querySelectorAll('a[href]'),function(a){try{var u=new URL(a.href);if(M[u.pathname])a.href='https://'+L.hostname+M[u.pathname]}catch(z){}});return 1}var c=0;(function l(){if(!r()&&++c<40)setTimeout(l,300)})()})()</script>
2566 2567<!-- AM guide KO END --> 2568 2569 2570<!-- Futureplay 2026 KO (Hosoo 2026-09-23) START -->
2571<script>(function(){if(location.hostname.indexOf("ko.")!==0||location.pathname.indexOf("futureplay-case-study")<0)return; 2572var B="lVXdbhpnEH2V0UqWbAUwP2mjcocauepFWqlRriyrwniToPDjsqDKqiphZ20hIC2NWYzjBYFiO2BRaYF1TFLyQjuz79CZBdw4ah31bne/b2bOnHNm9hflqRJdX1fcV1XaGwAdVB3LVHyKe9ijUdOtV7FTopYNzqhKbZ3OS4srG751BX/XqaODM55SR4Jm7/NXufDD97GHeDYF6hRdo0kV0907pTdFIKNM5hT7NukmOFcmXvTAPTawWuQsiyBs9Khho9nD88E8yBl3rq9zpleWM7G8Qq5hOyML0OqTUeIcdFDH1z3ab85Ojw1qn5E+ZGjAIXQ0YKiAb3XSW9TSgUzdNUxwDy5do89odWxfCglenAQxELc8YSB4ZXFWiXGNnvNXE6jdxXL9k1Apyng4krPMHqJw/x5Ia4AXffcPE7hZfKfDnUhwyQf3I0G4cze4pGxs+JRNJfrf/C+vFfKFnLqdiu/AN/G0qq1I+XAw9AXucyP6KZ5/wBr3YhSxXcRDfjoaUGUofLWaXLyHVp1a03lGoPKpWzaxXqfmKXZNH2BvImw7Fgd3lh+ouScqF8ptqRltBfBwCF+x/As8LGKXWymx7ruAFZbE5g9SNRSkxiU4Q1u4Qr3pjKZUvsRKiW8F4EFSy3stxApbSTWTUOE7Nf9zNveMjosQ297W1lI7ak5csKD50JrbJRwMfymthuik7onZtYGdxUJ9luF/O2TSpQwnwm7LbZT+AcnSxb3Z+DquqQ/zha2dH9fE5LfwIwyzAZ3RBwbMsJh5fQj0vobnf7q6Jc1Rx6CTGk/RC28qnrd88InWHynMhHdNNj0XY6OVRGmaFvkOq+Ypp1usHNveQr3kuU5wJrP+bzOPs7dPccfAsQ3MRHThhBuNsQ/GE9kI1z7yAb3ZFeihYBAv9kFQPN/1SXf0ekoNHpL2GZ7ZnoVTefYwmR1u0Rvssb38KLbCiFIFPniaz29r0dXVZ9nAZkFLZlRNC6TnjggksunVnKplC7mEqq2ms5vJlOovaGrOH0/8VEhqyXwym+FM6bCUuDmXgC8sxiW0iC1fXqF1Qu96WGsydRyjhW4bLWGZ3RUWd93l5SCeeFvkZPI14nlu9hWYGIlcuFhkz3vmovcd9zdeD5P5ZMwdKQ4LRwL3lgAPXvKpR54xlQIsqQAL3wZskXxvgF3ZkFpEWj+qyTigbKeS7KGb1tX+J9GPr03nT4un/U9mnvYn2P1+Tewv8m19jsBrTm4MsqgxFr+4TQMexbzB9vY9/xawb/H4FWVvjKofz6j357BLsn+xIpMkO5pXPI4M5de/AQ==",D,n=0; 2573new Response(new Blob([Uint8Array.from(atob(B),function(c){return c.charCodeAt(0)})]).stream().pipeThrough(new DecompressionStream("deflate-raw"))).text().then(function(t){D=JSON.parse(t);g();}); 2574function g(){var a=document.querySelector(".article-richtext");if(!a){if(++n<160)setTimeout(g,250);return;} 2575var H=a.parentNode.querySelectorAll("h2,h3"),i,k,e; 2576for(i=0;i<H.length;i++){e=H[i];for(k=0;k<D.h.length;k++)if(e.textContent.trim()===D.h[k][0])e.textContent=D.h[k][1];} 2577var M=document.querySelectorAll("img");for(i=0;i<M.length;i++)for(k=0;k<D.a.length;k++)if((M[i].src||"").indexOf(D.a[k][0])>=0&&!M[i].alt)M[i].alt=D.a[k][1]; 2578if(!a.querySelector("[data-fp]")){e=document.createElement("p");e.setAttribute("data-fp","1");e.textContent=D.b;a.insertBefore(e,a.firstChild);} 2579var P=a.querySelectorAll("p"),c=null,done=0; 2580for(i=0;i<P.length;i++){e=P[i]; 2581if(!done&&!e.querySelector("a")&&e.textContent.indexOf(D.lt)>=0&&e.textContent.indexOf(D.m2)<0){e.innerHTML=e.innerHTML.replace(D.lt,'<a href="'+D.lu+'">'+D.lt+"</a>");done=1;} 2582if(e.textContent.indexOf(D.m2)===0)c=e;} 2583if(c&&!document.querySelector("[data-fp2]")){e=document.createElement("p");e.setAttribute("data-fp2","1");e.innerHTML=D.s1+'<a href="'+D.su+'">'+D.s2+"</a>"+D.s3;c.parentNode.insertBefore(e,c);} 2584var S=document.querySelectorAll('script[type="application/ld+json"]'); 2585for(i=0;i<S.length;i++){try{var j=JSON.parse(S[i].textContent),A=j["@graph"]||(Array.isArray(j)?j:[j]),ch=0; 2586A.forEach(function(o){if(o&&o.headline){o.headline=D.ld;ch=1;}if(o&&o.itemListElement)o.itemListElement.forEach(function(x){if(x.name&&x.name.indexOf("Futureplay")>-1){x.name=D.ld;ch=1;}});}); 2587if(ch)S[i].textContent=JSON.stringify(j);}catch(x){}}} 2588})();</script>
2588 2589<!-- Futureplay 2026 KO END -->
2589<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
vendor: 1 bytes, line 2589
2589
2590<script src="https://cdn.jsdelivr.net/npm/[email protected]/jquery.counterup.min.js"></script>
vendor: 1 bytes, line 2590
2590
2591<script src="https://cdnjs.cloudflare.com/ajax/libs/waypoints/4.0.0/jquery.waypoints.min.js"></script>
vendor: 1 bytes, line 2591
2591
2592<script src="https://cdn.jsdelivr.net/particles.js/2.0.0/particles.min.js"></script>
2592
2593<script type="text/javascript"> 2594particlesJS("particles-js", {"particles":{"number":{"value":26,"density":{"enable":false,"value_area":0}},"color":{"value":"b897f5"},"shape":{"type":"polygon","stroke":{"width":0,"color":"#000000"},"polygon":{"nb_sides":6},"image":{"src":"img/github.svg","width":100,"height":100}},"opacity":{"value":0.35,"random":true,"anim":{"enable":false,"speed":1,"opacity_min":0.1,"sync":false}},"size":{"value":3,"random":true,"anim":{"enable":false,"speed":40,"size_min":0.1,"sync":false}},"line_linked":{"enable":false,"distance":150,"color":"#ffffff","opacity":0.3,"width":1},"move":{"enable":true,"speed":1,"direction":"top","random":false,"straight":false,"out_mode":"out","bounce":false,"attract":{"enable":false,"rotateX":600,"rotateY":1200}}},"interactivity":{"detect_on":"canvas","events":{"onhover":{"enable":false,"mode":"repulse"},"onclick":{"enable":true,"mode":"repulse"},"resize":true},"modes":{"grab":{"distance":400,"line_linked":{"opacity":1}},"bubble":{"distance":400,"size":40,"duration":2,"opacity":8,"speed":3},"repulse":{"distance":200,"duration":0.4},"push":{"particles_nb":4},"remove":{"particles_nb":2}}},"retina_detect":true});var count_particles, stats, update; stats = new Stats; stats.setMode(0); stats.domElement.style.position = 'absolute'; stats.domElement.style.left = '0px'; stats.domElement.style.top = '0px'; document.body.appendChild(stats.domElement); count_particles = document.querySelector('.js-count-particles'); update = function() { stats.begin(); stats.end(); if (window.pJSDom[0].pJS.particles && window.pJSDom[0].pJS.particles.array) { count_particles.innerText = window.pJSDom[0].pJS.particles.array.length; } requestAnimationFrame(update); }; requestAnimationFrame(update);; 2595</script>
vendor: 1 bytes, line 2595
2595
2596<script> 2597 $(document).ready(function(){ 2598 const getStartedBtns = document.querySelectorAll('[data-getStarted="button"]'); 2599 const modalCloseBtn = document.querySelector('[data-modal="modal-close"]'); 2600 const modal = document.querySelector('[data-modal="modal-backdrop"]'); 2601 const modalContainer = document.querySelector('[data-modal="modal-container"]'); 2602 2603 const form = document.querySelector('[data-submitForm="form"]'); 2604 const submitBtn = document.querySelector('[data-submitForm="button"]'); 2605 const emailField = document.querySelector('[data-submitForm="email"]'); 2606 const nameField = document.querySelector('[data-submitForm="name"]'); 2607 const companyField = document.querySelector('[data-submitForm="company"]'); 2608 const websiteField = document.querySelector('[data-submitForm="website"]'); 2609 const msgField = document.querySelector('[data-submitForm="message"]'); 2610 2611 const successMsg = document.querySelector('[data-submitForm="submit-success"]'); 2612 const errorMsg = document.querySelector('[data-submitForm="submit-error"]'); 2613 2614 const navbarDropdown = document.querySelector('[data-navbar="dropdown"]'); 2615 2616 getStartedBtns.forEach(function(btn) { 2617 btn.addEventListener('click', function() { 2618 modal.style.display = 'flex'; 2619 navbarDropdown.style.opacity = "0.0"; 2620 }); 2621 }); 2622 2623 modalCloseBtn.addEventListener('click', function() { 2624 modal.style.display = 'none'; 2625 successMsg.style.display = 'none'; 2626 errorMsg.style.display = 'none'; 2627 form.style.display = 'block'; 2628 navbarDropdown.style.opacity = "1.0"; 2629 }); 2630 2631 modal.addEventListener('click', function(e) { 2632 let targetElement = e.target; // clicked element 2633 2634 do { 2635 if (targetElement == modalContainer) { 2636 return; 2637 } 2638 // Go up the DOM 2639 targetElement = targetElement.parentNode; 2640 } while (targetElement); 2641 2642 modalCloseBtn.click(); 2643 }); 2644 2645 const submit = async () => { 2646 submitBtn.disabled = true; 2647 2648 try { 2649 if (nameField.value.trim() === '' || 2650 websiteField.value.trim() === '' || 2651 emailField.value.trim() === '' || 2652 companyField.value.trim() === '' || 2653 msgField.value.trim() === '') { 2654 throw 'Please fill all fields.'; 2655 } 2656 2657 const url = 'https://tp.mistplay.com/website/advertiser'; 2658 const user = { 2659 email: emailField.value.trim(), 2660 name: nameField.value.trim(), 2661 company: companyField.value.trim(), 2662 website: websiteField.value.trim(), 2663 message: msgField.value.trim() 2664 }; 2665 2666 let formBody = []; 2667 for (const key in user) { 2668 const encodedKey = encodeURIComponent(key); 2669 const encodedValue = encodeURIComponent(user[key]); 2670 formBody.push(encodedKey + "=" + encodedValue); 2671 } 2672 formBody = formBody.join("&"); 2673 2674 const params = { 2675 method: 'POST', 2676 headers: { 2677 'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8' 2678 }, 2679 body: formBody 2680 }; 2681 2682 const data = await fetch(url, params); 2683 const json = await data.json(); 2684 2685 if (json.err) throw json.err.interMessage.EN; 2686 2687 errorMsg.style.display = "none"; 2688 successMsg.style.display = "block"; 2689 form.style.display = "none"; 2690 2691 console.log(json); 2692 } catch (error) { 2693 console.log(error); 2694 if (typeof error === 'string') errorMsg.innerHTML = error; 2695 errorMsg.style.display = "block"; 2696 } 2697 2698 submitBtn.disabled = false; 2699 } 2700 2701 submitBtn.addEventListener('click', submit); 2702 }); 2703</script>
vendor: 1 bytes, line 2703
2703
2704<script> 2705 function numberWithCommas(x) { 2706 return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ","); 2707 } 2708 2709 $(document).ready(function(){ 2710 $('.feedback-carousel').bxSlider({ 2711 mode: 'vertical', 2712 pager: false, 2713 slideMargin: 30, 2714 controls: false, 2715 speed: 100000, 2716 useCSS: false, 2717 ticker: true, 2718 tickerHover: true, 2719 responsive: true, 2720 wrapperClass: 'bx-wrapper_feedback-carousel', 2721 }); 2722 $('.games-carousel').bxSlider({ 2723 mode: 'horizontal', 2724 pager: false, 2725 slideMargin: 30, 2726 controls: false, 2727 speed: 22000, 2728 useCSS: false, 2729 ticker: true, 2730 tickerHover: false, 2731 responsive: true, 2732 slideWidth: 100, 2733 autoDirection: 'prev', 2734 wrapperClass: 'bx-wrapper_games-carousel', 2735 }); 2736 $('.games-carousel-2').bxSlider({ 2737 mode: 'horizontal', 2738 pager: false, 2739 slideMargin: 30, 2740 controls: false, 2741 speed: 25000, 2742 useCSS: false, 2743 ticker: true, 2744 tickerHover: false, 2745 responsive: true, 2746 slideWidth: 100, 2747 autoDirection: 'prev', 2748 wrapperClass: 'bx-wrapper_games-carousel', 2749 }); 2750 $('.rewards-carousel').bxSlider({ 2751 mode: 'horizontal', 2752 pager: false, 2753 slideMargin: 30, 2754 controls: false, 2755 speed: 25000, 2756 useCSS: false, 2757 ticker: true, 2758 tickerHover: false, 2759 responsive: true, 2760 slideWidth: 176, 2761 autoDirection: 'prev', 2762 wrapperClass: 'bx-wrapper_rewards-carousel', 2763 }); 2764 $('.rewards-carousel-2').bxSlider({ 2765 mode: 'horizontal', 2766 pager: false, 2767 slideMargin: 30, 2768 controls: false, 2769 speed: 22000, 2770 useCSS: false, 2771 ticker: true, 2772 tickerHover: false, 2773 responsive: true, 2774 slideWidth: 176, 2775 autoDirection: 'prev', 2776 wrapperClass: 'bx-wrapper_rewards-carousel', 2777 }); 2778 2779 const today = new Date(); 2780 const startDay = new Date("08/06/2020"); 2781 const diffTime = today.getTime() - startDay.getTime(); 2782 const diffDays = diffTime / (1000 * 3600 * 24); 2783 2784 $('#counterup').counterUp({ 2785 delay: 100, 2786 time: 2000, 2787 formatter: function (n) { 2788 if (n === '18,397,064') { 2789 const newNum = 18397064 + (Math.floor(diffDays) * 22000); 2790 return numberWithCommas(newNum); 2791 } 2792 2793 return n; 2794 } 2795 }); 2796 setInterval(() => { 2797 const val = $('#counterup').html(); 2798 if (val === '18,397,064') return; 2799 let valNum = parseInt(val.replace(/,/g, '')); 2800 const increments = [5, 10, 15]; 2801 valNum += increments[Math.floor(Math.random() * increments.length)]; 2802 $('#counterup').html(`${numberWithCommas(valNum)}`); 2803 }, 4000); 2804</script>
vendor: 1 bytes, line 2804
2804
2805<script type="text/javascript" src="https://cdn.weglot.com/weglot.min.js"></script>
vendor: 1 bytes, line 2805
2805
2806<script> 2807// init Weglot 2808Weglot.initialize({ 2809 api_key: 'wg_69b690c4cd1390b9bc6f4c63627846524' 2810}); 2811Weglot.on('initialized', ()=>{ 2812 const currentLang = Weglot.getCurrentLang(); 2813 updateSW6FlagDropdownLinks(currentLang); 2814}); 2815document.querySelectorAll('.wg-element-wrapper.sw6 [lang]').forEach((link)=>{ 2816 link.addEventListener('click', function(e){ 2817 e.preventDefault(); 2818 Weglot.switchTo(this.getAttribute('lang')); 2819 updateSW6FlagDropdownLinks(this.getAttribute('lang')); 2820 }); 2821}); 2822function updateSW6FlagDropdownLinks(currentLang){ 2823 const $wrapper = document.querySelector('.wg-element-wrapper.sw6'); 2824 if($wrapper.querySelector('.w-dropdown-toggle').getAttribute('lang') !== currentLang){ 2825 const $activeLangLink = $wrapper.querySelector('[lang='+currentLang+']'); 2826 const childDiv = $activeLangLink.innerHTML; 2827 const $toggle = $wrapper.querySelector('.w-dropdown-toggle'); 2828 const toggleDiv = $toggle.innerHTML; 2829 $toggle.innerHTML = childDiv; 2830 $activeLangLink.innerHTML = toggleDiv; 2831 const lang = $activeLangLink.getAttribute('lang'); 2832 const toggleLang = $toggle.getAttribute('lang'); 2833 $toggle.setAttribute('lang', lang); 2834 $activeLangLink.setAttribute('lang', toggleLang); 2835 } 2836} 2837</script>
2837</body></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.