1<!DOCTYPE html> 2<html lang="en"> 3 <head> 4
4<script> 5 (function () { 6 var proto = XMLHttpRequest.prototype; 7 var open = proto.open, setRequestHeader = proto.setRequestHeader, send = proto.send; 8 var TOKEN_KEY = 'base44_access_token'; 9 var storedTokenHeader = function () { 10 try { return 'Bearer ' + localStorage.getItem(TOKEN_KEY); } catch (e) { return null; } 11 }; 12 var forgetStoredToken = function () { 13 try { localStorage.removeItem(TOKEN_KEY); localStorage.removeItem('token'); } catch (e) {} 14 }; 15 16 proto.open = function (method, url) { 17 this.__b44IsAuthCheck = /\/entities\/User\/me(\?|$)/.test(url); 18 return open.apply(this, arguments); 19 }; 20 21 proto.setRequestHeader = function (name, value) { 22 if (this.__b44IsAuthCheck && name.toLowerCase() === 'authorization' && value === storedTokenHeader()) { 23 this.__b44SentToken = value; 24 } 25 return setRequestHeader.call(this, name, value); 26 }; 27 28 proto.send = function () { 29 this.addEventListener('loadend', function () { 30 var rejectedTokenStillStored = this.status === 401 && this.__b44SentToken === storedTokenHeader(); 31 if (rejectedTokenStillStored) forgetStoredToken(); 32 }); 33 return send.apply(this, arguments); 34 }; 35})(); 36 </script>
36 37 <meta charset="utf-8"/> 38 <!-- Preconnect to external origins used on every page load --> 39 <link href="https://www.googletagmanager.com" rel="preconnect"/> 40 <link href="https://www.googletagmanager.com" rel="dns-prefetch"/> 41 <link href="https://media.base44.com" rel="dns-prefetch"/> 42 <!-- Google Fonts â non-blocking load: media=print trick defers the request off the critical path. 43 Archivo (the consumer pages' headline face, i.e. the LCP text) and Montserrat (business pages) 44 are declared here on purpose and NOT via @import in src/index.css: an @import only starts 45 once the app stylesheet has been downloaded and parsed, which put the headline font a full 46 extra round trip behind the HTML. Keep the fonts stylesheet as the single source of families. --> 47 <link href="https://fonts.googleapis.com" rel="preconnect"/> 48 <link crossorigin="" href="https://fonts.gstatic.com" rel="preconnect"/> 49 <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Archivo:wght@600;700;800;900&family=Georama:wght@600;700&
49family=JetBrains+Mono:wght@400;500&family=Montserrat:wght@400;500;600;700;800&display=swap" media="print" onload="this.media = 'all'" rel="stylesheet"/> 50 <!-- Hero phone art preload for the consumer landings and /business (every page that renders 51 GameHero). On phones the hero screens are the LCP element (on /, the two top-row phones are 52 larger on screen than the headline), and RUM attributes ~1.1 s of p75 LCP to load delay: the 53 <img> only exists once the page chunk has run, so the fetch could not start before that. A 54 preload starts it with the HTML. 55 56 Each landing has its own hero, so this inline script picks the preload per route. It runs while 57 the <head> is still being parsed, well before the module script. It used to be one static 58 <link> for '/', which on /event and /creator fetched a card those pages never show, at high 59 priority, while their own card waited ~1.2 s for JS (measured 2026-09-25). A route that is not 60 listed gets no preload at all, so /enterprise and the other B2B pages no longer pay for it. 61 62 Which cards, and at which sizes, follows the hero's layout. Four cards render the 2x2 grid 63 (HeroPhoneGrid): preload the first row, cards[0] and cards[1], with GRID_SIZES. Three render the 64 fan (HeroPhoneFan): preload cards[heroCenterIndex(cards)], the card the mobile carousel opens 65 on, with SCREEN_SIZES. When the grid replaced the fan on 2026-09-29 this map kept preloading 66 the fan's centre card, which in the grid is bottom-left and below the fold on phones, while the 67 visible first row loaded lazily after JS. The srcset/sizes built here must match the <img>'s 68 byte for byte, or the browser fetches twice. src/components/birthday/HeroPhoneFan.test.jsx 69 renders each route's hero and fails when this script disagrees with it. --> 70
70<script id="hero-preload"> 71 (function () { 72 var base = 'https://media.base44.com/images/public/69f9b57e2c5090f8250e78f7/'; 73 // maxWidth mirrors the cards' own maxWidth (capWidths): 390 for 418 px-wide art. 74 var grid = function (first, second, maxWidth) { 75 return { images: [base + first, base + second], sizes: '(min-width: 1024px) 154px, min(calc(50vw - 30px), 160px)', maxWidth: maxWidth }; 76 }; 77 var fan = function (center, maxWidth) { 78 return { images: [base + center], sizes: '(min-width: 1024px) 144px, min(62vw, 260px)', maxWidth: maxWidth }; 79 }; 80 var personalized = grid('4318e05fd_Group1000003424.png', '18a5f3ebc_popart.png'); 81 var pets = fan('2cedc4462_dog.png'); 82 var hero = { 83 '/': personalized, 84 '/personalized-game': personalized, 85 '/business': grid('5912502b6_Popart-FL.png', '3ad43976f_Playful-CR.png', 390), 86 '/uk': personalized, 87 '/birthday-game': fan('3ed7ee6b9_7.png'), 88 '/pet-game': pets, 89 '/uk-pets': pets, 90 '/event': grid('597ec7ceb_boomoon.png', '3efc57673_boosport.png', 390), 91 '/creator': grid('16c26956d_Sports.png', '77d822f6d_travelblogger.png', 390), 92 }; 93 var entry = hero[location.pathname.replace(/\/+$/, '') || '/']; 94 if (!entry) return; 95 var widths = [160, 200, 260, 320, 390, 520, 780]; 96 if (entry.maxWidth) { 97 widths = widths 98 .filter(function (w) { 99 return w < entry.maxWidth; 100 }) 101 .concat(entry.maxWidth); 102 } 103 entry.images.forEach(function (image) { 104 var file = image.split('/').pop(); 105 var srcset = widths 106 .map(function (w) { 107 return image + '/v1/fill/w_' + w + ',h_' + Math.round((w * 19) / 9) + ',q_80,enc_auto/' + file + ' ' + w + 'w'; 108 }) 109 .join(', '); 110 var link = document.createElement('link'); 111 link.rel = 'preload'; 112 link.as = 'image'; 113 link.setAttribute('fetchpriority', 'high'); 114 link.setAttribute('imagesrcset', srcset); 115 link.setAttribute('imagesizes', entry.sizes); 116 document.head.appendChild(link); 117 }); 118 })(); 119 </script>
119 120 <!-- Tab icon at 48x48 (covers 16px CSS through 3x DPR) instead of the 800x800 source. No enc_auto here on purpose: the 121 CDN would negotiate AVIF, and favicon format support is uneven across browsers, so this stays a real PNG. --> 122 <link href="https://media.base44.com/images/public/69f9b57e2c5090f8250e78f7/73b8e2428_5-BOOMIO-APP.png/v1/fit/w_48,h_48,q_80/73b8e2428_5-BOOMIO-APP.png" rel="icon" sizes="48x48" type="image/png"/> 123 <meta content="width=device-width, initial-scale=1.0" name="viewport"/> 124 <!-- manifest.json carries the same icon at 192x192 (JSON takes no comments, so the reasoning lives here). 125 It stops at 192 and then falls back to the untransformed 800x800: without enc_auto the CDN re-encodes 126 as PNG, and a w_512 PNG comes back at ~50 KB â larger than the 48 KB original â so a 512 entry would 127 add weight rather than save it. --> 128 <link href="/manifest.json" rel="manifest"/> 129 <!-- INACTIVE IN PRODUCTION (measured 2026-09-25). Base44 replaces the canonical above and the title, 130 description and every og:/twitter: tag below on every response: the browser shell 131 carries the page's row from dashboard â SEO & GEO â Meta tags, and a prerendered 132 page carries the values usePageMeta sets. These only show under npm run dev. 133 Kept for now; see .github/copilot-instructions.md § SEO before relying on them. --> 134 <title> 135 Pricing Page | Boomio 136 </title> 137 <meta content="Pricing Page on Boomio. Answer a few questions and get a personalized game your friends can play." name="description"/> 138 <meta content="Boomio" property="og:site_name"/> 139 <meta content="Pricing Page | Boomio" property="og:title"/> 140 <meta content="Pricing Page on Boomio. Answer a few questions and get a personalized game your friends can play." property="og:description"/> 141 <meta content="website" property="og:type"/> 142 <meta content="https://boomio.ai/pricing" property="og:url"/> 143 <meta content="https://media.base44.com/images/public/69f9b57e2c5090f8250e78f7/9e61ec8be_Bomio_AI_play_background.webp/v1/fill/w_1200,h_630/9e61ec8be_Bomio_AI_play_background.webp" property="og:image"/> 144 <meta content="summary_large_image" name="twitter:card"/> 145 <meta content="Pricing Page | Boomio" name="twitter:title"/> 146 <meta content="Pricing Page on Boomio. Answer a few questions and get a personalized game your friends can play." name="twitter:description"/> 147 <meta content="https://media.base44.com/images/public/69f9b57e2c5090f8250e78f7/9e61ec8be_Bomio_AI_play_background.webp/v1/fill/w_1200,h_630/9e61ec8be_Bomio_AI_play_background.webp" name="twitter:image"/> 148 <!-- Microsoft Clarity --> 149
149<script type="text/javascript"> 150 (function (c, l, a, r, i, t, y) { 151 c[a] = 152 c[a] || 153 function () { 154 (c[a].q = c[a].q || []).push(arguments); 155 }; 156 t = l.createElement(r); 157 t.async = 1; 158 t.src = 'https://www.clarity.ms/tag/' + i; 159 y = l.getElementsByTagName(r)[0]; 160 y.parentNode.insertBefore(t, y); 161 })(window, document, 'clarity', 'script', 'x92cxy27ku'); 162 </script>
162 163 <!-- Google Tag Manager --> 164
164<script>
vendor: 452 bytes, lines 164-174
164 165 (function (w, d, s, l, i) { 166 w[l] = w[l] || []; 167 w[l].push({ 'gtm.start': new Date().getTime(), event: 'gtm.js' }); 168 var f = d.getElementsByTagName(s)[0], 169 j = d.createElement(s), 170 dl = l != 'dataLayer' ? '&l=' + l : ''; 171 j.async = true; 172 j.src = 'https://www.googletagmanager.com/gtm.js?id=' + i + dl; 173 f.parentNode.insertBefore(j, f); 174 })(window, document, 'script', 'dataLayer', '
174GTM-KRNDR65G
vendor: 6 bytes, lines 174-175
174'); 175
175</script>
175 176 <!-- End Google Tag Manager --> 177 <!-- PromoteKit affiliate tracking: stores an affiliate link's ?via= in a .boomio.ai cookie and exposes 178 window.promotekit_referral, which play.boomio.ai / app.boomio.ai send to Stripe at checkout. --> 179
179<script async="" data-promotekit="fd7924f4-4fbd-4f16-8faa-e69d559e85ec" src="https://cdn.promotekit.com/pk.js"> 180 </script>
180 181 <!-- JSON-LD: site-wide Organization + WebSite. This block is served on every URL, so it 182 must hold only claims that are true everywhere. The SoftwareApplication entry that 183 used to live here described the Shopify product and its subscription offer; it moved 184 to src/pages/Home.jsx, because advertising a B2B subscription price on the consumer 185 game page at '/' would be a false structured-data claim. --> 186
186<script type="application/ld+json"> 187 { 188 "@context": "https://schema.org", 189 "@graph": [ 190 { 191 "@type": "Organization", 192 "@id": "https://boomio.ai/#organization", 193 "name": "Boomio", 194 "url": "https://boomio.ai", 195 "logo": { 196 "@type": "ImageObject", 197 "url": "https://assets.boomio.com/images/Boomio_logo.svg" 198 }, 199 "contactPoint": { 200 "@type": "ContactPoint", 201 "email": "[email protected]", 202 "contactType": "customer support" 203 } 204 }, 205 { 206 "@type": "WebSite", 207 "@id": "https://boomio.ai/#website", 208 "name": "Boomio", 209 "url": "https://boomio.ai", 210 "publisher": { "@id": "https://boomio.ai/#organization" } 211 } 212 ] 213 } 214 </script>
214 215
215<script crossorigin="" src="/assets/index-fcLfL6It.js" type="module"> 216 </script>
216 217 <link crossorigin="" href="/assets/rolldown-runtime-hePW80VL.js" rel="modulepreload"/> 218 <link crossorigin="" href="/assets/react-vendor-B1X7NC0v.js" rel="modulepreload"/> 219 <link crossorigin="" href="/assets/vendor-DIFoyqw7.js" rel="modulepreload"/> 220 <link crossorigin="" href="/assets/icons-BEIF7EhO.js" rel="modulepreload"/> 221 <link crossorigin="" href="/assets/query-slznBSL7.js" rel="modulepreload"/> 222 <link crossorigin="" href="/assets/base44-sdk-DPVgUgEU.js" rel="modulepreload"/> 223 <link as="style" crossorigin="" href="/assets/index-YqUBocnz.css" onload="this.rel='stylesheet'" rel="preload"/> 224 <noscript> 225 <link crossorigin="" href="/assets/index-YqUBocnz.css" rel="stylesheet"/> 226 </noscript> 227
227<script type="module"> 228 if (window.self === window.top) { 229 let lastPath = ""; 230 function getPageNameFromPath(path) { 231 const segments = path.split("/").filter(Boolean); 232 return segments[0] || null; 233 } 234 function trackPageView() { 235 const path = window.location.pathname; 236 if (path === lastPath) return; 237 lastPath = path; 238 const pageName = getPageNameFromPath(path) || "home"; 239 const appId = "69f9b57e2c5090f8250e78f7"; 240 if (!appId) return; 241 fetch(`/api/app-logs/${appId}/log-user-in-app/${pageName}`, { 242 method: "POST", 243 }).catch(() => {}); 244 } 245 const originalPushState = history.pushState.bind(history); 246 history.pushState = function (...args) { 247 originalPushState(...args); 248 trackPageView(); 249 }; 250 const originalReplaceState = history.replaceState.bind(history); 251 history.replaceState = function (...args) { 252 originalReplaceState(...args); 253 trackPageView(); 254 }; 255 window.addEventListener("popstate", trackPageView); 256 trackPageView(); 257} 258 </script>
258 259 <meta content="https://boomio.ai/pricing" name="twitter:url"/> 260
260<script> 261 (function () { 262 var titles = {"/": "Boomio", "/enterprise": "Boomio", "/contact": "Contact | Boomio", "/about": "About | Boomio", "/privacy-policy": "Privacy Policy | Boomio", "/terms-of-service": "Terms Of Service | Boomio", "/cookies": "Cookies | Boomio", "/pricing": "Pricing Page | Boomio", "/welcome": "Welcome | Boomio", "/blog": "Blog | Boomio", "/newsletter": "Newsletter | Boomio", "/demo-jump": "Fashion & Apparel Game Demo \u2014 Boomio", "/demo-drive": "Beauty & Cosmetics Game Demo \u2014 Boomio", "/demo-flap": "Electronics & Appliances Game Demo \u2014 Boomio", "/demo-catch": "Home & Living Game Demo \u2014 Boomio", "/demo-crush": "Food & Beverages Game Demo \u2014 Boomio", "/demo-runner": "Kids & Family Game Demo \u2014 Boomio", "/demo-fashion-apparel": "Fashion & Apparel Game Demo \u2014 Boomio", "/demo-beauty-cosmetics": "Beauty & Cosmetics Game Demo \u2014 Boomio", "/demo-electronics-home-appliances": "Electronics & Appliances Game Demo \u2014 Boomio", "/demo-home-living": "Home & Living Game Demo \u2014 Boomio", "/demo-food-beverages": "Food & Beverages Game Demo \u2014 Boomio", "/demo-kids-family": "Kids & Family Game Demo \u2014 Boomio", "/lp-ecommerce": "Lp Ecommerce | Boomio", "/lp-ads": "Lp Ads | Boomio", "/lp-wheel": "Lp Wheel | Boomio", "/lp-leads": "Lp Leads | Boomio", "/lp-data": "Lp Data | Boomio", "/birthday-game": "Birthday Game | Boomio", "/pet-game": "Pet Game | Boomio", "/uk": "Create a Personalized Game for Any Occasion | Boomio", "/uk-pets": "Pet Game Uk | Boomio", "/game-pricing": "Game Pricing | Boomio", "/business": "Small Business | Boomio", "/business-pricing": "Business Pricing | Boomio", "/small-business": "Small Business Redirect | Boomio", "/event": "Event Games \u2014 Boomio", "/creator": "Creator Game | Boomio", "/embed/create": "Embed Create | Boomio", "/personalized-game": "Boomio", "/personalizedgame": "Boomio"}; 263 // PascalCase boundaries -> "-", mirroring _PASCAL_BOUNDARY_RE without lookbehind 264 // (old Safari fails to PARSE a lookbehind, taking the whole script down). 265 var dashed = function (s) { 266 return s.replace(/([a-z0-9])([A-Z])/g, "$1-$2").replace(/([A-Z])([A-Z][a-z])/g, "$1-$2"); 267 }; 268 var decode = function (s) { 269 // A %2F inside ONE segment must not become a structural separator: /blog/foo%2Fbar is a 270 // dynamic slug, and letting it split would match a static /blog/foo/bar and write ITS title. 271 try { var d = decodeURIComponent(s); return d.indexOf("/") < 0 ? d : s; } catch (e) { return s; } 272 }; 273 var segments = function (path) { return path.split("/").filter(Boolean).map(decode); }; 274 var norm = function (path) { 275 var parts = segments(path).map(function (s) { return dashed(s).toLowerCase(); }); 276 return parts.length ? "/" + parts.join("/") : "/"; 277 }; 278 var lastPath = location.pathname, written = document.title, on = true; 279 var sync = function () { 280 // Path only: a hash/query change is the same page, and the SDK strips its own auth 281 // params with replaceState -- neither must clobber a server-rendered title in place. 282 if (!on || location.pathname === lastPath) return; 283 lastPath = location.pathname; 284 if (document.title !== written) { on = false; return; } 285 // Write ONLY a title the map proves. An unmapped path is a dynamic route (/blog/:slug) the 286 // map cannot carry, and writing a placeholder there is destructive, not merely vague: the 287 // prerender worker runs no setUserAgent, so its capture browser reads as human and executes 288 // this script, and coordinator.js's settle wait explicitly tolerates a full navigation -- 289 // a redirect landing on an unmapped path would bake the placeholder into the stored 290 // snapshot. Leaving the title alone degrades to today's behavior instead. 291 // Exact lookup only. A dash-stripped retry here would let a genuinely different /set-up 292 // claim /setup: the map carries a dash-free key only where a PascalCase boundary put the 293 // dashes there, and the client cannot tell the two apart. The map emits every reachable 294 // shape per segment instead (_client_url_variants). 295 var title = titles[norm(location.pathname)]; 296 if (title === undefined) return; 297 document.title = title; 298 // Re-read: the setter stores verbatim but the getter strips and collapses whitespace, so 299 // keeping the assigned string would make the next sync() read our own write as the app's. 300 written = document.title; 301 }; 302 var wrap = function (fn) { 303 // The history entry is already pushed by the time sync() runs, so a throw here would 304 // surface inside the host app's router and break navigation. This is injected into apps 305 // we cannot test, so it swallows rather than trusting the trace. 306 return function () { 307 var r = fn.apply(this, arguments);
308 try { sync(); } catch (e) {} 309 return r; 310 }; 311 }; 312 history.pushState = wrap(history.pushState); 313 history.replaceState = wrap(history.replaceState); 314 window.addEventListener("popstate", sync); 315})(); 316 </script>
316 317 <meta content="yes" name="mobile-web-app-capable"/> 318 <meta content="black" name="apple-mobile-web-app-status-bar-style"/> 319 <meta content="Boomio" name="apple-mobile-web-app-title"/> 320 <link href="https://boomio.ai/pricing" rel="canonical"/> 321
321<script data-seo-source="builder" type="application/ld+json"> 322 {"name": "Boomio", "@context": "https://schema.org", "@type": "WebSite", "url": "https://boomio.ai"} 323 </script>
323 324
324<script data-seo-source="builder" type="application/ld+json"> 325 {"name": "Boomio", "logo": "https://media.base44.com/images/public/69f9b57e2c5090f8250e78f7/55d33bf54_logo.png", "@context": "https://schema.org", "@type": "Organization", "url": "https://boomio.ai"} 326 </script>
326 327
327<script data-seo-source="builder" type="application/ld+json"> 328 {"@context": "https://schema.org", "@type": "BreadcrumbList", "itemListElement": [{"@type": "ListItem", "position": 1, "name": "Home", "item": "https://boomio.ai/"}, {"@type": "ListItem", "position": 2, "name": "Pricing Page", "item": "https://boomio.ai/pricing"}]} 329 </script>
329 330 </head> 331 <body> 332 <!-- Google Tag Manager (noscript) --> 333 <noscript> 334 <iframe height="0" src="https://www.googletagmanager.com/ns.html?id=GTM-KRNDR65G" style="display: none; visibility: hidden" width="0"> 335 </iframe> 336 </noscript> 337 <!-- End Google Tag Manager (noscript) --> 338 <div id="root"> 339 <div data-seo-source="builder" id="seo-snapshot" style="position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;"> 340 <main> 341 <header> 342 <h1> 343 Pricing Page | Boomio 344 </h1> 345 <p> 346 Pricing Page on Boomio. Answer a few questions and get a personalized game your friends can play. 347 </p> 348 </header> 349 <nav aria-label="Pages"> 350 <h2> 351 Pages 352 </h2> 353 <ul> 354 <li> 355 <a href="/"> 356 Personalized Game 357 </a> 358 </li> 359 <li> 360 <a href="/enterprise"> 361 Home 362 </a> 363 â A high-conversion gamification engine that turns passive marketing into interactive, playable experiences. 364 </li> 365 <li> 366 <a href="/contact"> 367 Contact 368 </a> 369 â Contact on Boomio. Answer a few questions and get a personalized game your friends can play. 370 </li> 371 <li> 372 <a href="/about"> 373 About 374 </a> 375 â About on Boomio. Answer a few questions and get a personalized game your friends can play. 376 </li> 377 <li> 378 <a href="/privacy-policy"> 379 Privacy Policy 380 </a> 381 â Privacy Policy on Boomio. Answer a few questions and get a personalized game your friends can play. 382 </li> 383 <li> 384 <a href="/terms-of-service"> 385 Terms Of Service 386 </a> 387 â Terms Of Service on Boomio. Answer a few questions and get a personalized game your friends can play. 388 </li> 389 <li> 390 <a href="/cookies"> 391 Cookies 392 </a> 393 â Cookies on Boomio. Answer a few questions and get a personalized game your friends can play. 394 </li> 395 <li> 396 <a href="/pricing"> 397 Pricing Page 398 </a> 399 â Pricing Page on Boomio. Answer a few questions and get a personalized game your friends can play. 400 </li> 401 <li> 402 <a href="/blog"> 403 Blog 404 </a> 405 â Blog on Boomio. Answer a few questions and get a personalized game your friends can play. 406 </li> 407 <li> 408 <a href="/newsletter"> 409 Newsletter 410 </a> 411 â Newsletter on Boomio. Answer a few questions and get a personalized game your friends can play. 412 </li> 413 <li> 414 <a href="/demo-jump"> 415 Demo Jump Up 416 </a> 417 â Play the Boomio Jump Up demo for fashion and apparel brands. Collect styles, climb higher and see how a branded mini-game turns shoppers into leads. 418 </li> 419 <li> 420 <a href="/demo-drive"> 421 Demo Drive 422 </a> 423 â Play the Boomio Drive demo for beauty and cosmetics brands. Navigate the shelf, collect favorites and see how a branded mini-game turns shoppers into leads. 424 </li> 425 <li> 426 <a href="/demo-flap"> 427 Demo Flap Through 428 </a> 429 â Play the Boomio Flap Through demo for electronics and home appliance brands. Catch the right gear and see how a branded mini-game turns shoppers into leads. 430 </li> 431 <li> 432 <a href="/demo-catch"> 433 Demo Catch It 434 </a> 435 â Play the Boomio Catch It demo for home and living brands. Catch the pieces that belong in your space and see how a branded mini-game turns shoppers into leads. 436 </li> 437 <li> 438 <a href="/demo-crush"> 439 Demo Crush It 440 </a> 441 â Play the Boomio Crush It demo for food and beverage brands. Match cravings before the clock runs out and see how a branded mini-game turns shoppers into leads. 442 </li> 443 <li> 444 <a href="/demo-runner"> 445 Demo Runner 446 </a> 447 â Play the Boomio Runner demo for kids and family brands. A playful adventure for all ages that shows how a branded mini-game turns shoppers into leads. 448 </li> 449 <li> 450 <a href="/lp-ecommerce"> 451 Lp Ecommerce 452 </a> 453 â Lp Ecommerce on Boomio. Answer a few questions and get a personalized game your friends can play. 454 </li> 455 <li> 456 <a href="/lp-ads"> 457 Lp Ads 458 </a> 459 â Lp Ads on Boomio. Answer a few questions and get a personalized game your friends can play. 460 </li> 461 <li> 462 <a href="/lp-wheel"> 463 Lp Wheel 464 </a> 465 â Lp Wheel on Boomio. Answer a few questions and get a personalized game your friends can play. 466 </li> 467 <li> 468 <a href="/lp-leads"> 469 Lp Leads 470 </a> 471 â Lp Leads on Boomio. Answer a few questions and get a personalized game your friends can play. 472 </li> 473 <li> 474 <a href="/lp-data"> 475 Lp Data 476 </a> 477 â Lp Data on Boomio. Answer a few questions and get a personalized game your friends can play. 478 </li> 479 <li> 480 <a href="/birthday-game"> 481 Birthday Game 482 </a> 483 â Birthday Game on Boomio. Answer a few questions and get a personalized game your friends can play. 484 </li> 485 <li> 486 <a href="/pet-game"> 487 Pet Game 488 </a> 489 â Pet Game on Boomio. Answer a few questions and get a personalized game your friends can play. 490 </li> 491 <li> 492 <a href="/uk"> 493 Personalized Game Uk 494 </a> 495 â Answer a few questions and get a personalized game your friends can play instantly, for any occasion. Ready in about a minute, no app needed. 496 </li> 497 <li> 498 <a href="/uk-pets"> 499 Pet Game Uk 500 </a> 501 â Pet Game Uk on Boomio. Answer a few questions and get a personalized game your friends can play. 502 </li> 503 <li> 504 <a href="/game-pricing"> 505 Game Pricing 506 </a> 507 â Game Pricing on Boomio. Answer a few questions and get a personalized game your friends can play. 508 </li> 509 <li> 510 <a href="/business"> 511 Small Business 512 </a> 513 â Small Business on Boomio. Answer a few questions and get a personalized game your friends can play. 514 </li> 515 <li> 516 <a href="/business-pricing"> 517 Business Pricing 518 </a> 519 â Business Pricing on Boomio. Answer a few questions and get a personalized game your friends can play. 520 </li> 521 <li> 522 <a href="/event"> 523 Event Game 524 </a> 525 â Event Game on Boomio. Answer a few questions and get a personalized game your friends can play. 526 </li> 527 <li> 528 <a href="/creator"> 529 Creator Game 530 </a> 531 â Creator Game on Boomio. Answer a few questions and get a personalized game your friends can play. 532 </li> 533 </ul> 534 </nav> 535 </main> 536 </div> 537 </div> 538 </body> 539</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.