PageSourceSearch

https://www.moloco.com/

html moloco.com collected 2026-10-01 12:18:12 UTC 138,116 bytes, 1,899 lines download raw bytes

1<!DOCTYPE html><!-- Last Published: Wed Sep 30 2026 18:23:34 GMT+0000 (Coordinated Universal Time) --><html data-wf-domain="www.moloco.com" data-wf-page="6a59dd0133b776de7ec526c2" data-wf-site="6a59dd0133b776de7ec526cd" lang="en"><head><meta charset="utf-8"/><link href="https://cdn.prod.website-files.com" rel="preconnect" crossorigin="anonymous"/><title>AI-powered Performance Advertising at Global Scale | Moloco</title><link rel="alternate" hrefLang="x-default" href="https://www.moloco.com/"/><link rel="alternate" hrefLang="en" href="https://www.moloco.com/"/><link rel="alternate" hrefLang="fr" href="https://www.moloco.com/fr"/><link rel="alternate" hrefLang="ko" href="https://www.moloco.com/ko"/><link rel="alternate" hrefLang="ja" href="https://www.moloco.com/ja"/><link rel="alternate" hrefLang="zh" href="https://www.moloco.com/zh"/><link rel="alternate" hrefLang="vi" href="https://www.moloco.com/vi"/><link rel="alternate" hrefLang="de" href="https://www.moloco.com/de"/><meta content="Moloco’s AI advertising platform bids into a trillion auctions a day so apps and retailers can find, convert, and grow customers at global scale." name="description"/><meta content="AI-powered Performance Advertising at Global Scale | Moloco" property="og:title"/><meta content="Moloco’s AI advertising platform bids into a trillion auctions a day so apps and retailers can find, convert, and grow customers at global scale." property="og:description"/><meta content="https://cdn.prod.website-files.com/6a59dd0133b776de7ec526cd/6aa8233c5c9cde066e376571_Moloco.png" property="og:image"/><meta content="AI-powered Performance Advertising at Global Scale | Moloco" name="twitter:title"/><meta content="Moloco’s AI advertising platform bids into a trillion auctions a day so apps and retailers can find, convert, and grow customers at global scale." name="twitter:description"/><meta property="og:type" content="website"/><meta content="summary_large_image" name="twitter:card"/><meta content="width=device-width, initial-scale=1" name="viewport"/><link href="https://cdn.prod.website-files.com/6a59dd0133b776de7ec526cd/css/ob-moloco.shared.c70aef6b0.min.css" rel="stylesheet" type="text/css" integrity="sha384-xwrvawLJ4JuLpGFXLeknOTrMoSl82KeGQ2KaJgX1F6hsM0bpVpyYqlX7Ob+ooKwt" crossorigin="anonymous"/><style>html.w-mod-js:not(.w-mod-ix3) :is([data-animate-component] :is([data-animate-component] >:not(.ps-spacer))) {visibility: hidden !important;}</style><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: ["Montserrat:100,100italic,200,200italic,300,300italic,400,400italic,500,500italic,600,600italic,700,700italic,800,800italic,900,900italic","Noto Sans JP:200,300,400,500,600,700,900:cyrillic,japanese,latin,vietnamese","Noto Sans SC:200,300,400,500,600,700,900:chinese-simplified,cyrillic,latin,latin-ext,vietnamese"]  }});</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/6a59dd0133b776de7ec526cd/6aa80c2c8d05459201528559_favicon.png" rel="icon" type="image/png" sizes="32x32" media="(prefers-color-scheme: light)"/><link href="https://cdn.prod.website-files.com/6a59dd0133b776de7ec526cd/6a8fdd91e18b75aa9baaf946_moloco-favicon-l.png" rel="icon" type="image/png" sizes="32x32" media="(prefers-color-scheme: dark)"/><link href="https://cdn.prod.website-files.com/6a59dd0133b776de7ec526cd/6aa80c2c64ef302e9812a8f9_favicon.png" rel="icon" type="image/png" sizes="48x48"/><link href="https://cdn.prod.website-files.com/6a59dd0133b776de7ec526cd/6a8fdd99f0b6e0102ab8f943_moloco-webclip-l.png" rel="apple-touch-icon" sizes="180x180"/><link href="https://cdn.prod.website-files.com/6a59dd0133b776de7ec526cd/6a8fdd99f0b6e0102ab8f927_moloco-webclip-l.png" rel="icon" type="image/png" sizes="192x192"/><link href="https://cdn.prod.website-files.com/6a59dd0133b776de7ec526cd/6a8fdd99e7792ced14c0cd63_moloco-webclip-l.png" rel="icon" type="image/png" sizes="512x512"/><link href="https://www.moloco.com/" rel="canonical"/>
1<script type="application/ld+json">
2{
3  "@context": "https://schema.org",
4  "@type": "WebPage",
5  "name": "AI-powered Performance Advertising at Global Scale | Moloco",
6  "description": "Moloco's AI advertising platform bids into a trillion auctions a day so apps and retailers can find, convert, and grow customers at global scale.",
7  "url": "/",
8  "inLanguage": "en",
9  "about": {
10    "@type": "Organization",
11    "name": "Moloco",
12    "description": "Moloco builds AI-native advertising platforms for performance marketers and retailers, processing a trillion auctions daily to help apps and retailers find, convert, and grow customers at global scale.",
13    "url": "/",
14    "logo": {
15      "@type": "ImageObject",
16      "url": "https://cdn.prod.website-files.com/6a75c3c48c131784ac3ab3da/6a856fa96eeac903383aba11_wayfair-logo-mono.webp"
17    },
18    "sameAs": [
19      "https://www.linkedin.com/company/moloco",
20      "https://www.youtube.com/@moloco_inc"
21    ]
22  },
23  "mainEntity": {
24    "@type": "FAQPage",
25    "mainEntity": [
26      {
27        "@type": "Question",
28        "name": "Who uses Moloco?",
29        "acceptedAnswer": {
30          "@type": "Answer",
31          "text": "Moloco is used by mobile app marketers and retailers seeking measurable advertising growth. Moloco Ads is built for performance marketers acquiring users across mobile apps and CTV. Moloco Commerce Media is built for retailers and marketplaces creating advertising businesses on their own digital properties. Global customers include Costco, TikTok, Pinterest, Revolut and Robinhood."
32        }
33      },
34      {
35        "@type": "Question",
36        "name": "What does Moloco cost?",
37        "acceptedAnswer": {
38          "@type": "Answer",
39          "text": "Moloco pricing depends on the product, campaign goals, market and level of advertising activity. Moloco Ads uses performance-based campaign pricing, while Moloco Commerce Media is structured around the needs of each retailer or marketplace. Prospective customers can speak with Moloco to determine the commercial model that's right for them."
40        }
41      },
42      {
43        "@type": "Question",
44        "name": "How is Moloco Ads different to advertising on Google and Meta?",
45        "acceptedAnswer": {
46          "@type": "Answer",
47          "text": "Google and Meta primarily sell ads across their own properties, while Moloco Ads can extend your reach across millions of independent apps. Teams typically run Moloco Ads alongside Google and Meta, not instead of them."
48        }
49      }
50    ]
51  },
52  "review": [
53    {
54      "@type": "Review",
55      "author": {
56        "@type": "Person",
57        "name": "Fiona Tan",
58        "jobTitle": "Chief Technology Officer"
59      },
60      "reviewBody": "Wayfair needed an ad technology partner that could deliver real-time personalization across our catalog of millions of products while maximizing Return on Ad Spend for our suppliers. Moloco's ML-based platform met that bar, driving a 30% increase in Display Ad Click-Through-Rate during initial POC testing and scaling effectively across thousands of supplier campaigns on our infrastructure."
61    },
62    {
63      "@type": "Review",
64      "author": {
65        "@type": "Person",
66        "name": "Simon Hales",
67        "jobTitle": "Associate Director of Performance Marketing"
68      },
69      "reviewBody": "Moloco's AI goes beyond surface-level metrics to identify the players who drive real business impact. Combined with a team that's deeply invested in our objectives and outcomes, our partnership with Moloco continues to get smarter and more effective over time."
70    },
71    {
72      "@type": "Review",
73      "author": {
74        "@type": "Person",
75        "name": "Eric Ma",
76        "jobTitle": "Performance Marketing"
77      },
78      "reviewBody": "Starting with our global launch and continuing today, Moloco has been a strong partner with an excellent ability to consistently find high-quality, highly-engaged players."
79    }
80  ]
81}
82</script>
82<!-- <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=5"> -->
83<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" />
84<script>
85  // Define dataLayer and the gtag function.
86  window.dataLayer = window.dataLayer || [];
87  function gtag() {
88    dataLayer.push(arguments);
89  }
90
91  // Default ad_storage to 'denied'.
92  gtag('consent', 'default', {
93    ad_storage: 'denied',
94    analytics_storage: 'denied',
95    functionality_storage: 'granted',
96    personalization_storage: 'granted',
97    security_storage: 'granted',
98    ad_user_data: 'denied',
99    ad_personalization: 'denied',
100    wait_for_update: 500,
101  });
102</script>
102
103
104<script type="text/javascript">
105  /*var currentUrl = window.location.href;
106  (function () {
107    var currentDomain = window.location.hostname;
108
109    // Check if the current domain ends with 'moloco.com'
110    if (currentDomain.endsWith('moloco.com')) {
111      // && !currentUrl.includes('/zh')) {
112      // Create a new script element
113      var script = document.createElement('script');
114      script.src = 'https://cdn.cookielaw.org/scripttemplates/otSDKStub.js';
115      script.setAttribute('data-document-language', 'true');
116      script.setAttribute('type', 'text/javascript');
117      script.setAttribute('charset', 'UTF-8');
118      script.setAttribute('data-domain-script', 'de9e2daf-79c2-44e0-b1f5-a075a5319e7c');
119
120      // Append the script to the document head
121      document.head.appendChild(script);
122
123      // Create and append the OptanonWrapper function
124      var optanonWrapper = document.createElement('script');
125      optanonWrapper.text = 'function OptanonWrapper() { }';
126      document.head.appendChild(optanonWrapper);
127    }
128  })();*/
129</script>
129
130
131<!-- Google Tag Manager -->
132<script>
133  //if(!currentUrl.includes('/zh')){
134  (function (w, d, s, l, i) {
135    w[l] = w[l] || [];
136    w[l].push({ 'gtm.start': new Date().getTime(), event: 'gtm.js' });
137    var f = d.getElementsByTagName(s)[0],
138      j = d.createElement(s),
139      dl = l != 'dataLayer' ? '&l=' + l : '';
140    j.setAttributeNode(d.createAttribute('data-ot-ignore'));
141    j.async = true;
142    j.src = 'https://www.googletagmanager.com/gtm.js?id=' + i + dl;
143    f.parentNode.insertBefore(j, f);
144  })(window, document, 'script', 'dataLayer', 'GTM-WM7MN68'); //}
145</script>
145
146<!-- End Google Tag Manager -->
147
148<script>
149  // Delay Datadog RUM until after page load (post-LCP)
150  window.addEventListener('load', function () {
151    //if(!currentUrl.includes('/zh')){
152    (function (h, o, u, n, d) {
153      h = h[d] = h[d] || {
154        q: [],
155        onReady: function (c) {
156          h.q.push(c);
157        },
158      };
159      d = o.createElement(u);
160      d.async = 1;
161      d.src = n;
162      n = o.getElementsByTagName(u)[0];
163      n.parentNode.insertBefore(d, n);
164    })(window, document, 'script', 'https://www.datadoghq-browser-agent.com/datadog-rum-v4.js', 'DD_RUM');
165
166    DD_RUM.onReady(function () {
167      DD_RUM.init({
168        clientToken: 'puba393752f73102e8df80fe72d1310b87f',
169        applicationId: 'd8ddfec8-15e7-4ebd-9100-1c0d665ef6e1',
170        site: 'datadoghq.com',
171        service: 'moloco.com',
172        env: 'prod',
173        // Specify a version number to identify the deployed version of your application in Datadog
174        // version: '1.0.0',
175        sampleRate: 100,
176        sessionReplaySampleRate: 10,
177        trackInteractions: true,
178        trackResources: true,
179        trackLongTasks: true,
180        defaultPrivacyLevel: 'mask-user-input',
181      });
182
183      DD_RUM.startSessionReplayRecording();
184    });
185    //}
186  });
187</script>
187
188
189<style>
190  /*hide webflow badge*/
191  .w-webflow-badge {
192    display: none !important;
193  }
194  :lang(ko),
195  :lang(ko) * {
196    word-break: keep-all;
197    overflow-wrap: break-word;
198  }
199
200  html { color-scheme: only light; }
201</style>
202
203<script>
204  (function (d, h, host) {
205    var isWF = host.endsWith('.webflow.io');
206    var DEP = 'https://moloco-sigma.vercel.app';
207    var LOC = 'https://localhost:6545';
208
209    function loadScript(src, cors) {
210      var s = d.createElement('script');
211      s.src = src;
212      s.defer = 1;
213      if (cors) s.crossOrigin = 'anonymous';
214      h.appendChild(s);
215      return s;
216    }
217
218    function loadCSS(href) {
219      var l = d.createElement('link');
220      l.rel = 'stylesheet';
221      l.href = href;
222      h.appendChild(l);
223      return l;
224    }
225
226    var css = ['app.css'];
227
228    var pages = { about: 'pages/about.js', home: 'pages/home.js' };
229    var slug = location.pathname.replace(/^\/|\/$/g, '').split('/')[0];
230    var js = pages[slug] || 'app.js';
231
232    if (!isWF) {
233      css.forEach(function (f) {
234        loadCSS(DEP + '/' + f);
235      });
236      if (js) loadScript(DEP + '/' + js, true);
237      return;
238    }
239
240    if (js) {
241      var p = d.createElement('link');
242      p.rel = 'preload';
243      p.as = 'script';
244      p.href = DEP + '/' + js;
245      p.crossOrigin = 'anonymous';
246      h.appendChild(p);
247    }
248    css.forEach(function (f) {
249      var p = d.createElement('link');
250      p.rel = 'preload';
251      p.as = 'style';
252      p.href = DEP + '/' + f;
253      h.appendChild(p);
254    });
255
256    css.forEach(function (f) {
257      var l = loadCSS(LOC + '/' + f);
258      l.onerror = function () {
259        loadCSS(DEP + '/' + f);
260      };
261    });
262    if (js) {
263      var s = loadScript(LOC + '/' + js);
264      s.onerror = function () {
265        loadScript(DEP + '/' + js, true);
266      };
267    }
268  })(document, document.head, location.hostname);
269</script>
269
270
271<meta name="facebook-domain-verification" content="h25n65dupt0lhq6jvbpz3si6d3ys2n" />
272</head><body data-start="hidden"><div overflow-clip="x" class="page-w"><div class="global"><div class="embed-css w-embed"><style>
273  /* --------------------------------------- RESET --------------------------------------- */
274
275  :root {
276    font-size: 100%;
277    interpolate-size: allow-keywords;
278    --cubic-default: cubic-bezier(0.65, 0.05, 0, 1);
279    --duration-default: 0.735s;
280    --animation-default: var(--duration-default) var(--cubic-default);
281    --fade-edge: 5%;
282  }
283
284  ::selection {
285    background-color: var(--color--text);
286    color: var(--color--bg);
287    text-shadow: none;
288  }
289
290  ::-moz-selection {
291    background-color: var(--color--text);
292    color: var(--color--bg);
293    text-shadow: none;
294  }
295
296  * {
297    scrollbar-width: none;
298    -ms-overflow-style: none;
299  }
300
301  *::-webkit-scrollbar {
302    display: none;
303  }
304
305  img::selection,
306  svg::selection {
307    background: transparent;
308  }
309
310  html,
311  body {
312    -webkit-font-smoothing: antialiased;
313  }
314
315  svg {
316    max-width: none;
317    height: auto;
318    box-sizing: border-box;
319    vertical-align: middle;
320  }
321
322  a {
323    color: inherit;
324    text-decoration: none;
325  }
326
327  .display-none,
328  [display-none] {
329    display: none !important;
330  }
331
332  .visibility-hidden,
333  [visibility-hidden] {
334    visibility: hidden;
335  }
336
337  :where(:focus-visible) {
338    outline: 0.1em solid var(--color--focus);
339    outline-offset: 0.1em;
340  }
341
342  :where([screen-reader]:not(:focus, :active, :focus-within), .screen-reader:not(:focus, :active, :focus-within)) {
343    clip-path: inset(50%) !important;
344    height: 1px !important;
345    width: 1px !important;
346    overflow: hidden !important;
347    position: absolute !important;
348    white-space: nowrap !important;
349    border: 0 !important;
350  }
351
352  :where(button) {
353    background-color: unset;
354  }
355
356  /* --------------------------------------- pointer events */
357  [pointer-none] {
358    pointer-events: none;
359    user-select: none;
360  }
361  [pointer-auto] {
362    pointer-events: auto;
363  }
364
365  /* --------------------------------------- utils */
366  [overflow-clip='x'] {
367    overflow-x: clip;
368  }
369  [overflow-clip='y'] {
370    overflow-y: clip;
371  }
372
373  /* --------------------------------------- forms */
374
375  textarea {
376    resize: vertical;
377  }
378
379  *[tabindex]:focus-visible,
380  input[type='file']:focus-visible {
381    outline: 0.1em solid var(--color--light);
382    outline-offset: 0.1em;
383  }
384
385  /* --------------------------------------- scroll */
386
387  [data-lenis-prevent] {
388    overscroll-behavior: contain;
389  }
390</style></div><div class="embed-css w-embed"><style>
391  
392  html {
393    -webkit-text-size-adjust: 100%;
394    -webkit-font-smoothing: antialiased;
395    -moz-osx-font-smoothing: grayscale;
396  }
397
398  *, *::before, *::after {
399    box-sizing: border-box;
400    touch-action: manipulation;
401    margin: 0;
402    padding: 0;
403  }
404
405</style>
406</div><div class="embed-css w-embed"><style>
407  /* Explicit theme overrides */
408  [data-theme='light'] {
409  }
410
411  [data-theme='dark'] {
412    --color--bg: var(--color--dark);
413    --color--text: var(--color--light);
414  }
415
416  /* Themed surfaces self-paint */
417  [data-theme],
418  [data-nav-theme] {
419    background-color: var(--color--bg);
420    color: var(--color--text);
421    transition:
422      background-color 200ms ease,
423      color 200ms ease;
424  }
425
426
427</style></div><div class="embed-css w-embed"><style>
428/* --------------------------------------- text */
429
430  h1,
431  h2,
432  h3,
433  h4,
434  h5, 
435  h6 {
436    font-weight: 400;
437    line-height: 1.05;
438    margin: 0;
439  }
440
441  h1 {
442    font-size: var(--typography--title-xxl);
443  }
444  h2 {
445    font-size: var(--typography--title-xl);
446  }
447  h3 {
448    font-size: var(--typography--title-lg);
449  }
450  h4 {
451    font-size: var(--typography--title-md);
452  }
453  h5 {
454    font-size: var(--typography--title-sm);
455  }
456  h6 {
457    font-size: var(--typography--body);
458  }
459
460  p,
461  .wrap-pretty {
462    text-wrap: pretty; /* ensures nice wrapping */
463  }
464
465  .nav-item-link-head, [text-trim], [text-trim] h5, .index-card-details .text-title-h5, .footer-link, .button, .filter-list .text-title-h5, .anchor-button{
466	text-box-trim: trim-both;
467    text-box-edge: cap alphabetic;
468  }
469
470  .tab-button .text-title-h5{
471    white-space: nowrap;
472  }
473
474  .rich-text h3 strong{
475    font-weight: 500;
476  }
477
478  .rich-text p a strong {
479      font-weight: 400;
480  }
481
482</style>
483</div><div class="embed-css w-embed"><!-- VERCEL / CF Stylesheets --></div><div class="embed-css w-embed"><style>
484  html:lang(ja),
485  html:lang(ko),
486  html:lang(zh),
487  html:lang(vi){
488    --typography--font-family--sans: var(--typography--font-family--noto);
489    --typography--font-family--serif: var(--typography--font-family--noto);
490    --typography--font-family--analog: var(--typography--font-family--noto);
491  }
492
493  /* html:lang(vi) {
494    --typography--font-family--sans: var(--typography--font-family--noto);
495    --typography--font-family--serif: PPMori, Arial, sans-serif;
496    --typography--font-family--analog: var(--typography--font-family--noto);
497  } */
498
499  /* ---------- BASE (all breakpoints) ---------- */
500  * {
501    -webkit-tap-highlight-color: transparent;
502  }
503
504  video {
505    width: 100%;
506    height: 100%;
507  }
508
509  /* Blog Iframe Videos */
510  .blog-content-w .w-embed iframe {
511    width: 100%;
512    height: auto;
513    aspect-ratio: 16 / 9;
514  }
515
516  .hero1-img-wrap video {
517    width: 100%;
518    object-fit: cover;
519    height: 100%;
520  }
521  /* Reset first/last child margins in Rich Text */
522  .rich-text > *:first-child,
523  .legal-rich-text > :first-child {
524    margin-top: 0 !important;
525  }
526
527  .rich-text > *:last-child,
528  .legal-rich-text > :last-child {
529    margin-bottom: 0 !important;
530  }
531
532  /* Nav item on mobile when active — rotating icon */
533  .nav-item-dropdown-toggle.is-active .icon {
534    transform: rotate(180deg);
535  }
536
537  /* Last FAQ item border */
538  .faq-item:last-child {
539    border-bottom-style: dotted;
540  }
541
542  /* FAQ tooltip quick fix. Remove once code is fixed */
543  .faq-content:has(.tooltip-content.is-active) {
544    overflow: visible !important;
545  }
546
547  .faq-trigger.is-active .is-vert {
548    height: 0%;
549  }
550
551  [mute] {
552    pointer-events: none;
553  }
554
555  .bento-item .divider-line {
556    max-width: 100%;
557  }
558
559  /* Parent triggers dark-on-light button — for article card to be fully clickable.
560 NOTE: the hover rule below is commented out AND .button has pointer-events:none,
561 so the button cannot receive hover at all. Card-level hover only. */
562  /*
563[button-dark-on-light-hover-trigger]:hover .button {
564background-color: var(--color--blue);
565border-color: var(--color--charcoal);
566color: var(--color--charcoal);
567}
568*/
569  [button-dark-on-light-hover-trigger] .button {
570    pointer-events: none;
571  }
572
573  /* Scale image on article card hover */
574  .article-card:hover .article-card-img {
575    transform: scale(1.1);
576  }
577
578  .article-card:hover .article-card-link {
579    pointer-events: auto;
580  }
581
582  .article-card-head .text-title-h3 {
583    margin-bottom: auto;
584  }
585
586  /* Hide scrollbars on nav list / tab menu */
587  .nav-list,
588  .tab-menu {
589    scrollbar-width: none; /* Firefox */
590    -ms-overflow-style: none; /* IE / old Edge */
591  }
592
593  .nav-list::-webkit-scrollbar,
594  .tab-menu::-webkit-scrollbar {
595    display: none; /* Chrome, Safari, Edge */
596    width: 0;
597    height: 0;
598  }
599
600  /* Filter label turns parchment when its radio is checked */
601  .filter-button input[type='radio']:checked ~ .text-title-h5 {
602    color: var(--color--parchment);
603  }
604
605  /* Hide the Turnstile wrapper div in the filters form */
606  .filters-form > div:has(input[name='cf-turnstile-response']) {
607    display: none;
608  }
609
610  .dark .context-text-list {
611    border-color: var(--color--parchment);
612  }
613
614  .content-split-list-item:last-child {
615    margin-bottom: 0;
616  }
617
618  .slide:last-child {
619    border-right: none;
620  }
621
622  /* Rich text inside tabs — kill leading list spacing */
623  .rich-text-tab > ul:first-child,
624  .rich-text-tab > ol:first-child {
625    margin-top: 0 !important;
626    padding-top: 0 !important;
627    border-top: none !important;
628  }
629  /* .logo-marquee {
630    -webkit-mask-image: linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, rgb(0, 0, 0) var(--spacing--gap-72), rgb(0, 0, 0) calc(100% - var(--spacing--gap-72)), rgba(0, 0, 0, 0) 100%);
631    mask-image: linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, rgb(0, 0, 0) var(--spacing--gap-72), rgb(0, 0, 0) calc(100% - var(--spacing--gap-72)), rgba(0, 0, 0, 0) 100%);
632  } */
633  /* ---------- ≥ 768px ---------- */
634
635  /* ---------- ≤ 991px (tablet and below) ---------- */
636  [is-desktop] {
637    display: block;
638  }
639  [is-mobile] {
640    display: none;
641  }
642
643  @media (max-width: 991px) {
644    [is-mobile] {
645      display: block;
646    }
647    [is-desktop] {
648      display: none;
649    }
650    .stat-card-text:last-child {
651      border-bottom: none;
652    }
653
654    .dark .pictogram {
655      border-top: dotted calc(var(--spacing--gap) * 0.09375) var(--color--parchment);
656      padding-top: var(--spacing--gap-32);
657    }
658
659    /* CONFLICT — read before editing.
660   This has the same specificity (0,2,0) as `.dark .pictogram` above and comes
661   later, so it wins: in dark mode every pictogram except the first loses its
662   dotted top border and its padding. That matches the original file's
663   behaviour, but it looks unintended — a separator on the FIRST item only.
664   If dark mode should keep its separators, move this rule ABOVE
665   `.dark .pictogram`. */
666    .pictogram:not(:first-child) {
667      border-top: none;
668      padding-top: 0;
669    }
670
671    .dark .pictogram-wrapper .pictogram {
672      border-color: var(--color--parchment);
673    }
674  }
675
676  /* ---------- ≥ 992px (desktop and up, no upper bound) ---------- */
677  /* Attribute-name selectors: set `data-hide-border-left` / `data-hide-border-right`
678 as a custom attribute in the Designer. The value is ignored — leaving it blank
679 is fine. */
680
681  @media (min-width: 992px) {
682    [data-hide-border-left] {
683      border-left: none !important;
684      border-left-color: transparent !important;
685    }
686
687    [data-hide-border-right] {
688      border-right: none !important;
689      border-right-color: transparent !important;
690    }
691
692    [data-hide-border-bottom] {
693      border-bottom: none !important;
694      border-bottom-color: transparent !important;
695    }
696
697    .stat-card-subtext {
698      max-width: 24rem;
699      text-wrap: balance;
700    }
701
702    .pictogram-wrapper {
703      display: grid;
704      grid-template-columns: repeat(12, 1fr);
705    }
706
707    .pictogram {
708      display: grid;
709      grid-template-columns: 1fr;
710      grid-template-rows: subgrid;
711      grid-row: span 5;
712      grid-column: span 6;
713      max-width: none;
714      align-content: start;
715    }
716
717    /* third variant */
718    .pictogram:where(.w-variant-77180b15-668e-2e7c-5a82-bd240397ef8a),
719    .pictogram:where(.w-variant-3e4358e2-cf2c-8f83-beab-cf2f423a96eb) {
720      grid-column: span 4;
721      max-width: none;
722    }
723
724    .pictogram:where(.w-variant-40ac246f-d035-b8e1-95e0-c7577c277f99) {
725      grid-column: span 3;
726      max-width: none;
727    }
728
729    .pictogram > .pictogram-img-wrapper {
730      grid-row: 1;
731    }
732    .pictogram > .pictogram-btn-w {
733      grid-row: 5;
734    }
735
736    .pictogram > .pictogram-content {
737      grid-row: 2 / span 3;
738      display: grid;
739      grid-template-columns: 1fr;
740      grid-template-rows: subgrid;
741    }
742
743    .pictogram-content > .pictrogram-tag-wrapper {
744      grid-row: 1;
745    }
746    .pictogram-content > .pictogram-title-wrapper {
747      grid-row: 2;
748    }
749    .pictogram-content > .pictogram-text-wrapper {
750      grid-row: 3;
751    }
752
753    .pictogram {
754      row-gap: 0;
755    }
756
757    .pictogram > .pictogram-content {
758      row-gap: 0;
759    }
760
761    /* Spacing via margins — absent elements contribute nothing */
762    .pictogram > .pictogram-content > *:first-child {
763      margin-top: var(--spacing--gap-48);
764    }
765    .pictogram > .pictogram-content > * + * {
766      margin-top: var(--spacing--gap-24);
767    }
768    .pictogram > .pictogram-btn-w {
769      margin-top: var(--spacing--gap-48);
770    }
771
772    /* Take the Finsweet filter helper out of grid flow */
773    .index-list:not(.small-view) .index-filterable {
774      display: none;
775    }
776
777    /* Chain: every pass-through level */
778    .index-list:not(.small-view) > .index-items,
779    .index-list:not(.small-view) .index-card-combo,
780    .index-list:not(.small-view) .index-large-wrap,
781    .index-list:not(.small-view) .index-card-lrg {
782      display: grid;
783      grid-template-columns: 1fr;
784      grid-template-rows: subgrid;
785    }
786
787    /* Items auto-place into the next 4 rows of the list */
788    .index-list:not(.small-view) > .index-items {
789      grid-row: span 4;
790    }
791
792    /* Inner levels: pin to row 1 explicitly — no auto-placement surprises */
793    .index-list:not(.small-view) .index-card-combo,
794    .index-list:not(.small-view) .index-large-wrap,
795    .index-list:not(.small-view) .index-card-lrg {
796      grid-row: 1 / span 4;
797    }
798
799    .index-list:not(.small-view) .index-card-lrg {
800      row-gap: var(--spacing--gap-32);
801      align-content: start;
802    }
803
804    /* Card children: img 1, content 2–3, details 4 */
805    .index-list:not(.small-view) .index-card-lrg > .index-card-img-w {
806      grid-row: 1;
807    }
808
809    .index-list:not(.small-view) .index-card-lrg > .index-card-lrg-content {
810      grid-row: 2 / span 2;
811      display: grid;
812      grid-template-columns: 1fr;
813      grid-template-rows: subgrid;
814      row-gap: var(--spacing--gap-16);
815    }
816
817    .index-list:not(.small-view) .index-card-lrg > .index-card-details {
818      grid-row: 4;
819      position: static;
820    }
821
822    /* Content children: title, then body */
823    .index-list:not(.small-view) .index-card-lrg-content > .text-title-h3 {
824      grid-row: 1;
825    }
826
827    .index-list:not(.small-view) .index-card-lrg-content > .text-body {
828      grid-row: 2;
829    }
830
831    .index-list:not(.small-view) .index-card-lrg,
832    .index-list:not(.small-view) .index-card-lrg > .index-card-lrg-content {
833      row-gap: 0;
834    }
835    .index-list:not(.small-view) .index-card-lrg > .index-card-lrg-content {
836      margin-top: var(--spacing--gap-32);
837    }
838    .index-list:not(.small-view) .index-card-lrg-content > .text-body {
839      margin-top: var(--spacing--gap-24);
840    }
841    .index-list:not(.small-view) .index-card-lrg > .index-card-details {
842      margin-top: var(--spacing--gap-32);
843    }
844  }
845
846  /* ---------- 992px – 1440px (desktop range) ---------- */
847  /* Was a mix of min-width:991px and min-width:992px. Normalised to 992px:
848 at exactly 991px the old 991 blocks fired at the same time as the
849 ≤991px blocks above, so tablet got desktop border rules. */
850
851  @media (min-width: 991px) and (max-width: 1440px) {
852    .hero1-img-wrap {
853      border-left: none;
854    }
855
856    [nav-search] {
857      display: none;
858    }
859  }
860
861  /* ---------- ≥ 1440px ---------- */
862
863  @media (min-width: 1441px) {
864    .nav-item-group-head.is-active .nav-item-group-icon {
865      transform: rotate(180deg);
866    }
867
868    .customer-hero_content-w,
869    .report-hero {
870      padding-left: 0 !important;
871    }
872
873    /* NOTE: "secton" — verify this matches the Webflow component name exactly.
874   If the component is spelled "section", this selector matches nothing. */
875    .content-split-content-wrap:not([data-wf--comp-content-split-secton--variant='reverse'], [data-wf--comp-content-split-secton--variant='reverse'] *) {
876      padding-left: 0 !important;
877    }
878
879    .leadership-popup-wrapper {
880      max-height: 70svh;
881      padding: 0;
882      margin: auto;
883    }
884  }
885
886  /* ---------- ≥ 1441px ---------- */
887  /* NOTE: this is the only 1441px breakpoint in the file and it overlaps the
888 1440px block above (both apply from 1441px up). It differs only at exactly
889 1440px. If that 1px gap wasn't deliberate, change it to 1440px and merge
890 it into the block above. */
891
892  @media (min-width: 1441px) {
893    [reset-lr-margin] {
894      margin-left: 0 !important;
895      margin-right: 0 !important;
896    }
897
898    [reset-lr-margin].tab-collection .tab-content-w {
899      padding-left: 0;
900    }
901
902    /* [reset-lr-margin].tab-collection .tab-content-w .tab-text {
903      padding-right: 0;
904    } */
905  }
906
907  @media (min-width: 1441px) {
908    .divider-line,
909    .divider-line-inside {
910      width: calc(1440px - (var(--spacing--container-padding) * 2) - 1px);
911    }
912  }
913
914  @media (min-width: 1441px) {
915    .office,
916    .faq {
917      padding-inline: 0;
918    }
919  }
920
921  @media (min-width: 992px) and (max-width: 1060px) {
922    .nav-item-dropdown-toggle {
923      padding-inline: 1rem;
924    }
925  }
926
927  /* Button only hover effect when hovering on card */
928  [button-dark-on-light-hover-trigger][highlight-button-on-hover].tile:hover {
929    background-color: var(--color--gray-1);
930  }
931
932  [button-dark-on-light-hover-trigger][highlight-button-on-hover].tile:hover .button {
933    border-style: solid;
934    border-color: var(--color--charcoal);
935    background-color: var(--color--blue);
936    color: var(--color--charcoal);
937  }
938
939  .leadership-cms-item:has(.leadership-popup-trigger):hover .button {
940    border-style: solid;
941    border-color: var(--color--charcoal);
942    background-color: var(--color--blue);
943    color: var(--color--charcoal);
944  }
945
946  .leadership-cms-item:has(.leadership-popup-trigger) .leadership-cms-visual img {
947    transition: transform 0.425s ease;
948  }
949
950  .leadership-cms-item:has(.leadership-popup-trigger):hover .leadership-cms-visual {
951    filter: brightness(0.7);
952  }
953
954  .leadership-cms-item:has(.leadership-popup-trigger):hover .leadership-cms-visual img {
955    transform: scale(1.025);
956  }
957
958  .leadership-filter-radio-w .text-title-h5 {
959    white-space: nowrap;
960  }
961
962  @media only screen and (min-width: 992px) {
963    /* Right border on every item except the last in each row */
964    .leadership-cms-item:nth-child(4n + 1),
965    .leadership-cms-item:nth-child(4n + 2),
966    .leadership-cms-item:nth-child(4n + 3) {
967      border-right-width: calc(var(--spacing--gap) * 0.09375);
968      border-right-style: dotted;
969      border-right-color: var(--color--charcoal);
970    }
971
972    /* Last row contains 4 items */
973    .leadership-cms-list:has(.leadership-cms-item:last-child:nth-child(4n)) .leadership-cms-item:nth-last-child(-n + 4) {
974      border-bottom: none;
975    }
976
977    /* Last row contains 1 item */
978    .leadership-cms-list:has(.leadership-cms-item:last-child:nth-child(4n + 1)) .leadership-cms-item:last-child {
979      border-bottom: none;
980    }
981
982    /* Last row contains 2 items */
983    .leadership-cms-list:has(.leadership-cms-item:last-child:nth-child(4n + 2)) .leadership-cms-item:nth-last-child(-n + 2) {
984      border-bottom: none;
985    }
986
987    /* Last row contains 3 items */
988    .leadership-cms-list:has(.leadership-cms-item:last-child:nth-child(4n + 3)) .leadership-cms-item:nth-last-child(-n + 3) {
989      border-bottom: none;
990    }
991  }
992
993  /* Anchor Nav */
994  .anchor-button.w--current {
995    pointer-events: none;
996  }
997
998  .nav-item-link.-wfp-hover,
999  .nav-item-link:hover,
1000  .nav-item-hov:hover .nav-item-link,
1001  .nav-item-hov.-wfp-hover .nav-item-link {
1002    text-decoration-line: underline;
1003    text-decoration-thickness: initial;
1004    text-underline-offset: 2px;
1005    text-decoration-style: dotted;
1006    text-decoration-skip-ink: none;
1007    text-decoration-color: inherit;
1008  }
1009
1010  @media (min-width: 991px) and (max-width: 1280px) {
1011    .ctv-box {
1012      height: 15rem;
1013    }
1014  }
1015
1016  @media screen and (max-width: 991px) {
1017    .stat-card-text:nth-child(2) {
1018      border-top-style: dotted;
1019    }
1020  }
1021
1022  @media screen and (max-width: 991px) {
1023    .stat-card-simple:first-child {
1024      border-top-style: none;
1025      padding-top: 0;
1026    }
1027
1028    .leadership-popup-content .rich-text {
1029      display: -webkit-box;
1030      -webkit-box-orient: vertical;
1031      -webkit-line-clamp: 5;
1032      overflow: hidden;
1033    }
1034
1035    .leadership-popup-content .rich-text p {
1036      display: inline;
1037    }
1038
1039    /* Expanded state */
1040    .leadership-popup-content .rich-text.is-expanded {
1041      display: block;
1042      -webkit-line-clamp: unset;
1043      overflow: visible;
1044    }
1045
1046    .leadership-popup-content .rich-text.is-expanded p {
1047      display: block;
1048    }
1049  }
1050
1051  .tab-menu-tog.w--open .tab-menu-icon {
1052    transform: rotate(180deg);
1053  }
1054
1055  .filters-tog.w--open .filter-w-icon {
1056    transform: rotate(180deg);
1057  }
1058</style></div><div class="css-breakpoints w-embed"><style>
1059  /* ----------------------------------- desktop only */
1060  @media only screen and (min-width: 992px) {
1061
1062    [data-hide="d"] {
1063      display: none;
1064    }
1065
1066  }
1067
1068  /* ----------------------------------- tablet */
1069  @media only screen and (max-width: 991px) {
1070
1071    /* hide objects on tablet and below */
1072    [data-hide="t"] {
1073      display: none;
1074    }
1075
1076  }
1077
1078  /* ----------------------------------- mobile landscape */
1079  @media screen and (max-width: 767px) {
1080
1081    /* hide objects on mobile landscape and below */
1082    [data-hide="ml"] {
1083      display: none;
1084    }
1085
1086  }
1087
1088  /* ----------------------------------- mobile */
1089  @media screen and (max-width: 497px) {
1090
1091    /* hide objects on mobile and below */
1092    [data-hide="m"] {
1093      display: none;
1094    }
1095
1096  }
1097
1098</style></div><div class="css-editmode w-embed"><style>
1099  /*  ----- edit mode ----- */
1100  /*  ----- edit mode ----- */
1101
1102  .wf-design-mode [data-page='style'] {
1103    .spacer {
1104      outline: 1px solid red;
1105    }
1106  }
1107  .wf-design-mode {
1108    .spacer {
1109      pointer-events: auto;
1110      z-index: 0;
1111    }
1112  }
1113</style></div><div class="css-tooltip w-embed"><style>
1114  /* keep tooltip trigger/content above card overlay links (e.g. .tile-card-link) */
1115  .tooltip {
1116    position: relative;
1117    z-index: 2;
1118  }
1119
1120  .s.dark .tooltip .tooltip-button,
1121  [data-wf--comp-content-wide-section--variant="dark"] .tooltip-button {
1122    border-color: var(--color--parchment);
1123  }
1124
1125  .s.dark .tooltip .tooltip-button:hover,
1126  .s.dark .tooltip .tooltip-button.is-active,
1127  [data-wf--comp-content-wide-section--variant="dark"] .tooltip-button:hover,
1128  [data-wf--comp-content-wide-section--variant="dark"] .tooltip-button.is-active {
1129    background-color: var(--color--parchment);
1130    color: var(--color--charcoal);
1131  }
1132
1133  .s.dark .tooltip .tooltip-content,
1134  [data-wf--comp-content-wide-section--variant="dark"] .tooltip-content {
1135    background-color: var(--color--light);
1136    color: var(--color--charcoal);
1137    border: dotted calc(1rem * 0.09375) var(--color--charcoal);
1138  }
1139
1140  .s.dark .tooltip .tooltip-close,
1141  [data-wf--comp-content-wide-section--variant="dark"] .tooltip-close {
1142    color: var(--color--charcoal);
1143  }
1144</style></div><div class="css-hubspot w-embed"><style>
1145  /* ============================================================================
1146   HUBSPOT FORM STYLES
1147   Client theme: parchment surface / charcoal ink, pill fields, uppercase labels
1148   ----------------------------------------------------------------------------
1149   HOW TO RE-SKIN FOR THE NEXT CLIENT:
1150   Only the "CLIENT THEME" block below should need touching. Everything under
1151   it is derived, so a new palette + font pair is a 10-line change.
1152   ============================================================================ */
1153
1154  :root {
1155    /* ==========================================================================
1156     1. CLIENT THEME  — the only block you should need to edit per client
1157     ========================================================================== */
1158
1159    /* Palette — every dark in this sheet resolves to --color--charcoal.
1160     The hex is only a fallback for pages where that token isn't in scope. */
1161    --brand-ink: var(--color--charcoal, #2f2f2f); /* text, strokes, filled controls */
1162    --brand-parchment: var(--Parchment, #faf9f5); /* every light/white in the sheet */
1163    --brand-blue: var(--color--blue, #1f49d4); /* button hover fill        */
1164    --brand-surface: var(--brand-parchment); /* page background behind the form */
1165    --brand-field-fill: var(--brand-parchment); /* inside of input fields   */
1166    --brand-on-ink: var(--brand-parchment); /* text sitting ON a charcoal control */
1167    --brand-muted: #7a7873; /* placeholder + helper text                */
1168    --brand-error: #cf2020;
1169    --brand-error-soft: #e58a8a; /* error stroke                             */
1170    --brand-error-bg: #fbf2f0; /* error fill                               */
1171
1172    /* Hover for charcoal-filled controls. First line is the no-op fallback,
1173     second derives a darker charcoal in browsers that support color-mix. */
1174    --brand-ink-hover: var(--color--charcoal, #2f2f2f);
1175    --brand-ink-hover: color-mix(in srgb, var(--brand-ink) 85%, #000);
1176
1177    /* Type — `inherit` picks up whatever the page already loads.
1178     Swap for the real brand faces once they're on the page, e.g.
1179     --brand-font-body: "Aeonik", "Inter", system-ui, sans-serif;             */
1180    --brand-font-body: inherit;
1181    --brand-font-display: inherit; /* the serif used for "Contact us"          */
1182
1183    /* Micro type scale — labels, field text, legal copy, button */
1184    --brand-micro-size: 12px;
1185    --brand-micro-weight: 600;
1186    --brand-micro-style: normal;
1187    --brand-micro-line-height: 130%; /* 15.6px */
1188    --brand-micro-tracking: 0.24px;
1189    --brand-uppercase: uppercase;
1190
1191    /* Shape */
1192    --brand-radius-pill: 999px; /* fields are fully rounded in this design  */
1193    --brand-radius-soft: 0.75rem; /* textareas / anything multi-line          */
1194    --brand-stroke: 1px;
1195
1196    /* Vertical rhythm — mockup runs on an exact 104px row pitch:
1197     label 15.6 + label-gap 14 + field 40.4 + field-gap 34 = 104 */
1198    --field-gap-y: 34px; /* space under a field, before the next label */
1199    --field-gap-x: 2rem; /* 32px gutter between 2-up columns         */
1200    --label-gap: 14px; /* label -> field                           */
1201
1202    /* Transition */
1203    --transition-duration: 250ms;
1204
1205    /* ==========================================================================
1206     2. DERIVED TOKENS — same names as the original template, new values
1207     ========================================================================== */
1208
1209    /* Label & text */
1210    --label-font-size: var(--brand-micro-size);
1211    --label-font-style: var(--brand-micro-style);
1212    --label-line-height: var(--brand-micro-line-height);
1213    --label-letter-spacing: var(--brand-micro-tracking);
1214    --label-color: var(--brand-ink);
1215    --label-font-weight: var(--brand-micro-weight);
1216    --label-text-transform: var(--brand-uppercase);
1217    --label-bottom-margin: var(--label-gap);
1218
1219    /* Input fields */
1220    --input-height: 40px; /* 12 + 14.4 + 12 + 2 borders          */
1221    --input-border-radius: var(--brand-radius-pill);
1222    --input-border-color: var(--brand-ink);
1223    --input-border: var(--brand-stroke) solid var(--input-border-color);
1224    --input-hover-border: var(--brand-ink); /* no change on hover in the design */
1225    --input-focus-border: var(--brand-ink); /* no change on focus in the design */
1226    --input-error-border: var(--brand-error-soft);
1227    --input-error-hover-border: var(--brand-error);
1228    --input-background-color: var(--brand-field-fill);
1229    --input-focus-background: var(--brand-field-fill);
1230    --input-error-background: var(--brand-error-bg);
1231    --input-autofill-background: var(--brand-field-fill); /* kills Chrome's yellow fill */
1232    --input-padding-y: 0.75rem; /* 12px */
1233    --input-padding-x: 1.5rem; /* 24px */
1234    --input-padding: var(--input-padding-y) var(--input-padding-x);
1235    --input-font-size: var(--brand-micro-size);
1236    --input-line-height: 1.2; /* single-line controls stay at 1.2 */
1237    --input-font-weight: var(--brand-micro-weight);
1238    --input-letter-spacing: var(--brand-micro-tracking);
1239    --input-text-transform: none; /* set to uppercase to force caps on typed text */
1240    --input-font-color: var(--brand-ink);
1241    --input-filled-font-color: var(--brand-ink);
1242    --input-placeholder-color: var(--brand-muted);
1243    --input-focus-placeholder-color: var(--brand-muted);
1244    --input-error-font-color: var(--brand-ink);
1245    --input-bottom-margin: var(--field-gap-y);
1246    /* a11y: the design gives focus no visual change, so we thicken the stroke
1247     from the inside instead — no layout shift, still clearly focused.
1248     Set to `none` if you'd rather match the mockup exactly. */
1249    --input-focus-ring: inset 0 0 0 var(--brand-stroke) var(--brand-ink);
1250
1251    /* Select — charcoal-filled by default, in every state */
1252    --select-background: var(--brand-ink);
1253    --select-color: var(--brand-on-ink);
1254    --select-placeholder-color: var(--brand-on-ink);
1255    --select-border-color: var(--brand-ink);
1256    --select-text-transform: var(--brand-uppercase);
1257    --select-arrow-inset: 23px;
1258    --select-arrow-width: 14px;
1259    --select-arrow-height: 8px;
1260    /* NOTE: `currentColor` does NOT work inside a data-URI background SVG — it
1261     resolves against the SVG's own document, not this element. Nor can it read
1262     a custom property. The stroke below is Parchment, baked in (%23 = #) —
1263     it's the one place a colour change has to be made by hand. */
1264    --select-arrow: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="14" height="8" viewBox="0 0 14 8" fill="none"><path d="M1 1.25L7 7L13 1.25" stroke="%23FAF9F5" stroke-width="1.1" stroke-linecap="round" stroke-linejoin="round"/></svg>');
1265
1266    /* Error messages */
1267    --error-message-color: var(--brand-error);
1268    --error-message-font-size: 11px;
1269    --error-message-font-weight: var(--brand-micro-weight);
1270    --error-message-line-height: 1.3;
1271    --error-message-letter-spacing: var(--brand-micro-tracking);
1272    --error-message-text-transform: none;
1273    --error-message-bottom-margin: 1.25rem;
1274
1275    /* Rich text (legal / consent copy) */
1276    --richtext-font-size: var(--brand-micro-size);
1277    --richtext-font-weight: var(--brand-micro-weight);
1278    --richtext-line-height: 150%;
1279    --richtext-letter-spacing: var(--brand-micro-tracking);
1280    --richtext-text-transform: var(--brand-uppercase);
1281    --richtext-color: var(--brand-ink);
1282    --richtext-bottom-margin: 1.5rem;
1283
1284    /* Checkboxes / radios */
1285    --checkbox-list-style: none;
1286    --checkbox-list-padding: 0;
1287    --checkbox-list-margin: 0;
1288    --checkbox-margin-top: 1rem;
1289    --checkbox-margin-bottom: 1rem;
1290    --checkbox-gap: 0.625rem;
1291    --checkbox-size: 1rem;
1292    --checkbox-cursor: pointer;
1293    --checkbox-radius: 0.1875rem;
1294    --checkbox-border: var(--brand-stroke) solid var(--brand-ink);
1295    --checkbox-background: var(--brand-field-fill);
1296    --checkbox-accent: var(--brand-ink);
1297
1298    /* Submit button */
1299    --button-wrapper-top-margin: var(--field-gap-y); /* same rhythm as the gap under a field */
1300    --actions-display: flex;
1301    --actions-align-items: center;
1302    --actions-justify-content: flex-start;
1303    /* Button text — 12px / 600 / 130% / 0.24px, uppercase, Parchment */
1304    --button-font-size: var(--brand-micro-size);
1305    --button-font-style: var(--brand-micro-style);
1306    --button-font-weight: var(--brand-micro-weight);
1307    --button-line-height: var(--brand-micro-line-height); /* 130% = 15.6px */
1308    --button-text-transform: var(--brand-uppercase);
1309    --button-letter-spacing: var(--brand-micro-tracking);
1310
1311    /* Straight off the spacing scale: 16px / 24px.
1312     Button height = 15.6 (text) + 2 × 16 (padding) + 2 × 1.5 (border) = 50.6px */
1313    --button-padding-y: var(--spacing--gap, 16px);
1314    --button-padding-x: var(--spacing--gap-24, 24px);
1315    --button-border-radius: var(--brand-radius-pill);
1316    --button-grid-gap: 0.75rem;
1317
1318    /* Rest:  charcoal fill, parchment text.
1319     Hover: blue fill, charcoal text, charcoal border.
1320
1321     The border is the SAME width in both states — at rest it simply matches
1322     the fill, so it reads as a solid charcoal pill. Animating the width
1323     instead would make the button wobble: border-width snaps to whole device
1324     pixels while the compensating padding interpolates in fractions, so the
1325     box breathes ~2px mid-transition. Holding the width constant means the
1326     geometry never changes at all and only colour moves. */
1327    --button-bg-color: var(--brand-ink);
1328    --button-text-color: var(--brand-parchment);
1329    --button-border-color: var(--brand-ink);
1330    /* 16 × 0.09375 = 1.5px */
1331    --button-border-width: calc(var(--spacing--gap, 16px) * 0.09375);
1332    --button-hover-bg-color: var(--brand-blue);
1333    --button-hover-text-color: var(--brand-ink);
1334    --button-hover-border-color: var(--brand-ink);
1335
1336    --button-transition-duration: 425ms;
1337    --button-transition-easing: ease;
1338    --button-transition: background-color var(--button-transition-duration) var(--button-transition-easing), border-color var(--button-transition-duration) var(--button-transition-easing), color var(--button-transition-duration) var(--button-transition-easing);
1339
1340    /* Optional form heading ("Contact us") */
1341    --heading-font-family: var(--brand-font-display);
1342    --heading-font-size: clamp(2.25rem, 4.5vw, 3.25rem); /* ~52px at 1440 */
1343    --heading-font-weight: 400;
1344    --heading-line-height: 1.1;
1345    --heading-color: var(--brand-ink);
1346    --heading-align: center;
1347    --heading-bottom-margin: 3.75rem;
1348  }
1349
1350  /* ============================================================================
1351   3. FORM SHELL
1352   ============================================================================ */
1353
1354  .hs-form {
1355    font-family: var(--brand-font-body);
1356    color: var(--brand-ink);
1357  }
1358
1359  /* HubSpot ships `fieldset { max-width: 500px }` — it will squash the grid.
1360   The rest is the UA's default fieldset border/padding/margin, which otherwise
1361   adds ~20px of phantom space to every row. */
1362  .hs-form fieldset,
1363  .hs-form fieldset.form-columns-1,
1364  .hs-form fieldset.form-columns-2,
1365  .hs-form fieldset.form-columns-3 {
1366    max-width: none !important;
1367    border: 0;
1368    padding: 0;
1369    margin: 0;
1370    min-width: 0;
1371  }
1372
1373  /* HubSpot injects a per-form rule scoped to the form's GUID, e.g.
1374     .hs-form-<guid>_<guid> fieldset.form-columns-1 .hs-input { width: 95% }
1375   That block is emitted after this sheet and out-specifies a plain class
1376   selector, so `!important` is the only reliable way to take the width back.
1377   Checkboxes and radios are excluded — they must keep their intrinsic size. */
1378  .hs-form .hs-input:not([type='checkbox']):not([type='radio']),
1379  .hs-form fieldset.form-columns-1 .hs-input:not([type='checkbox']):not([type='radio']),
1380  .hs-form fieldset.form-columns-2 .hs-input:not([type='checkbox']):not([type='radio']),
1381  .hs-form fieldset.form-columns-3 .hs-input:not([type='checkbox']):not([type='radio']) {
1382    width: 100% !important;
1383    box-sizing: border-box !important;
1384  }
1385
1386  /* 2-up / 3-up rows as a grid instead of HubSpot's floats + % widths */
1387  .hs-form fieldset.form-columns-2,
1388  .hs-form fieldset.form-columns-3 {
1389    display: grid;
1390    column-gap: var(--field-gap-x);
1391    row-gap: 0;
1392  }
1393  .hs-form fieldset.form-columns-2 {
1394    grid-template-columns: repeat(2, minmax(0, 1fr));
1395  }
1396  .hs-form fieldset.form-columns-3 {
1397    grid-template-columns: repeat(3, minmax(0, 1fr));
1398  }
1399
1400  .hs-form fieldset .hs-form-field {
1401    width: 100% !important; /* HubSpot sets 50%/33% inline */
1402    float: none !important;
1403    padding: 0 !important;
1404  }
1405  .hs-form fieldset .input {
1406    margin-right: 0 !important;
1407  }
1408
1409  @media (max-width: 640px) {
1410    .hs-form fieldset.form-columns-2,
1411    .hs-form fieldset.form-columns-3 {
1412      grid-template-columns: minmax(0, 1fr);
1413    }
1414  }
1415
1416  /* ============================================================================
1417   4. LABELS
1418   ============================================================================ */
1419
1420  .hs-form label {
1421    display: block;
1422    margin-bottom: var(--label-bottom-margin);
1423    font-size: var(--label-font-size);
1424    font-style: var(--label-font-style);
1425    font-weight: var(--label-font-weight);
1426    line-height: var(--label-line-height);
1427    letter-spacing: var(--label-letter-spacing);
1428    text-transform: var(--label-text-transform);
1429    color: var(--label-color);
1430  }
1431
1432  /* The required asterisk sits after a space in the design: "FIRST NAME *" */
1433  .hs-form .hs-form-required {
1434    margin-left: 0.35em;
1435    color: var(--label-color);
1436  }
1437
1438  /* Helper text under a label */
1439  .hs-form .hs-field-desc {
1440    margin: -0.25rem 0 var(--label-gap);
1441    font-size: var(--error-message-font-size);
1442    line-height: 1.4;
1443    letter-spacing: var(--brand-micro-tracking);
1444    color: var(--brand-muted);
1445  }
1446
1447  /* ============================================================================
1448   5. TEXT INPUTS + TEXTAREA
1449   ============================================================================ */
1450
1451  .hs-form input[type='text'],
1452  .hs-form input[type='email'],
1453  .hs-form input[type='tel'],
1454  .hs-form input[type='number'],
1455  .hs-form input[type='url'],
1456  .hs-form input[type='date'],
1457  .hs-form input[type='password'],
1458  .hs-form input[type='search'],
1459  .hs-form textarea {
1460    box-sizing: border-box;
1461    width: 100%;
1462    font-family: inherit;
1463    border-radius: var(--input-border-radius);
1464    border: var(--input-border);
1465    background-color: var(--input-background-color);
1466    padding: var(--input-padding);
1467    color: var(--input-font-color);
1468    font-size: var(--input-font-size);
1469    line-height: var(--input-line-height);
1470    font-weight: var(--input-font-weight);
1471    letter-spacing: var(--input-letter-spacing);
1472    text-transform: var(--input-text-transform);
1473    margin-bottom: var(--input-bottom-margin);
1474    appearance: none;
1475    transition:
1476      border-color var(--transition-duration) ease-in-out,
1477      background-color var(--transition-duration) ease-in-out,
1478      box-shadow var(--transition-duration) ease-in-out,
1479      color var(--transition-duration) ease-in-out;
1480  }
1481
1482  /* Multi-line fields keep a soft radius rather than a pill */
1483  .hs-form textarea {
1484    border-radius: var(--brand-radius-soft);
1485    min-height: 6.5rem;
1486    resize: vertical;
1487  }
1488
1489  /* Hover — unchanged stroke in this design, kept as a hook */
1490  .hs-form input[type='text']:hover,
1491  .hs-form input[type='email']:hover,
1492  .hs-form input[type='tel']:hover,
1493  .hs-form input[type='number']:hover,
1494  .hs-form input[type='url']:hover,
1495  .hs-form input[type='date']:hover,
1496  .hs-form input[type='password']:hover,
1497  .hs-form input[type='search']:hover,
1498  .hs-form textarea:hover {
1499    border-color: var(--input-hover-border);
1500  }
1501
1502  /* Focus */
1503  .hs-form input[type='text']:focus,
1504  .hs-form input[type='email']:focus,
1505  .hs-form input[type='tel']:focus,
1506  .hs-form input[type='number']:focus,
1507  .hs-form input[type='url']:focus,
1508  .hs-form input[type='date']:focus,
1509  .hs-form input[type='password']:focus,
1510  .hs-form input[type='search']:focus,
1511  .hs-form textarea:focus {
1512    outline: none;
1513    border-color: var(--input-focus-border);
1514    background-color: var(--input-focus-background);
1515    box-shadow: var(--input-focus-ring);
1516  }
1517
1518  /* Placeholder */
1519  .hs-form input::placeholder,
1520  .hs-form textarea::placeholder {
1521    color: var(--input-placeholder-color);
1522    text-transform: var(--input-text-transform);
1523    opacity: 1;
1524    transition: color var(--transition-duration) ease-in-out;
1525  }
1526  .hs-form input:focus::placeholder,
1527  .hs-form textarea:focus::placeholder {
1528    color: var(--input-focus-placeholder-color);
1529  }
1530
1531  /* Filled */
1532  .hs-form input:not(:placeholder-shown),
1533  .hs-form textarea:not(:placeholder-shown) {
1534    color: var(--input-filled-font-color);
1535  }
1536
1537  /* Chrome autofill would otherwise paint the field pale yellow */
1538  .hs-form input:-webkit-autofill,
1539  .hs-form input:-webkit-autofill:hover,
1540  .hs-form input:-webkit-autofill:focus {
1541    -webkit-text-fill-color: var(--input-filled-font-color);
1542    -webkit-box-shadow: inset 0 0 0 100px var(--input-autofill-background);
1543    caret-color: var(--brand-ink);
1544  }
1545
1546  /* Error */
1547  .hs-form input.error,
1548  .hs-form textarea.error,
1549  .hs-form select.error {
1550    border-color: var(--input-error-border);
1551    background-color: var(--input-error-background);
1552    color: var(--input-error-font-color);
1553    margin-bottom: 0.5rem;
1554  }
1555  .hs-form input.error:hover,
1556  .hs-form textarea.error:hover,
1557  .hs-form select.error:hover {
1558    border-color: var(--input-error-hover-border);
1559  }
1560
1561  /* ============================================================================
1562   6. SELECT — charcoal fill by default, cream type, custom chevron
1563   ============================================================================ */
1564
1565  .hs-form select {
1566    box-sizing: border-box;
1567    width: 100%;
1568    font-family: inherit;
1569    border-radius: var(--input-border-radius);
1570    border: var(--brand-stroke) solid var(--select-border-color);
1571    background-color: var(--select-background);
1572    padding: var(--input-padding-y) calc(var(--select-arrow-inset) + var(--select-arrow-width) + 0.75rem) var(--input-padding-y) var(--input-padding-x);
1573    color: var(--select-color);
1574    font-size: var(--input-font-size);
1575    line-height: var(--input-line-height);
1576    font-weight: var(--input-font-weight);
1577    letter-spacing: var(--input-letter-spacing);
1578    text-transform: var(--select-text-transform);
1579    margin-bottom: var(--input-bottom-margin);
1580    appearance: none;
1581    cursor: pointer;
1582    background-image: var(--select-arrow);
1583    background-repeat: no-repeat;
1584    background-position: right var(--select-arrow-inset) center;
1585    background-size: var(--select-arrow-width) var(--select-arrow-height);
1586    transition:
1587      border-color var(--transition-duration) ease-in-out,
1588      background-color var(--transition-duration) ease-in-out,
1589      box-shadow var(--transition-duration) ease-in-out,
1590      color var(--transition-duration) ease-in-out;
1591  }
1592
1593  .hs-form select:hover {
1594    border-color: var(--select-border-color);
1595  }
1596
1597  .hs-form select:focus {
1598    outline: none;
1599    border-color: var(--select-border-color);
1600    background-color: var(--select-background);
1601    box-shadow: inset 0 0 0 var(--brand-stroke) var(--brand-on-ink);
1602  }
1603
1604  /* Nothing chosen yet — stays charcoal, just a softer label colour */
1605  .hs-form select:has(option[value='']:checked) {
1606    color: var(--select-placeholder-color);
1607  }
1608
1609  /* The native option list can't inherit the dark fill — keep it legible */
1610  .hs-form select option {
1611    background-color: var(--brand-field-fill);
1612    color: var(--brand-ink);
1613    text-transform: none;
1614  }
1615
1616  /* ============================================================================
1617   7. ERROR MESSAGES
1618   ============================================================================ */
1619
1620  .hs-form .hs-error-msgs {
1621    list-style: none;
1622    padding: 0;
1623    margin: 0;
1624  }
1625  .hs-form .hs-error-msgs li {
1626    list-style: none;
1627    padding: 0;
1628    margin: 0;
1629  }
1630
1631  .hs-form .hs-error-msg,
1632  .hs-form .hs-error-msgs label {
1633    display: block;
1634    margin: 0 0 var(--error-message-bottom-margin);
1635    padding: 0;
1636    color: var(--error-message-color);
1637    font-size: var(--error-message-font-size);
1638    font-weight: var(--error-message-font-weight);
1639    line-height: var(--error-message-line-height);
1640    letter-spacing: var(--error-message-letter-spacing);
1641    text-transform: var(--error-message-text-transform);
1642  }
1643
1644  /* ============================================================================
1645   8. RICH TEXT / LEGAL COPY
1646   ============================================================================ */
1647
1648  .hs-form .hs-richtext,
1649  .hs-form .legal-consent-container .hs-richtext {
1650    font-size: var(--richtext-font-size);
1651    font-weight: var(--richtext-font-weight);
1652    line-height: var(--richtext-line-height);
1653    letter-spacing: var(--richtext-letter-spacing);
1654    text-transform: var(--richtext-text-transform);
1655    color: var(--richtext-color);
1656    margin-bottom: var(--richtext-bottom-margin);
1657  }
1658  .hs-form .hs-richtext p {
1659    margin: 0 0 0.5em;
1660  }
1661  .hs-form .hs-richtext p:last-child {
1662    margin-bottom: 0;
1663  }
1664
1665  .hs-form .hs-richtext a {
1666    color: inherit;
1667    text-decoration: underline;
1668    text-underline-offset: 0.2em;
1669    text-decoration-thickness: 1px;
1670  }
1671  .hs-form .hs-richtext a:hover {
1672    text-decoration-thickness: 2px;
1673  }
1674
1675  /* ============================================================================
1676   9. CHECKBOXES + RADIOS
1677   ============================================================================ */
1678
1679  .hs-form .inputs-list {
1680    list-style-type: var(--checkbox-list-style);
1681    padding: var(--checkbox-list-padding);
1682    margin: var(--checkbox-list-margin);
1683  }
1684
1685  .hs-form .hs-form-booleancheckbox-display,
1686  .hs-form .hs-form-checkbox-display,
1687  .hs-form .hs-form-radio-display {
1688    margin-top: var(--checkbox-margin-top);
1689    margin-bottom: var(--checkbox-margin-bottom);
1690  }
1691
1692  /* Label sits inline with the control, not above it */
1693  .hs-form .inputs-list label {
1694    display: flex;
1695    align-items: flex-start;
1696    gap: var(--checkbox-gap);
1697    margin-bottom: 0;
1698    cursor: var(--checkbox-cursor);
1699    text-transform: none;
1700    letter-spacing: var(--brand-micro-tracking);
1701  }
1702
1703  .hs-form input[type='checkbox'],
1704  .hs-form input[type='radio'] {
1705    flex: none;
1706    width: var(--checkbox-size);
1707    height: var(--checkbox-size);
1708    margin: 0.1rem 0 0;
1709    border: var(--checkbox-border);
1710    background: var(--checkbox-background);
1711    border-radius: var(--checkbox-radius);
1712    accent-color: var(--checkbox-accent);
1713    cursor: var(--checkbox-cursor);
1714  }
1715  .hs-form input[type='radio'] {
1716    border-radius: 50%;
1717  }
1718
1719  /* ============================================================================
1720   10. SUBMIT
1721   ============================================================================ */
1722
1723  .hs-form .hs_submit,
1724  .hs-form .hs-submit {
1725    margin-top: var(--button-wrapper-top-margin);
1726  }
1727
1728  .hs-form .hs_submit .actions,
1729  .hs-form .hs-submit .actions {
1730    width: 100%;
1731    display: var(--actions-display);
1732    align-items: var(--actions-align-items);
1733    justify-content: var(--actions-justify-content);
1734    gap: var(--button-grid-gap);
1735    padding: 0;
1736  }
1737
1738  .hs-form .hs-button,
1739  .hs-form input[type='submit'].hs-button {
1740    width: auto !important;
1741    font-family: inherit;
1742    padding: var(--button-padding-y) var(--button-padding-x);
1743    font-size: var(--button-font-size);
1744    font-style: var(--button-font-style);
1745    font-weight: var(--button-font-weight);
1746    line-height: var(--button-line-height);
1747    /* Figma exports `leading-trim: both; text-edge: cap` — neither is real CSS,
1748     browsers drop them silently. The shipped equivalent is the line below; it
1749     trims the leading to the cap height, shrinking the text box from 15.6px to
1750     ~8.6px and so taking ~7px off the pill. Off by default. */
1751    /* text-box: trim-both cap alt; */
1752    text-transform: var(--button-text-transform);
1753    letter-spacing: var(--button-letter-spacing);
1754    background-color: var(--button-bg-color);
1755    color: var(--button-text-color);
1756    border: var(--button-border-width) solid var(--button-border-color);
1757    border-radius: var(--button-border-radius);
1758    cursor: pointer;
1759    appearance: none;
1760    transition: var(--button-transition);
1761  }
1762
1763  /* The `input[type=submit].hs-button` selector above is (0,3,1); these state
1764   selectors have to match it or they silently lose the cascade. */
1765  .hs-form .hs-button:hover,
1766  .hs-form input[type='submit'].hs-button:hover,
1767  .hs-form .hs-button:focus-visible,
1768  .hs-form input[type='submit'].hs-button:focus-visible {
1769    background-color: var(--button-hover-bg-color);
1770    border-color: var(--button-hover-border-color);
1771    color: var(--button-hover-text-color);
1772  }
1773  .hs-form .hs-button:focus-visible,
1774  .hs-form input[type='submit'].hs-button:focus-visible {
1775    outline: var(--brand-stroke) solid var(--brand-ink);
1776    outline-offset: 2px;
1777  }
1778
1779  /* Post-submit confirmation */
1780  .submitted-message {
1781    font-size: var(--richtext-font-size);
1782    line-height: var(--richtext-line-height);
1783    letter-spacing: var(--brand-micro-tracking);
1784    color: var(--brand-ink);
1785  }
1786
1787  [data-attribute='button-text'] {
1788    pointer-events: none;
1789  }
1790
1791  @media only screen and (max-width: 991px) {
1792    .hs-form .inputs-list{
1793      margin-block: calc(var(--label-bottom-margin) / 2) calc(var(--label-bottom-margin) * 2)
1794    }
1795  }
1796
1797  .hs-form-booleancheckbox {
1798    list-style-type: none;
1799  }
1800  
1801</style></div></div><main data-taxi="" class="main-w"><nav data-module="navigation" class="nav"><div class="c"><div class="nav-wrap"><div class="nav-bg"></div><div class="nav-home"><a data-wf--comp-home--variant="base" href="/?r=0" aria-current="page" class="home w-inline-block w--current"><div class="home-logo w-embed">
1801<svg width="100%" height="100%" viewBox="0 0 159 40" fill="none" xmlns="http://www.w3.org/2000/svg">
1802<path d="M32.3841 25.5356C32.2118 26.914 23.1235 33.7634 19.0316 36.4913C6.22463 24.833 13.9825 13.4992 19.0316 9.81413C24.5593 12.0396 32.5995 23.8127 32.3841 25.5356Z" fill="url(#paint0_radial_624_16178)" stroke="currentColor" stroke-width="0.143575"/>
1803<path d="M42.3187 23.1433C42.3187 15.0635 35.7687 8.51333 27.6889 8.51331C19.609 8.51331 13.0588 15.0635 13.0588 23.1433C13.0589 31.2232 19.609 37.7732 27.6889 37.7732V39.7705L27.474 39.7689C18.4617 39.6548 11.1772 32.3705 11.0631 23.3582L11.0618 23.1433C11.0618 13.9605 18.506 6.51624 27.6889 6.51624L27.9037 6.51756C36.9876 6.6326 44.316 14.0322 44.316 23.1433L44.3145 23.3582C44.1994 32.442 36.8 39.7704 27.6889 39.7705V37.7732C35.7687 37.7732 42.3187 31.2232 42.3187 23.1433Z" fill="currentColor"/>
1804<path d="M5.26584 9.7664C3.5184 11.5138 3.06841 14.5229 4.12832 18.2491C5.17782 21.9386 7.66048 26.0984 11.3675 29.8054C15.0746 33.5125 19.2344 35.9953 22.924 37.0448C26.6502 38.1047 29.6592 37.6547 31.4067 35.9072C33.1541 34.1598 33.6039 31.1508 32.5441 27.4247C31.4946 23.7351 29.0118 19.5753 25.3047 15.8682C21.5977 12.1611 17.4379 9.6785 13.7484 8.62901C10.0222 7.56911 7.01329 8.01898 5.26584 9.7664ZM3.85357 8.35413C6.34475 5.86297 10.2571 5.55952 14.2947 6.708C18.369 7.86692 22.8155 10.5545 26.717 14.4559C30.6185 18.3574 33.306 22.804 34.4649 26.8782C35.6134 30.9159 35.31 34.8282 32.8188 37.3194C30.3276 39.8106 26.4152 40.1141 22.3775 38.9656C18.3033 37.8067 13.8568 35.119 9.95537 31.2176C6.0539 27.3161 3.36623 22.8697 2.20731 18.7954C1.05881 14.7578 1.36238 10.8453 3.85357 8.35413Z" fill="currentColor"/>
1805<path d="M35.8091 4.10056C33.6458 1.93724 29.949 1.41889 25.4439 2.70914C20.9764 3.98865 15.9508 6.99829 11.4746 11.4745C6.99835 15.9508 3.9888 20.9763 2.70929 25.4438C1.41904 29.9488 1.93739 33.6456 4.10072 35.809C6.26405 37.9723 9.96086 38.4906 14.4659 37.2004C18.9334 35.9209 23.9589 32.9113 28.4351 28.4351C32.9114 23.9589 35.921 18.9332 37.2005 14.4657C38.4908 9.96071 37.9724 6.2639 35.8091 4.10056ZM37.2212 2.68842C40.1314 5.59857 40.499 10.2021 39.1205 15.0155C37.7312 19.8665 34.517 25.1775 29.8473 29.8473C25.1776 34.5169 19.8666 37.731 15.0157 39.1203C10.2023 40.4989 5.59872 40.1312 2.68857 37.2211C-0.221565 34.3109 -0.589218 29.7074 0.789339 24.894C2.17865 20.0431 5.39273 14.7321 10.0624 10.0624C14.7321 5.39268 20.0432 2.17851 24.8942 0.789189C29.7075 -0.589358 34.3111 -0.22171 37.2212 2.68842Z" fill="currentColor"/>
1806<path d="M52.7019 31.7803V30.0527H54.6351C55.616 30.0527 56.1135 29.5005 56.1135 28.4526V12.2955C56.1135 11.2476 55.6302 10.6954 54.6351 10.6954H52.7019V8.96778H59.1128L65.5806 23.1991C65.7796 23.6239 65.9076 23.7796 66.1066 23.7796C66.3056 23.7796 66.4051 23.6239 66.6041 23.1991L73.2425 8.96778H79.426V10.6954H77.4643C76.4835 10.6954 76.0286 11.2476 76.0286 12.2955V28.4526C76.0286 29.5005 76.4835 30.0527 77.4643 30.0527H79.426V31.7803H69.973V30.0527H71.9347C72.8871 30.0527 73.3704 29.5005 73.3704 28.4526V13.2726C73.3704 13.0177 73.342 12.7911 73.1145 12.7911C72.8871 12.7911 72.816 13.0177 72.7592 13.1451L66.4193 26.6542L64.7846 27.5039L58.1746 13.2726C58.0467 13.0177 57.9188 12.9469 57.7766 12.9469C57.6345 12.9469 57.4781 13.0743 57.4781 13.4991V28.4526C57.4781 29.5005 57.9756 30.0527 58.9565 30.0527H60.9181V31.7803H52.7161H52.7019ZM87.9407 32.106C83.5341 32.106 79.8382 28.226 79.8382 23.6664C79.8382 19.1067 83.5341 15.1701 87.9407 15.1701C92.3473 15.1701 96.0432 19.0784 96.0432 23.6664C96.0432 28.2544 92.3473 32.106 87.9407 32.106ZM87.9407 30.874C90.9543 30.874 92.8448 28.042 92.8448 23.6805C92.8448 19.3191 90.9543 16.4162 87.9407 16.4162C84.9271 16.4162 83.0081 19.2766 83.0081 23.6805C83.0081 28.0844 84.9413 30.874 87.9407 30.874ZM96.8535 31.7803V30.0527H98.6872C99.5685 30.0527 100.023 29.5005 100.023 28.4526V11.3184C100.023 10.2705 99.5685 9.71829 98.6872 9.71829H96.8535V7.99071H102.511V28.4384C102.511 29.4863 102.937 30.0386 103.819 30.0386H105.652V31.7662H96.8535V31.7803ZM113.926 32.106C109.519 32.106 105.823 28.226 105.823 23.6664C105.823 19.1067 109.519 15.1701 113.926 15.1701C118.332 15.1701 122.028 19.0784 122.028 23.6664C122.028 28.2544 118.332 32.106 113.926 32.106ZM113.926 3
18060.874C116.939 30.874 118.83 28.042 118.83 23.6805C118.83 19.3191 116.939 16.4162 113.926 16.4162C110.912 16.4162 108.993 19.2766 108.993 23.6805C108.993 28.0844 110.926 30.874 113.926 30.874ZM131.78 15.1701C135.205 15.1701 137.508 17.0534 137.508 19.4749C137.508 21.8963 136.726 21.8538 135.347 21.8538C133.969 21.8538 133.414 21.1741 133.414 20.2254C133.414 19.2766 133.997 19.0217 133.997 18.073C133.997 17.1242 133.272 16.3737 131.68 16.3737C128.411 16.3737 126.605 19.6589 126.605 23.3407C126.605 27.0224 128.539 29.7554 131.765 29.7554C134.992 29.7554 136.143 28.1269 136.741 25.5497L137.92 25.8754C137.139 29.8828 134.679 32.0918 131.154 32.0918C127.629 32.0918 123.791 28.8066 123.791 24.0204C123.791 19.2341 127.16 15.1559 131.765 15.1559L131.78 15.1701ZM147.302 32.106C142.896 32.106 139.2 28.226 139.2 23.6664C139.2 19.1067 142.896 15.1701 147.302 15.1701C151.709 15.1701 155.405 19.0784 155.405 23.6664C155.405 28.2544 151.709 32.106 147.302 32.106ZM147.302 30.874C150.316 30.874 152.206 28.042 152.206 23.6805C152.206 19.3191 150.316 16.4162 147.302 16.4162C144.289 16.4162 142.37 19.2766 142.37 23.6805C142.37 28.0844 144.303 30.874 147.302 30.874Z" fill="currentColor"/>
1807<defs>
1808<radialGradient id="paint0_radial_624_16178" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(30.6179 25.9734) rotate(-144.028) scale(18.4906 16.2041)">
1809<stop offset="0.206731" stop-color="#8EEEE8"/>
1810<stop offset="0.754808" stop-color="#CFF88C"/>
1811<stop offset="1" stop-color="#FBFF8A"/>
1812</radialGradient>
1813</defs>
1814</svg></div></a></div><div data-attribute="list-wrapper" class="nav-list-w"><div class="nav-list"><div data-attribute="nav-item" class="nav-item"><div class="nav-item-dropdown"><div data-attribute="nav-toggle" class="nav-item-dropdown-toggle"><div class="nav-item-dropdown-desktop"><div class="text-title-h5">Products</div></div><div class="nav-item-dropdown-mobile"><div class="text-title-h2">Products</div><div class="icon carrot"><div class="icon-svg w-embed"><svg width="100%" height="100%" viewBox="0 0 18 10" fill="none" xmlns="http://www.w3.org/2000/svg">
1815<path d="M0.353516 0.353546L8.85351 8.85355L17.3535 0.353546" stroke="currentColor"/>
1816</svg></div></div></div></div><div data-attribute="nav-content" class="nav-item-dropdown-navigation"><div data-attribute="mobile-nav-item" class="nav-item-dropdown-col"><div class="nav-item-group-head"><a href="/moloco-ads" class="nav-item-hov w-inline-block"><div class="nav-item-link"><div class="text-title-h5">moloco ads</div></div><div class="nav-item-link-head"><div class="text-title-h5">For performance marketers</div></div></a><div data-attribute="mobile-drop-trigger" class="nav-item-group-icon"><div class="icon carrot"><div class="icon-svg w-embed"><svg width="100%" height="100%" viewBox="0 0 18 10" fill="none" xmlns="http://www.w3.org/2000/svg">
1817<path d="M0.353516 0.353546L8.85351 8.85355L17.3535 0.353546" stroke="currentColor"/>
1818</svg></div></div></div></div><div data-attribute="mobile-drop-content" class="nav-item-group"><div class="nav-item-list"><div class="nav-item-link-head"><div class="text-title-h5">capabilities</div></div><a href="/capabilities/moloco-ads/user-acquisition" class="nav-item-link w-inline-block"><div class="text-title-h5">User acquisition</div></a><a href="/capabilities/moloco-ads/re-engagement" class="nav-item-link w-inline-block"><div class="text-title-h5">Re-engagement</div></a><a href="/capabilities/moloco-ads/performance-ctv" class="nav-item-link w-inline-block"><div class="text-title-h5">Performance CTV</div></a><a href="/capabilities/moloco-ads/sdk" class="nav-item-link w-inline-block"><div class="text-title-h5">moloco sdk</div></a></div><div class="nav-item-list"><div class="nav-item-link-head"><div class="text-title-h5">technology</div></div><a href="/technology/moloco-ads/cara" class="nav-item-link w-inline-block"><div class="text-title-h5">cara for moloco ads</div></a></div><div class="nav-item-list"><div class="nav-item-link-head"><div class="text-title-h5">Industries</div></div><a href="/industries/moloco-ads/mobile-gaming" class="nav-item-link w-inline-block"><div class="text-title-h5">mobile gaming</div></a><a href="/industries/moloco-ads/finance" class="nav-item-link hide-zh w-inline-block"><div class="text-title-h5">finance</div></a><a href="/industries/moloco-ads/igaming" class="nav-item-link hide-ko-ja-zh w-inline-block"><div class="text-title-h5">iGaming, sports &amp; prediction</div></a><a href="/industries/moloco-ads/on-demand-services" class="nav-item-link w-inline-block"><div class="text-title-h5">On-demand services</div></a><a href="/industries/moloco-ads/agencies" class="nav-item-link hide-ko w-inline-block"><div class="text-title-h5">agencies</div></a></div><div class="nav-item-list"><div class="nav-item-link-head"><div class="text-title-h5">Support</div></div><a href="/help-center" class="nav-item-link w-inline-block"><div class="text-title-h5">help center</div></a><a href="https://developer.moloco.cloud/docs/getting-started" target="_blank" class="nav-item-link w-inline-block"><div class="text-title-h5">moloco ads developer hub</div></a></div></div></div><div data-attribute="mobile-nav-item" class="nav-item-dropdown-col"><div class="nav-item-group-head"><a href="/moloco-commerce-media" class="nav-item-hov w-inline-block"><div class="nav-item-link"><div class="text-title-h5">Moloco Commerce Media</div></div><div class="nav-item-link-head"><div class="text-title-h5">For retailers and marketplaces</div></div></a><div data-attribute="mobile-drop-trigger" class="nav-item-group-icon"><div class="icon carrot"><div class="icon-svg w-embed">
1818<svg width="100%" height="100%" viewBox="0 0 18 10" fill="none" xmlns="http://www.w3.org/2000/svg">
1819<path d="M0.353516 0.353546L8.85351 8.85355L17.3535 0.353546" stroke="currentColor"/>
1820</svg></div></div></div></div><div data-attribute="mobile-drop-content" class="nav-item-group"><div class="nav-item-list"><div class="nav-item-link-head"><div class="text-title-h5">capabilities</div></div><a href="/capabilities/moloco-commerce-media/simplified-ad-ops" class="nav-item-link w-inline-block"><div class="text-title-h5">simplified ad ops</div></a><a href="/capabilities/moloco-commerce-media/ad-formats-and-capabilities" class="nav-item-link w-inline-block"><div class="text-title-h5">ad formats and capabilities</div></a><a href="/capabilities/moloco-commerce-media/ai-engine" class="nav-item-link w-inline-block"><div class="text-title-h5">ai engine</div></a><a href="/capabilities/moloco-commerce-media/agentic-commerce" class="nav-item-link w-inline-block"><div class="text-title-h5">agentic commerce</div></a></div><div class="nav-item-list"><div class="nav-item-link-head"><div class="text-title-h5">technology</div></div><a href="/technology/moloco-commerce-media/cara-for-mcm" class="nav-item-link w-inline-block"><div class="text-title-h5">cara for moloco commerce media</div></a></div><div class="nav-item-list"><div class="nav-item-link-head"><div class="text-title-h5">support</div></div><a href="https://mcm-docs.moloco.com/docs/what-is-moloco-mcm" target="_blank" class="nav-item-link w-inline-block"><div class="text-title-h5">Moloco Commerce Media Docs</div></a></div></div></div><div class="nav-item-dropdown-col"><a href="/moloco-next" class="nav-item-hov w-inline-block"><div><div class="nav-item-link"><div class="text-title-h5">moloco next</div></div></div><div class="nav-item-link-head"><div class="text-title-h5">Next generation advertising solutions</div></div></a></div></div></div></div><div data-attribute="nav-item" class="nav-item"><a data-attribute="nav-toggle" href="/customers" class="nav-item-dropdown-toggle w-inline-block"><div class="nav-item-dropdown-desktop"><div class="text-title-h5">customers</div></div><div class="nav-item-dropdown-mobile"><div class="text-title-h2">Customers</div></div></a></div><div data-attribute="nav-item" class="nav-item"><div class="nav-item-dropdown"><div data-attribute="nav-toggle" class="nav-item-dropdown-toggle"><div class="nav-item-dropdown-desktop"><div class="text-title-h5">resources</div></div><div class="nav-item-dropdown-mobile"><div class="text-title-h2">Resources</div><div class="icon carrot"><div class="icon-svg w-embed"><svg width="100%" height="100%" viewBox="0 0 18 10" fill="none" xmlns="http://www.w3.org/2000/svg">
1821<path d="M0.353516 0.353546L8.85351 8.85355L17.3535 0.353546" stroke="currentColor"/>
1822</svg></div></div></div></div><div data-attribute="nav-content" class="nav-item-dropdown-navigation set-width"><div class="nav-item-dropdown-col no-top"><div class="nav-item-list"><a href="/blog" class="nav-item-link w-inline-block"><div class="text-title-h5">blog</div></a><a href="/research" class="nav-item-link w-inline-block"><div class="text-title-h5">research</div></a><a href="/events" class="nav-item-link w-inline-block"><div class="text-title-h5">events</div></a></div></div></div></div></div><div data-attribute="nav-item" class="nav-item"><div class="nav-item-dropdown"><div data-attribute="nav-toggle" class="nav-item-dropdown-toggle"><div class="nav-item-dropdown-desktop"><div class="text-title-h5">company</div></div><div class="nav-item-dropdown-mobile"><div class="text-title-h2">Company</div><div class="icon carrot"><div class="icon-svg w-embed"><svg width="100%" height="100%" viewBox="0 0 18 10" fill="none" xmlns="http://www.w3.org/2000/svg">
1823<path d="M0.353516 0.353546L8.85351 8.85355L17.3535 0.353546" stroke="currentColor"/>
1824</svg></div></div></div></div><div data-attribute="nav-content" class="nav-item-dropdown-navigation set-width"><div class="nav-item-dropdown-col no-top"><div class="nav-item-list"><a href="/company/about" class="nav-item-link w-inline-block"><div class="text-title-h5">about us</div></a><a href="/company/leadership" class="nav-item-link w-inline-block"><div class="text-title-h5">leadership</div></a><a href="/company/newsroom" class="nav-item-link w-inline-block"><div class="text-title-h5">newsroom</div></a><a href="/company/careers" class="nav-item-link w-inline-block"><div class="text-title-h5">careers</div></a></div></div></div></div></div></div><div class="nav-list-bottom"><form action="/search" class="site-search w-form"><input class="search w-input" maxlength="256" name="query" placeholder="Search" type="search" id="search" required=""/><input type="submit" class="search-btn w-button" value="Search"/></form><div class="nav-list-cta"><button data-wf--comp-button--button-setup-variant="color-dark-on-light" aria-label="" class="button w-variant-7728b233-5cc0-7f5e-e38f-0b9046fac2fc"><a href="/contact-us" class="button-link w-inline-block"></a><div data-attribute="button-text" class="text-title-h5">Contact Us</div></button><div class="nav-social-list"><a href="#" class="nav-social-item linkedin w-inline-block"><div class="social-svg w-embed">
1824<svg width="100%" height="100%" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
1825<path d="M22.2234 0H1.77187C0.792187 0 0 0.773438 0 1.72969V22.2656C0 23.2219 0.792187 24 1.77187 24H22.2234C23.2031 24 24 23.2219 24 22.2703V1.72969C24 0.773438 23.2031 0 22.2234 0ZM7.12031 20.4516H3.55781V8.99531H7.12031V20.4516ZM5.33906 7.43438C4.19531 7.43438 3.27188 6.51094 3.27188 5.37187C3.27188 4.23281 4.19531 3.30937 5.33906 3.30937C6.47813 3.30937 7.40156 4.23281 7.40156 5.37187C7.40156 6.50625 6.47813 7.43438 5.33906 7.43438ZM20.4516 20.4516H16.8937V14.8828C16.8937 13.5562 16.8703 11.8453 15.0422 11.8453C13.1906 11.8453 12.9094 13.2937 12.9094 14.7891V20.4516H9.35625V8.99531H12.7687V10.5609H12.8156C13.2891 9.66094 14.4516 8.70938 16.1813 8.70938C19.7859 8.70938 20.4516 11.0813 20.4516 14.1656V20.4516Z" fill="currentColor"/>
1826</svg>
1827</div></a><a href="#" class="nav-social-item w-inline-block"><div class="social-svg w-embed"><svg width="100%" height="100%" viewBox="0 0 32 24" fill="none" xmlns="http://www.w3.org/2000/svg">
1828<path d="M31.6812 5.17856C31.6812 5.17856 31.3688 2.82588 30.4062 1.79284C29.1875 0.433213 27.825 0.426548 27.2 0.34657C22.725 -1.90682e-07 16.0063 0 16.0063 0H15.9937C15.9937 0 9.275 -1.90682e-07 4.8 0.34657C4.175 0.426548 2.8125 0.433213 1.59375 1.79284C0.63125 2.82588 0.325 5.17856 0.325 5.17856C0.325 5.17856 0 7.94446 0 10.7037V13.2896C0 16.0489 0.31875 18.8148 0.31875 18.8148C0.31875 18.8148 0.63125 21.1675 1.5875 22.2005C2.80625 23.5601 4.40625 23.5135 5.11875 23.6601C7.68125 23.92 16 24 16 24C16 24 22.725 23.9867 27.2 23.6468C27.825 23.5668 29.1875 23.5601 30.4062 22.2005C31.3688 21.1675 31.6812 18.8148 31.6812 18.8148C31.6812 18.8148 32 16.0555 32 13.2896V10.7037C32 7.94446 31.6812 5.17856 31.6812 5.17856ZM12.6938 16.4288V6.8381L21.3375 11.6501L12.6938 16.4288Z" fill="currentColor"/>
1829</svg>
1830</div></a><div data-module="locale-switch" class="nav-locale-mobile"><div data-attribute="trigger" class="nav-locale-trigger"><div class="social-svg w-embed"><svg width="100%" height="100%" viewBox="0 0 26 26" fill="none" xmlns="http://www.w3.org/2000/svg">
1831<path d="M0.75 12.75H7.41667M0.75 12.75C0.75 19.3774 6.12258 24.75 12.75 24.75M0.75 12.75C0.75 6.12258 6.12258 0.75 12.75 0.75M7.41667 12.75H18.0833M7.41667 12.75C7.41667 19.3774 9.80448 24.75 12.75 24.75M7.41667 12.75C7.41667 6.12258 9.80448 0.75 12.75 0.75M18.0833 12.75H24.75M18.0833 12.75C18.0833 6.12258 15.6955 0.75 12.75 0.75M18.0833 12.75C18.0833 19.3774 15.6955 24.75 12.75 24.75M24.75 12.75C24.75 6.12258 19.3774 0.75 12.75 0.75M24.75 12.75C24.75 19.3774 19.3774 24.75 12.75 24.75" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
1832</svg>
1833</div></div><div data-attribute="content" class="nav-locale-dropdown"><div class="w-locales-list"><div role="list" class="locale-list w-locales-items"><div role="listitem" class="locale-item w-locales-item"><a hreflang="en" href="/?r=0" aria-current="page" class="text-title-h5 w--current">English</a></div><div role="listitem" class="locale-item w-locales-item"><a hreflang="fr" href="/fr" class="text-title-h5">Français</a></div><div role="listitem" class="locale-item w-locales-item"><a hreflang="ko" href="/ko" class="text-title-h5">한국어</a></div><div role="listitem" class="locale-item w-locales-item"><a hreflang="ja" href="/ja" class="text-title-h5">日本語</a></div><div role="listitem" class="locale-item w-locales-item"><a hreflang="zh" href="/zh" class="text-title-h5">简体中文</a></div><div role="listitem" class="locale-item w-locales-item"><a hreflang="vi" href="/vi" class="text-title-h5">Tiếng Việt</a></div><div role="listitem" class="locale-item w-locales-item"><a hreflang="de" href="/de" class="text-title-h5">Deutsch</a></div></div></div></div></div></div></div></div></div><div class="nav-cta"><div data-attribute="nav-item" class="nav-item"><a data-attribute="nav-toggle" href="/contact-us" class="nav-item-dropdown-toggle w-inline-block"><div class="nav-item-dropdown-desktop"><div class="text-title-h5">talk to our team</div></div></a></div><div data-attribute="nav-item" class="nav-item locale"><div class="nav-item-dropdown locale"><div data-attribute="nav-toggle" class="nav-item-dropdown-toggle locale"><div class="loclae-icon"><div class="locale-svg w-embed">
1833<svg width="100%" height="100%" viewBox="0 0 33 33" fill="none" xmlns="http://www.w3.org/2000/svg">
1834<ellipse cx="16.4999" cy="16.5" rx="15.9999" ry="16" stroke="#2F2F2F" stroke-linecap="round" stroke-linejoin="round"/>
1835<ellipse cx="16.4999" cy="16.5" rx="7.99994" ry="16" stroke="#2F2F2F" stroke-linecap="round" stroke-linejoin="round"/>
1836<path d="M16.5 0.5L16.5 32.5" stroke="#2F2F2F" stroke-linecap="round" stroke-linejoin="round"/>
1837<path d="M32.5 16.433L0.500216 16.433" stroke="#2F2F2F" stroke-linecap="round" stroke-linejoin="round"/>
1838</svg>
1839</div></div></div><div data-attribute="nav-content" class="nav-item-dropdown-navigation locale"><div class="locale-wrap w-locales-list"><div role="list" class="locale-list w-locales-items"><div role="listitem" class="locale-item w-locales-item"><a hreflang="en" href="/?r=0" aria-current="page" class="text-title-h5 w--current">English</a></div><div role="listitem" class="locale-item w-locales-item"><a hreflang="fr" href="/fr" class="text-title-h5">Français</a></div><div role="listitem" class="locale-item w-locales-item"><a hreflang="ko" href="/ko" class="text-title-h5">한국어</a></div><div role="listitem" class="locale-item w-locales-item"><a hreflang="ja" href="/ja" class="text-title-h5">日本語</a></div><div role="listitem" class="locale-item w-locales-item"><a hreflang="zh" href="/zh" class="text-title-h5">简体中文</a></div><div role="listitem" class="locale-item w-locales-item"><a hreflang="vi" href="/vi" class="text-title-h5">Tiếng Việt</a></div><div role="listitem" class="locale-item w-locales-item"><a hreflang="de" href="/de" class="text-title-h5">Deutsch</a></div></div></div></div></div></div><div nav-search="" data-attribute="nav-item" class="nav-item locale"><a data-attribute="nav-toggle" href="/search" class="nav-item-dropdown-toggle locale w-inline-block"><div class="loclae-icon"><div class="locale-svg w-embed"><svg width="100%" height="100%" viewBox="0 0 33 33" fill="none" xmlns="http://www.w3.org/2000/svg">
1840<path d="M12.9855 25.4712C19.881 25.4712 25.471 19.8812 25.471 12.9856C25.471 6.09 19.881 0.5 12.9855 0.5C6.08994 0.5 0.5 6.09 0.5 12.9856C0.5 19.8812 6.08994 25.4712 12.9855 25.4712Z" stroke="#2F2F2F" stroke-linecap="round" stroke-linejoin="round"/>
1841<path d="M21.8125 21.8126L32.4998 32.5001" stroke="#2F2F2F" stroke-linecap="round" stroke-linejoin="round"/>
1842</svg>
1843</div></div></a></div></div><div data-attribute="menu-button" class="nav-menu-button"><div data-attribute="nav-open" class="nav-menu-icon open"><div class="nav-menu-svg w-embed"><svg width="100%" height="100%" viewBox="0 0 32 17" fill="none" xmlns="http://www.w3.org/2000/svg">
1844<line x1="31.5" y1="0.5" x2="0.5" y2="0.499997" stroke="currentColor" stroke-linecap="round"/>
1845<line x1="31.5" y1="8.5" x2="0.5" y2="8.5" stroke="currentColor" stroke-linecap="round"/>
1846<line x1="31.5" y1="16.5" x2="0.5" y2="16.5" stroke="currentColor" stroke-linecap="round"/>
1847</svg></div></div><div data-attribute="nav-close" class="nav-menu-icon close"><div class="nav-menu-svg w-embed"><svg width="100%" height="100%" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
1848<line x1="23.3135" y1="1.14711" x2="1.39317" y2="23.0674" stroke="currentColor" stroke-linecap="round"/>
1849<line x1="23.3202" y1="23.0674" x2="1.39993" y2="1.14713" stroke="currentColor" stroke-linecap="round"/>
1850<line x1="23.3135" y1="1.14857" x2="1.39317" y2="23.0689" stroke="currentColor" stroke-linecap="round"/>
1851</svg>
1852</div></div></div></div></div><div class="nav-line"></div></nav><div data-page="home" data-taxi-view="" class="taxi-w"><section data-wf--comp-hero-section-1--variant="base" class="s"><div class="spacer hero-1"></div><div class="c"><div reset-lr-margin="" class="o-grid hero1-main-wrapper"><div class="hero1-img-wrap"><div data-wf--comp-visual--variant="base" class="visual"><div class="video-visual"><div class="video w-embed"><video
1853  data-attribute="video"
1854  src="https://media.ffycdn.net/us/moloco/NtgCB2ijEfV9yb8ACGRE.mp4?width=2400&format=mp4"
1855  poster=""
1856  autoplay muted loop playsinline
1857  preload="metadata"
1858  disablepictureinpicture
1859></video></div></div><div class="hide">https://media.ffycdn.net/us/moloco/NtgCB2ijEfV9yb8ACGRE.mp4?width=2400&amp;format=mp4</div><div class="hide"></div><div class="hide"></div></div></div><div class="hero1-content-wrap"><h1 class="text-title-h1">The hardest problem in advertising happens a trillion times a day</h1><p class="text-title-h4">One person, one moment, and less than a second to decide what they see and what it’s worth. Moloco builds for that decision across millions of independent apps, connected TVs, and the digital storefronts where people arrive ready to buy.</p><div class="btn-group"><button data-wf--comp-button--button-setup-variant="color-dark-on-light" aria-label="" class="button w-variant-7728b233-5cc0-7f5e-e38f-0b9046fac2fc"><a href="/contact-us" class="button-link w-inline-block"></a><div data-attribute="button-text" class="text-title-h5">Talk to our team</div></button><button data-wf--comp-button--button-setup-variant="color-light" aria-label="" class="button w-variant-f13eb44d-be82-6223-d100-0dc29db2c467"><a href="/moloco-ads" class="button-link w-inline-block"></a><div data-attribute="button-text" class="text-title-h5">Explore more</div></button></div></div></div></div></section><div data-wf--comp-divider-line--variant="base" class="divider-line"></div><section class="s marquee"><div class="spacer marquee-section"></div><div class="c"><div class="marquee-main-wrapper"><div class="marquee-title-wrapper"><div data-wf--comp-header-centred--variant="base" class="o-grid heading-centre"><div class="section-header-title"><h2 class="text-title-h3">These companies choose Moloco</h2></div></div></div><div class="logo-marque-combo"><div><div marquee-mode="ltr" data-module="logo-marquee" class="logo-marquee"><div class="logo-collection w-dyn-list"><div role="list" class="logo-list w-dyn-items"><div role="listitem" class="logo-item w-dyn-item"><div class="logo"><img width="133" height="80" alt="" src="https://cdn.prod.website-files.com/6a75c3c48c131784ac3ab3da/6a954ebea98e19f6edc749e1_chewy-logo-mono.svg" loading="eager" class="logo-img"/></div></div><div role="listitem" class="logo-item w-dyn-item"><div class="logo"><img width="133" height="80" alt="" src="https://cdn.prod.website-files.com/6a75c3c48c131784ac3ab3da/6a954eca775892b4ac539a2d_chime-logo-mono.svg" loading="eager" class="logo-img"/></div></div><div role="listitem" class="logo-item w-dyn-item"><div class="logo"><img width="133" height="80" alt="" src="https://cdn.prod.website-files.com/6a75c3c48c131784ac3ab3da/6a954eef91849a27ff63a964_costco-logo-mono.svg" loading="eager" class="logo-img"/></div></div><div role="listitem" class="logo-item w-dyn-item"><div class="logo"><img width="133" height="80" alt="" src="https://cdn.prod.website-files.com/6a75c3c48c131784ac3ab3da/6ab511a572441dc43db28908_6a995576828c5519467f2fec_electronic-arts-logo-mono.webp" loading="eager" class="logo-img"/></div></div><div role="listitem" class="logo-item w-dyn-item"><div class="logo"><img width="133" height="80" alt="" src="https://cdn.prod.website-files.com/6a75c3c48c131784ac3ab3da/6a954fd36dd1684b8931025b_king-logo-mono.svg" loading="eager" class="logo-img"/></div></div><div role="listitem" class="logo-item w-dyn-item"><div class="logo"><img width="133" height="80" alt="" src="https://cdn.prod.website-files.com/6a75c3c48c131784ac3ab3da/6a95504304406fd3320226af_olive-young-logo-mono.svg" loading="eager" class="logo-img"/></div></div><div role="listitem" class="logo-item w-dyn-item"><div class="logo"><img width="133" height="80" alt="" src="https://cdn.prod.website-files.com/6a75c3c48c131784ac3ab3da/6a95505646528cd8dd1c8ec6_pinterest-logo-mono.svg" loading="eager" class="logo-img"/></div></div><div role="listitem" class="logo-item w-dyn-item"><div class="logo"><img width="133" height="80" alt="" src="https://cdn.prod.website-files.com/6a75c3c48c131784ac3ab3da/6a95505cec5c242c56b74402_playrix-logo-mono.svg" loading="eager" class="logo-img"/></div></div><div role="listitem" class="logo-item w-dyn-item"><div class="logo"><img width="133" height="80" alt="" src="https://cdn.prod.website-files.com/6a75c3c48c131784ac3ab3da/6a95506f38563f80306acc3d_rakuten-logo-mono.svg" loading="eager" class="logo-img"/></div></div><div role="listitem" class="logo-item w-dyn-item"><div class="logo"><img width="133" height="80" alt="" src="https://cdn.prod.website-files.com/6a75c3c48c131784ac3ab3da/6a955079ff8d25449d177304_revolut-logo-mono.svg" loading="eager" class="logo-img"/></div></div><div role="listitem" class="logo-item w-dyn-item"><div class="logo"><img width="133" height="80" alt="" src="https://cdn.prod.website-files.com/6a75c3c48c131784ac3ab3da/6a95511835ed9136302d57f1_scopely-logo-mono.svg" loading="eager" class="logo-img"/></div></div><div role="listitem" class="logo-item w-dyn-item"><div class="logo"><img width="133" height="80" alt="" src="https://cdn.prod.website-files.com/6a75c3c48c131784ac3ab3da/6a95514438ee5a2a94a38fc3_tiktok-logo-mono.svg" loading="eager" class="logo-img"/></div></div><div role="listitem" class="logo-item w-dyn-item"><div class="logo"><img width="133" height="80" alt="" src="https://cdn.prod.website-files.com/6a75c3c48c131784ac3ab3da/6a95515d9442a1ba6a162828_turo-logo-mono.svg" loading="eager" class="logo-img"/></div></div><div role="listitem" class="logo-item w-dyn-item"><div class="logo"><img width="133" height="80" alt="" src="https://cdn.prod.website-files.com/6a75c3c48c131784ac3ab3da/6ab5122571287edffc1b4d16_6a95518a4673261132331b82_wayfair-logo-mono.webp" loading="eager" class="logo-img"/></div></div></div></div></div></div></div></div></div><div class="spacer marquee-section"></div></section><section data-wf--comp-stat-section-simple--variant="4-grid" class="s dark"><div class="spacer stat-section"></div><div class="c"><div class="stats-main-wrapper"><div><div data-wf--comp-section-header-split--variant="base" class="o-grid section-header-split"><div class="section-header-split-title"><h2 class="text-title-h1">Growth is moving, and advertising needs to move with it</h2></div><div class="section-header-split-text"><p class="text-title-h4">Performance advertising is moving: onto new surfaces, into new markets, beyond the platforms that once defined it. This is where attention exists and where it’s growing.<br/><br/>
1859There are limits to what’s possible with the primary big tech platforms. We&#x27;re pushing the frontier to new surfaces including in-app, CTV, and commerce media, and helping performance marketers provide new paths to scaled growth.</p></div></div></div><div reset-lr-margin="" class="stats-wrap flow w-variant-6c09424d-6c6d-aa69-a802-d24825b87986"><div data-wf--comp-internal-divider-line--variant="base" class="divider-line-inside"></div><div data-hide-border-left="" data-wf--comp-stat-card-simple--variant="base" class="stat-card-simple"><div class="stat-card-simple-header"><div class="stat-card-simple-title-wrapper"></div><div class="text-title-h0">2B+</div></div><div class="stat-card-subtext"><div class="text-title-h4">Daily active users reached by Moloco Ads. {[data-attribute=&quot;init-tooltip&quot;][tooltip-content=&quot;&lt;p&gt;Source:&lt;br&gt;&lt;br&gt;Daily active users (DAU), for the purposes of this claim, is defined as the average number of unique consumer devices observed across Moloco`s integrated exchange partners and proprietary SDK on Android and iOS devices globally per business day. Based on a Moloco internal estimate of potential daily user reach across an average of five sample business days in March and April 2026. Each device is assigned to a single country to prevent double-counting; tablets are excluded through deterministic classification using exchange signals and device model matching; and country-specific device-to-user calibration factors are applied to translate device counts to estimated unique users.&lt;/p&gt;&quot;]}</div></div></div><div data-wf--comp-stat-card-simple--variant="base" class="stat-card-simple"><div class="stat-card-simple-header"><div class="stat-card-simple-title-wrapper"></div><div class="text-title-h0">2.9M</div></div><div class="stat-card-subtext"><div class="text-title-h4">Independent apps reached by Moloco Ads. {[data-attribute=&quot;init-tooltip&quot;][tooltip-content=&quot;&lt;p&gt;Source:&lt;br&gt;&lt;br&gt;Moloco Internal Data; count of distinct app bundles (iOS and Android cumulative total) where Moloco received at least RTB (real time bid) request in the 90-day period ending April 3, 2026, worldwide. ‘Independent’ refers to apps not operated by Walled Gardens (e.g., Facebook, Instagram, TikTok, Amazon Shopping, YouTube).&lt;/p&gt;&quot;]}</div></div></div><div data-wf--comp-stat-card-simple--variant="base" class="stat-card-simple"><div class="stat-card-simple-header"><div class="stat-card-simple-title-wrapper"></div><div class="text-title-h0">230</div></div><div class="stat-card-subtext"><div class="text-title-h4">Countries and territories served by Moloco Ads. {[data-attribute=&quot;init-tooltip&quot;][tooltip-content=&quot;&lt;p&gt;Source:&lt;br&gt;&lt;br&gt;Moloco Internal Data; Unique ISO 3166-1 countries, territories, or special areas of geographic interest, with at least one delivered impression via Moloco Ads (App, Web, CTV) February 1–28, 2026.&lt;/p&gt;&quot;]}</div></div></div><div data-hide-border-right="" data-wf--comp-stat-card-simple--variant="base" class="stat-card-simple"><div class="stat-card-simple-header"><div class="stat-card-simple-title-wrapper"></div><div class="text-title-h0">97K+</div></div><div class="stat-card-subtext"><div class="text-title-h4">Advertisers served by Moloco MCM. {[data-attribute=&quot;init-tooltip&quot;][tooltip-content=&quot;&lt;p&gt;Source:&lt;br&gt;&lt;br&gt;Moloco internal data for advertiser onboarding measured over the trailing 12 complete months (June 1, 2025 – May 31, 2026). An advertiser is a seller with an active ad budget (daily budget greater than zero); a newly onboarded advertiser is one that was active during this period and had never previously advertised on the retailer. Figure covers sponsored-ad retailers commercialized as of May 31, 2026 across a mix of business models and verticals.&lt;/p&gt;&quot;]}</div></div></div></div></div></div><div class="spacer stat-section bottom"></div></section><div data-wf--comp-divider-line--variant="base" class="divider-line"></div><div data-module="sticky-nav" class="anchor-section"><div data-attribute="sticky-nav-comp" class="anchor-fixed"><div class="anchor-nav"><div class="anchor-nav-list"><a data-attribute="anchor-button" href="#moloco-ads" class="anchor-button w-inline-block"><div class="text-title-h5">Moloco ads</div></a><a data-attribute="anchor-button" href="#moloco-commerce-media" class="anchor-button w-inline-block"><div class="text-title-h5">Moloco Commerce media</div></a></div></div></div><section class="s anchor"><div class="spacer anchor-section"></div><div class="c"><div class="anchor-main-wrapper"><div data-wf--comp-header-centred--variant="base" class="o-grid heading-centre"><div class="section-header-title"><h2 class="text-title-h1">Where do you want to grow?</h2></div><div class="section-header-text"><p class="text-title-h4">Moloco offers two different AI-native platforms: Moloco Ads for performance marketers ready to reach more people, and Moloco Commerce Media for retailers ready to build a scalable advertising business.</p></div></div></div></div><div class="spacer anchor-section"></div></section><div class="anchor-wrap"><div id="moloco-ads" class="anchor-element"></div><div data-wf--comp-divider-line--variant="base" class="divider-line"></div><section data-wf--comp-content-wide-section--variant="base" class="s"><div class="spacer content-wide"></div><div class="c"><div class="o-grid content-wide-main-wrapper"><div class="o-grid content-wide-content-wrap"><div class="content-wide-title-wrap"><div><h2 class="text-title-h2">Moloco Ads</h2></div><p class="text-title-h3">For performance marketers</p></div><div class="content-wide-text-wrap"><p class="text-title-h4">Acquire and retain customers across 2.9 million independent apps, using AI-driven relevance to reach the people most likely to convert, optimized toward the outcomes you define: ROAS, LTV, re-engagement. {[data-attribute=&quot;init-tooltip&quot;][tooltip-content=&quot;&lt;p&gt;Source:&lt;br&gt;&lt;br&gt;Moloco Internal Data; count of distinct app bundles (iOS and Android cumulative total) where Moloco received at least RTB (real time bid) request in the 90-day period ending April 3, 2026, worldwide. ‘Independent’ refers to apps not operated by Walled Gardens (e.g., Facebook, Instagram, TikTok, Amazon Shopping, YouTube).&lt;/p&gt;&quot;]}</p><div class="btn-group stretch"><button data-wf--comp-button--button-setup-variant="color-dark-on-light" aria-label="" class="button w-variant-7728b233-5cc0-7f5e-e38f-0b9046fac2fc"><a href="/moloco-ads" class="button-link w-inline-block"></a><div data-attribute="button-text" class="text-title-h5">explore moloco ads</div></button></div></div></div><div class="content-wide-img-wrap mobile-img-first"><div data-wf--comp-visual--variant="base" class="visual"><div class="image-visual"><img alt="" src="https://cdn.prod.website-files.com/6a59dd0133b776de7ec526cd/6a7c9a7b45b5225a3b7e0cc2_Frame%202147224600.avif" sizes="(max-width: 2752px) 100vw, 2752px" srcset="https://cdn.prod.website-files.com/6a59dd0133b776de7ec526cd/6a7c9a7b45b5225a3b7e0cc2_Frame%202147224600-p-500.avif 500w, https://cdn.prod.website-files.com/6a59dd0133b776de7ec526cd/6a7c9a7b45b5225a3b7e0cc2_Frame%202147224600-p-800.avif 800w, https://cdn.prod.website-files.com/6a59dd0133b776de7ec526cd/6a7c9a7b45b5225a3b7e0cc2_Frame%202147224600-p-1080.avif 1080w, https://cdn.prod.website-files.com/6a59dd0133b776de7ec526cd/6a7c9a7b45b5225a3b7e0cc2_Frame%202147224600-p-1600.avif 1600w, https://cdn.prod.website-files.com/6a59dd0133b776de7ec526cd/6a7c9a7b45b5225a3b7e0cc2_Frame%202147224600-p-2000.avif 2000w, https://cdn.prod.website-files.com/6a59dd0133b776de7ec526cd/6a7c9a7b45b5225a3b7e0cc2_Frame%202147224600-p-2600.avif 2600w, https://cdn.prod.website-files.com/6a59dd0133b776de7ec526cd/6a7c9a7b45b5225a3b7e0cc2_Frame%202147224600.avif 2688w" class="image"/></div><div class="hide">https://media.ffycdn.net/us/moloco/3c4C4PKCkVaDsCwaVe8w.mp4?width=2400&amp;format=mp4</div><div class="hide"></div><div class="hide"></div></div></div></div></div><div class="spacer content-wide"></div></section></div><div data-wf--comp-divider-line--variant="base" class="divider-line"></div><div class="anchor-wrap"><div id="moloco-commerce-media" class="anchor-element"></div><section data-wf--comp-content-wide-section--variant="base" class="s"><div class="spacer content-wide"></div><div class="c"><div class="o-grid content-wide-main-wrapper"><div class="o-grid content-wide-content-wrap"><div class="content-wide-title-wrap"><div><h2 class="text-title-h2">Moloco Commerce Media</h2></div><p class="text-title-h3">For retailers and marketplaces</p></div><div class="content-wide-text-wrap"><p class="text-title-h4">Turn shopper behavior into an advertising business, using AI-driven relevance to connect advertisers with shoppers at the moment of shopping intent.</p><div class="btn-group stretch"><button data-wf--comp-button--button-setup-variant="color-dark-on-light" aria-label="" class="button w-variant-7728b233-5cc0-7f5e-e38f-0b9046fac2fc"><a href="/moloco-commerce-media" class="button-link w-inline-block"></a><div data-attribute="button-text" class="text-title-h5">explore moloco commerce media</div></button></div></div></div><div class="content-wide-img-wrap mobile-img-first"><div data-wf--comp-visual--variant="base" class="visual"><div class="image-visual"><img alt="" src="https://cdn.prod.website-files.com/6a59dd0133b776de7ec526cd/6a7c9a95b93efcaf18a1914a_Frame%202147224601.avif" sizes="(max-width: 2752px) 100vw, 2752px" srcset="https://cdn.prod.website-files.com/6a59dd0133b776de7ec526cd/6a7c9a95b93efcaf18a1914a_Frame%202147224601-p-500.avif 500w, https://cdn.prod.website-files.com/6a59dd0133b776de7ec526cd/6a7c9a95b93efcaf18a1914a_Frame%202147224601-p-800.avif 800w, https://cdn.prod.website-files.com/6a59dd0133b776de7ec526cd/6a7c9a95b93efcaf18a1914a_Frame%202147224601-p-1080.avif 1080w, https://cdn.prod.website-files.com/6a59dd0133b776de7ec526cd/6a7c9a95b93efcaf18a1914a_Frame%202147224601-p-1600.avif 1600w, https://cdn.prod.website-files.com/6a59dd0133b776de7ec526cd/6a7c9a95b93efcaf18a1914a_Frame%202147224601-p-2000.avif 2000w, https://cdn.prod.website-files.com/6a59dd0133b776de7ec526cd/6a7c9a95b93efcaf18a1914a_Frame%202147224601-p-2600.avif 2600w, https://cdn.prod.website-files.com/6a59dd0133b776de7ec526cd/6a7c9a95b93efcaf18a1914a_Frame%202147224601.avif 2688w" class="image"/></div><div class="hide">https://media.ffycdn.net/us/moloco/W1TPzzgbcEHu4UmrxEUf.mp4?width=2400&amp;format=mp4</div><div class="hide"></div><div class="hide"></div></div></div></div></div><div class="spacer content-wide"></div></section></div></div><div data-wf--comp-divider-line--variant="base" class="divider-line"></div><section data-wf--comp-legal-split-text-section--variant="base" class="s"><div class="spacer long-form"></div><div class="c"><div class="o-grid legal-main-wrapper"><div class="legal-title-wrapper"><h1 class="text-title-h2">CARA, Moloco’s AI system</h1></div><div class="legal-content-wrapper"><div class="legal-rich-text w-richtext"><p>
1859Moloco’s founders built the advertising systems inside the world’s largest technology companies, then left in 2013 to bring that capability to everyone else. CARA, the Compound Ad Recommendation Architecture, is the result of that effort.</p><p>CARA coordinates models, agents, and specialized software across every technical domain of advertising. Because it compounds, an improvement in one domain strengthens every other: the ground gained becomes the foundation for the next.</p><p>See <a href="/technology/moloco-ads/cara">CARA for Moloco Ads</a> and <a href="/technology/moloco-commerce-media/cara-for-mcm">CARA for Moloco Commerce Media</a> to find out more about how this compound AI goes to work for advertisers and retailers.</p></div></div></div></div><div class="spacer long-form"></div></section><div data-wf--comp-divider-line--variant="base" class="divider-line"></div><section data-wf--comp-content-wide-section--variant="base" class="s"><div class="spacer content-wide"></div><div class="c"><div class="o-gri
1859d content-wide-main-wrapper"><div class="o-grid content-wide-content-wrap"><div class="content-wide-title-wrap"><div><h2 class="text-title-h1">An AI advertising system that gets smarter with every campaign</h2></div></div><div class="content-wide-text-wrap"></div></div><div class="content-wide-img-wrap"><div is-desktop="" data-wf--comp-visual--variant="base" class="visual"><div class="image-visual"><img alt="" src="https://cdn.prod.website-files.com/6a59dd0133b776de7ec526cd/6aa81862fce4c5f08f35cb8a_Ads%20Cara.svg" class="image"/></div><div class="hide"></div><div class="hide"></div><div class="hide"></div></div><div is-mobile="" data-wf--comp-visual--variant="base" class="visual"><div class="image-visual"><img alt="" src="https://cdn.prod.website-files.com/6a59dd0133b776de7ec526cd/6aa818617df3425f9560c291_Ads%20Cara%20-%20Mobile.svg" class="image"/></div><div class="hide"></div><div class="hide"></div><div class="hide"></div></div></div></div></div><div class="spacer content-wide"></div></section><section class="s dark"><div class="spacer slider"></div><div class="c"><div data-module="slider" class="slider-main-wrapper"><div class="o-grid slider-top-wrapper"><div class="slider-title-wrapper size-wide"><h2 class="text-title-h1">Strong performance is built on moments of discovery</h2><p class="text-title-h4">AI advertising helps people discover the right product, service, or brand at the right moment. Better discovery is better for everyone. Customers find what matters, advertisers perform better, and retailers create more value, as demonstrated in the customer growth stories below.</p></div><div class="slider-controls-wrapper"><div class="slider-navigation"><div class="slider-navigation-dot is-active"></div><div class="slider-navigation-dot"></div></div><div class="slider-arrow-group"><div aria-label="Move Slider to Previous Item" data-attribute="slider-arrow-left" class="slider-arrow"><div class="slider-arrow-icon w-embed"><svg width="100%" height="100%" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
1860<path d="M5.91251 9.29022L16.0815 9.29022C16.2854 9.29022 16.4546 9.35758 16.5892 9.4923C16.7239 9.62703 16.7913 9.79626 16.7913 10C16.7913 10.2038 16.7239 10.373 16.5892 10.5077C16.4546 10.6424 16.2854 10.7098 16.0815 10.7098L5.91251 10.7098L10.4973 15.2944C10.639 15.4361 10.7107 15.6029 10.7125 15.795C10.7145 15.9872 10.6445 16.1545 10.5027 16.2969C10.3608 16.4398 10.1935 16.5104 10.0008 16.5088C9.80821 16.5071 9.6405 16.4355 9.49772 16.294L3.70605 10.5023C3.63022 10.4256 3.57508 10.3459 3.54064 10.2631C3.50605 10.1802 3.48876 10.0923 3.48876 9.99939C3.48876 9.90647 3.50605 9.81876 3.54064 9.73626C3.57508 9.65362 3.63022 9.57411 3.70605 9.49772L9.50272 3.70605C9.64925 3.56119 9.81709 3.48876 10.0063 3.48876C10.1953 3.48876 10.3606 3.56161 10.5023 3.7073C10.6438 3.84911 10.7146 4.01473 10.7146 4.20418C10.7146 4.39348 10.6438 4.55897 10.5023 4.70064L5.91251 9.29022Z" fill="currentColor"/>
1861</svg>
1862</div></div><div aria-label="Move Slider to Next Item" data-attribute="slider-arrow-right" class="slider-arrow"><div class="slider-arrow-icon w-embed"><svg width="100%" height="100%" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
1863<path d="M14.0875 10.7098H3.91853C3.71464 10.7098 3.54541 10.6424 3.41082 10.5077C3.2761 10.373 3.20874 10.2037 3.20874 9.99999C3.20874 9.79624 3.2761 9.627 3.41082 9.49228C3.54541 9.35756 3.71464 9.2902 3.91853 9.2902H14.0875L9.5027 4.70561C9.36103 4.56395 9.28929 4.39707 9.28749 4.20499C9.28554 4.01277 9.35548 3.84548 9.49728 3.70311C9.63923 3.5602 9.80652 3.48957 9.99916 3.49124C10.1918 3.49291 10.3595 3.5645 10.5023 3.70603L16.2939 9.4977C16.3698 9.57436 16.4249 9.65409 16.4594 9.73686C16.4939 9.81978 16.5112 9.9077 16.5112 10.0006C16.5112 10.0935 16.4939 10.1812 16.4594 10.2637C16.4249 10.3464 16.3698 10.4259 16.2939 10.5023L10.4973 16.2939C10.3508 16.4388 10.1829 16.5112 9.99374 16.5112C9.80471 16.5112 9.63936 16.4384 9.4977 16.2927C9.35617 16.1509 9.28541 15.9853 9.28541 15.7958C9.28541 15.6065 9.35617 15.441 9.4977 15.2994L14.0875 10.7098Z" fill="currentColor"/>
1864</svg>
1865</div></div></div></div></div><div class="slider-container"><div class="divider-line-inside slider"></div><div class="swiper w-dyn-list"><div role="list" class="swiper-wrapper w-dyn-items"><div role="listitem" class="swiper-slide w-dyn-item"><div class="slide"><div class="slide-title"><div class="slide-img-w"><img loading="lazy" src="https://cdn.prod.website-files.com/6a75c3c48c131784ac3ab3da/6a856fa96eeac903383aba11_wayfair-logo-mono.webp" alt="" sizes="100vw" srcset="https://cdn.prod.website-files.com/6a75c3c48c131784ac3ab3da/6a856fa96eeac903383aba11_wayfair-logo-mono-p-500.webp 500w, https://cdn.prod.website-files.com/6a75c3c48c131784ac3ab3da/6a856fa96eeac903383aba11_wayfair-logo-mono.webp 606w" class="slide-img"/></div></div><div class="slide-main-text-wrapper"><div class="rich-text w-richtext"><p>Double-digit growth in display ad revenue as a % of GMV (A2G) over the past 12 months {[data-attribute=&quot;init-tooltip&quot;][tooltip-content=&quot;&lt;p&gt;Source:&lt;br&gt;&lt;br&gt;Customer provided data; analysis period: Q4 2024&lt;/p&gt;&quot;]}</p><p>
1865“Wayfair needed an ad technology partner that could deliver real-time personalization across our catalog of millions of products while maximizing Return on Ad Spend for our suppliers. Moloco&#x27;s ML-based platform met that bar, driving a 30% increase in Display Ad Click-Through-Rate during initial POC testing and scaling effectively across thousands of supplier campaigns on our infrastructure.”</p><h5>Fiona Tan<br/>Chief Technology Officer</h5></div></div><div class="slider-btn-wrapper"><button data-wf--comp-button--button-setup-variant="color-dark-on-dark" aria-label="Go to Case Study" class="button"><a href="/blog/wayfair-partners-with-moloco-to-transform-display-advertising" class="button-link w-inline-block"></a><div data-attribute="button-text" class="text-title-h5">Read success story</div></button></div></div></div><div role="listitem" class="swiper-slide w-dyn-item"><div class="slide"><div class="slide-title"><div class="slide-img-w"><img loading="lazy" src="https://cdn.prod.website-files.com/6a75c3c48c131784ac3ab3da/6a88408876688026919d2f1e_king-logo-mono.svg" alt="" class="slide-img"/></div></div><div class="slide-main-text-wrapper"><div class="rich-text w-richtext"><p>“Moloco&#x27;s AI goes beyond surface-level metrics to identify the players who drive real business impact. Combined with a team that&#x27;s deeply invested in our objectives and outcomes, our partnership with Moloco continues to get smarter and more effective over time.”</p><h5>Simon Hales<br/>Associate Director of Performance Marketing</h5></div></div><div class="slider-btn-wrapper"><button data-wf--comp-button--button-setup-variant="color-dark-on-dark" aria-label="Go to Case Study" class="button"><a href="/case-studies/open-mic-open-internet-king" class="button-link w-inline-block"></a><div data-attribute="button-text" class="text-title-h5">Read success story</div></button></div></div></div><div role="listitem" class="swiper-slide w-dyn-item"><div class="slide"><div class="slide-title"><div class="slide-img-w"><img loading="lazy" src="https://cdn.prod.website-files.com/6a75c3c48c131784ac3ab3da/6a8840bde4031765ebb438c8_scopely-logo-mono.svg" alt="" class="slide-img"/></div></div><div class="slide-main-text-wrapper"><div class="rich-text w-richtext"><p>“Starting with our global launch and continuing today, Moloco has been a strong partner with an excellent ability to consistently find high-quality, highly-engaged players.”</p><h5>Eric Ma<br/>Performance Marketing</h5></div></div><div class="slider-btn-wrapper"><button data-wf--comp-button--button-setup-variant="color-dark-on-dark" aria-label="Go to Case Study" class="button"><a href="/case-studies/scopely-monopoly-go" class="button-link w-inline-block"></a><div data-attribute="button-text" class="text-title-h5">Read success story</div></button></div></div></div></div></div></div></div></div><div class="spacer slider bottom"></div></section><section class="s b-top"><div class="spacer research-section"></div><div class="c"><div class="research-main-wrapper"><div class="research-card-title"><div data-wf--comp-header-centred--variant="extra-large" class="o-grid heading-centre"><div class="section-header-title w-variant-c839ec22-f351-96ad-eace-337d9d537671"><h2 class="text-title-h1">Our research</h2></div></div></div><div class="research-col w-dyn-list"><div role="list" class="research-col-list w-dyn-items"><div role="listitem" class="research-col-item is-contents w-dyn-item"><div button-dark-on-light-hover-trigger="" class="article-card"><div class="article-card-head"><h3 class="text-title-h3">Inside a mobile game’s first year</h3><p class="text-body">An analysis of 55 mobile game launches, representing $1.5B in IAP revenue and more than 20M players, reveals what separates breakout titles from the rest. Discover how their strategies evolve throughout the first year, from creative testing to bid strategy.</p></div><div class="article-card-img-w"><img loading="lazy" src="https://cdn.prod.website-files.com/6a75c3c48c131784ac3ab3da/6aa16dc370854da1a67354c9_blue-img-17-16x9.avif" alt="" sizes="100vw" srcset="https://cdn.prod.website-files.com/6a75c3c48c131784ac3ab3da/6aa16dc370854da1a67354c9_blue-img-17-16x9-p-500.avif 500w, https://cdn.prod.website-files.com/6a75c3c48c131784ac3ab3da/6aa16dc370854da1a67354c9_blue-img-17-16x9-p-800.avif 800w, https://cdn.prod.website-files.com/6a75c3c48c131784ac3ab3da/6aa16dc370854da1a67354c9_blue-img-17-16x9-p-1080.avif 1080w, https://cdn.prod.website-files.com/6a75c3c48c131784ac3ab3da/6aa16dc370854da1a67354c9_blue-img-17-16x9-p-1600.avif 1600w, https://cdn.prod.website-files.com/6a75c3c48c131784ac3ab3da/6aa16dc370854da1a67354c9_blue-img-17-16x9-p-2000.avif 2000w, https://cdn.prod.website-files.com/6a75c3c48c131784ac3ab3da/6aa16dc370854da1a67354c9_blue-img-17-16x9-p-2600.avif 2600w, https://cdn.prod.website-files.com/6a75c3c48c131784ac3ab3da/6aa16dc370854da1a67354c9_blue-img-17-16x9-p-3200.avif 3200w, https://cdn.prod.website-files.com/6a75c3c48c131784ac3ab3da/6aa16dc370854da1a67354c9_blue-img-17-16x9.avif 3840w" class="article-card-img"/></div>
1865<div class="article-card-details"><div class="text-title-h5">Moloco Ads</div><div class="text-title-h5">August 26, 2026</div></div><button data-wf--comp-button--button-setup-variant="color-dark-on-light" aria-label="" class="button w-variant-7728b233-5cc0-7f5e-e38f-0b9046fac2fc"><div data-attribute="button-text" class="text-title-h5">Read</div></button><a aria-label="Go to Article" href="/reports/inside-mobile-games-first-year" class="article-card-link w-inline-block"></a></div></div><div role="listitem" class="research-col-item is-contents w-dyn-item"><div button-dark-on-light-hover-trigger="" class="article-card"><div class="article-card-head"><h3 class="text-title-h3">The CTV Measurement Playbook</h3><p class="text-body">True Incrementality for App Advertisers. Download the CTV Measurement Playbook, co-authored by Moloco and AppsFlyer.</p></div><div class="article-card-img-w"><img loading="lazy" src="https://cdn.prod.website-files.com/6a75c3c48c131784ac3ab3da/6aa16dba4c0b1d8e81b16041_blue-img-16-16x9.avif" alt="" sizes="100vw" srcset="https://cdn.prod.website-files.com/6a75c3c48c131784ac3ab3da/6aa16dba4c0b1d8e81b16041_blue-img-16-16x9-p-500.avif 500w, https://cdn.prod.website-files.com/6a75c3c48c131784ac3ab3da/6aa16dba4c0b1d8e81b16041_blue-img-16-16x9-p-800.avif 800w, https://cdn.prod.website-files.com/6a75c3c48c131784ac3ab3da/6aa16dba4c0b1d8e81b16041_blue-img-16-16x9-p-1080.avif 1080w, https://cdn.prod.website-files.com/6a75c3c48c131784ac3ab3da/6aa16dba4c0b1d8e81b16041_blue-img-16-16x9-p-1600.avif 1600w, https://cdn.prod.website-files.com/6a75c3c48c131784ac3ab3da/6aa16dba4c0b1d8e81b16041_blue-img-16-16x9-p-2000.avif 2000w, https://cdn.prod.website-files.com/6a75c3c48c131784ac3ab3da/6aa16dba4c0b1d8e81b16041_blue-img-16-16x9-p-2600.avif 2600w, https://cdn.prod.website-files.com/6a75c3c48c131784ac3ab3da/6aa16dba4c0b1d8e81b16041_blue-img-16-16x9-p-3200.avif 3200w, https://cdn.prod.website-files.com/6a75c3c48c131784ac3ab3da/6aa16dba4c0b1d8e81b16041_blue-img-16-16x9.avif 3840w" class="article-card-img"/></div><div class="article-card-details"><div class="text-title-h5"></div><div class="text-title-h5">May 19, 2026</div></div><button data-wf--comp-button--button-setup-variant="color-dark-on-light" aria-label="" class="button w-variant-7728b233-5cc0-7f5e-e38f-0b9046fac2fc"><div data-attribute="button-text" class="text-title-h5">Read</div></button><a aria-label="Go to Article" href="/reports/ctv-measurement-playbook" class="article-card-link w-inline-block"></a></div></div><div role="listitem" class="research-col-item is-contents w-dyn-item"><div button-dark-on-light-hover-trigger="" class="article-card"><div class="article-card-head"><h3 class="text-title-h3">The AI Disruption Index: On-Demand Services Edition</h3><p class="text-body">See where On-Demand companies stand in the AI revolution and how growth leaders are adapting their marketing strategies to win.</p></div><div class="article-card-img-w"><img loading="lazy" src="https://cdn.prod.website-files.com/6a75c3c48c131784ac3ab3da/6aa16d9a659327716a90a599_blue-img-13-16x9.avif" alt="" sizes="100vw" srcset="https://cdn.prod.website-files.com/6a75c3c48c131784ac3ab3da/6aa16d9a659327716a90a599_blue-img-13-16x9-p-500.avif 500w, https://cdn.prod.website-files.com/6a75c3c48c131784ac3ab3da/6aa16d9a659327716a90a599_blue-img-13-16x9-p-800.avif 800w, https://cdn.prod.website-files.com/6a75c3c48c131784ac3ab3da/6aa16d9a659327716a90a599_blue-img-13-16x9-p-1080.avif 1080w, https://cdn.prod.website-files.com/6a75c3c48c131784ac3ab3da/6aa16d9a659327716a90a599_blue-img-13-16x9-p-1600.avif 1600w, https://cdn.prod.website-files.com/6a75c3c48c131784ac3ab3da/6aa16d9a659327716a90a599_blue-img-13-16x9-p-2000.avif 2000w, https://cdn.prod.website-files.com/6a75c3c48c131784ac3ab3da/6aa16d9a659327716a90a599_blue-img-13-16x9-p-2600.avif 2600w, https://cdn.prod.website-files.com/6a75c3c48c131784ac3ab3da/6aa16d9a659327716a90a599_blue-img-13-16x9-p-3200.avif 3200w, https://cdn.prod.website-files.com/6a75c3c48c131784ac3ab3da/6aa16d9a659327716a90a599_blue-img-13-16x9.avif 3840w" class="article-card-img"/></div>
1865<div class="article-card-details"><div class="text-title-h5">Moloco Ads</div><div class="text-title-h5">April 1, 2026</div></div><button data-wf--comp-button--button-setup-variant="color-dark-on-light" aria-label="" class="button w-variant-7728b233-5cc0-7f5e-e38f-0b9046fac2fc"><div data-attribute="button-text" class="text-title-h5">Read</div></button><a aria-label="Go to Article" href="/reports/ai-disruption-index-on-demand-services" class="article-card-link w-inline-block"></a></div></div></div></div></div></div><div class="spacer research-section bottom"></div></section><div data-wf--comp-divider-line--variant="base" class="divider-line"></div><section class="s"><div class="spacer faq-section"></div><div class="c"><div class="faq-main-wrapper"><div class="faq-header"><div data-wf--comp-header-centred--variant="extra-large" class="o-grid heading-centre"><div class="section-header-title w-variant-c839ec22-f351-96ad-eace-337d9d537671"><h2 class="text-title-h1">Frequently Asked Questions</h2></div></div></div><div reset-lr-margin="" class="faq-wrap"><div class="faqs"><div class="faq-collection w-dyn-list"><div data-module="faqs" role="list" class="faq-list w-dyn-items"><div role="listitem" class="faq-item w-dyn-item"><div class="faq"><div data-attribute="faq-trigger" class="faq-trigger"><h3 class="text-title-h3">Who uses Moloco?</h3><div data-attribute="faq-icons" class="faq-icon"><div class="faq-icon-line"></div><div class="faq-icon-line is-vert"></div></div></div><div data-attribute="faq-content" class="faq-content"><div class="faq-text-w"><div class="rich-text w-richtext"><p>Moloco is used by mobile app marketers and retailers seeking measurable advertising growth.</p><p>Moloco Ads is built for performance marketers acquiring users across mobile apps and CTV. Moloco Commerce Media is built for retailers and marketplaces creating advertising businesses on their own digital properties. Global customers include Costco, TikTok, Pinterest, Revolut and Robinhood.</p></div></div></div></div></div><div role="listitem" class="faq-item w-dyn-item"><div class="faq"><div data-attribute="faq-trigger" class="faq-trigger"><h3 class="text-title-h3">What does Moloco cost?</h3><div data-attribute="faq-icons" class="faq-icon"><div class="faq-icon-line"></div><div class="faq-icon-line is-vert"></div></div></div><div data-attribute="faq-content" class="faq-content"><div class="faq-text-w"><div class="rich-text w-richtext"><p>Moloco pricing depends on the product, campaign goals, market and level of advertising activity.</p><p>Moloco Ads uses performance-based campaign pricing, while Moloco Commerce Media is structured around the needs of each retailer or marketplace. Prospective customers can speak with Moloco to determine the commercial model that’s right for them.</p></div></div></div></div></div><div role="listitem" class="faq-item w-dyn-item"><div class="faq"><div data-attribute="faq-trigger" class="faq-trigger"><h3 class="text-title-h3">How is Moloco Ads different to advertising on Google and Meta?</h3><div data-attribute="faq-icons" class="faq-icon"><div class="faq-icon-line"></div><div class="faq-icon-line is-vert"></div></div></div><div data-attribute="faq-content" class="faq-content"><div class="faq-text-w"><div class="rich-text w-richtext"><p>Google and Meta primarily sell ads across their own properties, while Moloco Ads can extend your reach across millions of independent apps. Teams typically run Moloco Ads alongside Google and Meta, not instead of them.</p></div></div></div></div></div></div></div></div></div></div></div></section><section class="s b-top"><div class="spacer cta-section"></div><div class="c"><div class="cta"><div class="cta-head"><h2 class="text-title-h1">The frontier keeps moving. We move with it.</h2><div class="cta-text"><p class="text-title-h4">Moloco. Built for the hardest problems in advertising.</p></div></div><div class="btn-group centre-only"><button data-wf--comp-button--button-setup-variant="color-dark-on-light---no-hover" aria-label="" class="button w-variant-1b972424-4446-1e98-949c-bddad10ada04"><a href="/contact-us" class="button-link w-inline-block"></a><div data-attribute="button-text" class="text-title-h5">Talk to Moloco</div></button></div></div></div><div class="spacer cta-section"></div></section></div><section class="footer"><div class="c"><div class="o-grid footer"><div class="footer-col _1"><a data-wf--comp-home--variant="base" href="/?r=0" aria-current="page" class="home w-inline-block w--current"><div class="home-logo w-embed">
1865<svg width="100%" height="100%" viewBox="0 0 159 40" fill="none" xmlns="http://www.w3.org/2000/svg">
1866<path d="M32.3841 25.5356C32.2118 26.914 23.1235 33.7634 19.0316 36.4913C6.22463 24.833 13.9825 13.4992 19.0316 9.81413C24.5593 12.0396 32.5995 23.8127 32.3841 25.5356Z" fill="url(#paint0_radial_624_16178)" stroke="currentColor" stroke-width="0.143575"/>
1867<path d="M42.3187 23.1433C42.3187 15.0635 35.7687 8.51333 27.6889 8.51331C19.609 8.51331 13.0588 15.0635 13.0588 23.1433C13.0589 31.2232 19.609 37.7732 27.6889 37.7732V39.7705L27.474 39.7689C18.4617 39.6548 11.1772 32.3705 11.0631 23.3582L11.0618 23.1433C11.0618 13.9605 18.506 6.51624 27.6889 6.51624L27.9037 6.51756C36.9876 6.6326 44.316 14.0322 44.316 23.1433L44.3145 23.3582C44.1994 32.442 36.8 39.7704 27.6889 39.7705V37.7732C35.7687 37.7732 42.3187 31.2232 42.3187 23.1433Z" fill="currentColor"/>
1868<path d="M5.26584 9.7664C3.5184 11.5138 3.06841 14.5229 4.12832 18.2491C5.17782 21.9386 7.66048 26.0984 11.3675 29.8054C15.0746 33.5125 19.2344 35.9953 22.924 37.0448C26.6502 38.1047 29.6592 37.6547 31.4067 35.9072C33.1541 34.1598 33.6039 31.1508 32.5441 27.4247C31.4946 23.7351 29.0118 19.5753 25.3047 15.8682C21.5977 12.1611 17.4379 9.6785 13.7484 8.62901C10.0222 7.56911 7.01329 8.01898 5.26584 9.7664ZM3.85357 8.35413C6.34475 5.86297 10.2571 5.55952 14.2947 6.708C18.369 7.86692 22.8155 10.5545 26.717 14.4559C30.6185 18.3574 33.306 22.804 34.4649 26.8782C35.6134 30.9159 35.31 34.8282 32.8188 37.3194C30.3276 39.8106 26.4152 40.1141 22.3775 38.9656C18.3033 37.8067 13.8568 35.119 9.95537 31.2176C6.0539 27.3161 3.36623 22.8697 2.20731 18.7954C1.05881 14.7578 1.36238 10.8453 3.85357 8.35413Z" fill="currentColor"/>
1869<path d="M35.8091 4.10056C33.6458 1.93724 29.949 1.41889 25.4439 2.70914C20.9764 3.98865 15.9508 6.99829 11.4746 11.4745C6.99835 15.9508 3.9888 20.9763 2.70929 25.4438C1.41904 29.9488 1.93739 33.6456 4.10072 35.809C6.26405 37.9723 9.96086 38.4906 14.4659 37.2004C18.9334 35.9209 23.9589 32.9113 28.4351 28.4351C32.9114 23.9589 35.921 18.9332 37.2005 14.4657C38.4908 9.96071 37.9724 6.2639 35.8091 4.10056ZM37.2212 2.68842C40.1314 5.59857 40.499 10.2021 39.1205 15.0155C37.7312 19.8665 34.517 25.1775 29.8473 29.8473C25.1776 34.5169 19.8666 37.731 15.0157 39.1203C10.2023 40.4989 5.59872 40.1312 2.68857 37.2211C-0.221565 34.3109 -0.589218 29.7074 0.789339 24.894C2.17865 20.0431 5.39273 14.7321 10.0624 10.0624C14.7321 5.39268 20.0432 2.17851 24.8942 0.789189C29.7075 -0.589358 34.3111 -0.22171 37.2212 2.68842Z" fill="currentColor"/>
1870<path d="M52.7019 31.7803V30.0527H54.6351C55.616 30.0527 56.1135 29.5005 56.1135 28.4526V12.2955C56.1135 11.2476 55.6302 10.6954 54.6351 10.6954H52.7019V8.96778H59.1128L65.5806 23.1991C65.7796 23.6239 65.9076 23.7796 66.1066 23.7796C66.3056 23.7796 66.4051 23.6239 66.6041 23.1991L73.2425 8.96778H79.426V10.6954H77.4643C76.4835 10.6954 76.0286 11.2476 76.0286 12.2955V28.4526C76.0286 29.5005 76.4835 30.0527 77.4643 30.0527H79.426V31.7803H69.973V30.0527H71.9347C72.8871 30.0527 73.3704 29.5005 73.3704 28.4526V13.2726C73.3704 13.0177 73.342 12.7911 73.1145 12.7911C72.8871 12.7911 72.816 13.0177 72.7592 13.1451L66.4193 26.6542L64.7846 27.5039L58.1746 13.2726C58.0467 13.0177 57.9188 12.9469 57.7766 12.9469C57.6345 12.9469 57.4781 13.0743 57.4781 13.4991V28.4526C57.4781 29.5005 57.9756 30.0527 58.9565 30.0527H60.9181V31.7803H52.7161H52.7019ZM87.9407 32.106C83.5341 32.106 79.8382 28.226 79.8382 23.6664C79.8382 19.1067 83.5341 15.1701 87.9407 15.1701C92.3473 15.1701 96.0432 19.0784 96.0432 23.6664C96.0432 28.2544 92.3473 32.106 87.9407 32.106ZM87.9407 30.874C90.9543 30.874 92.8448 28.042 92.8448 23.6805C92.8448 19.3191 90.9543 16.4162 87.9407 16.4162C84.9271 16.4162 83.0081 19.2766 83.0081 23.6805C83.0081 28.0844 84.9413 30.874 87.9407 30.874ZM96.8535 31.7803V30.0527H98.6872C99.5685 30.0527 100.023 29.5005 100.023 28.4526V11.3184C100.023 10.2705 99.5685 9.71829 98.6872 9.71829H96.8535V7.99071H102.511V28.4384C102.511 29.4863 102.937 30.0386 103.819 30.0386H105.652V31.7662H96.8535V31.7803ZM113.926 32.106C109.519 32.106 105.823 28.226 105.823 23.6664C105.823 19.1067 109.519 15.1701 113.926 15.1701C118.332 15.1701 122.028 19.0784 122.028 23.6664C122.028 28.2544 118.332 32.106 113.926 32.106ZM113.926 3
18700.874C116.939 30.874 118.83 28.042 118.83 23.6805C118.83 19.3191 116.939 16.4162 113.926 16.4162C110.912 16.4162 108.993 19.2766 108.993 23.6805C108.993 28.0844 110.926 30.874 113.926 30.874ZM131.78 15.1701C135.205 15.1701 137.508 17.0534 137.508 19.4749C137.508 21.8963 136.726 21.8538 135.347 21.8538C133.969 21.8538 133.414 21.1741 133.414 20.2254C133.414 19.2766 133.997 19.0217 133.997 18.073C133.997 17.1242 133.272 16.3737 131.68 16.3737C128.411 16.3737 126.605 19.6589 126.605 23.3407C126.605 27.0224 128.539 29.7554 131.765 29.7554C134.992 29.7554 136.143 28.1269 136.741 25.5497L137.92 25.8754C137.139 29.8828 134.679 32.0918 131.154 32.0918C127.629 32.0918 123.791 28.8066 123.791 24.0204C123.791 19.2341 127.16 15.1559 131.765 15.1559L131.78 15.1701ZM147.302 32.106C142.896 32.106 139.2 28.226 139.2 23.6664C139.2 19.1067 142.896 15.1701 147.302 15.1701C151.709 15.1701 155.405 19.0784 155.405 23.6664C155.405 28.2544 151.709 32.106 147.302 32.106ZM147.302 30.874C150.316 30.874 152.206 28.042 152.206 23.6805C152.206 19.3191 150.316 16.4162 147.302 16.4162C144.289 16.4162 142.37 19.2766 142.37 23.6805C142.37 28.0844 144.303 30.874 147.302 30.874Z" fill="currentColor"/>
1871<defs>
1872<radialGradient id="paint0_radial_624_16178" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(30.6179 25.9734) rotate(-144.028) scale(18.4906 16.2041)">
1873<stop offset="0.206731" stop-color="#8EEEE8"/>
1874<stop offset="0.754808" stop-color="#CFF88C"/>
1875<stop offset="1" stop-color="#FBFF8A"/>
1876</radialGradient>
1877</defs>
1878</svg></div></a></div><div class="footer-col _2"><div class="text-title-h3">Products</div><div class="footer-col-group"><div class="footer-col-list"><div class="footer-list-head no-u no-m"><a href="/moloco-ads" class="footer-link w-inline-block"><div class="text-title-h5">Moloco ads</div></a></div><div class="footer-link-group"><div class="footer-list-head"><div class="text-title-h5">capabilities</div></div><a href="/capabilities/moloco-ads/user-acquisition" class="footer-link w-inline-block"><div class="text-title-h5">user acquisition</div></a><a href="/capabilities/moloco-ads/re-engagement" class="footer-link w-inline-block"><div class="text-title-h5">re-engagement</div></a><a href="/capabilities/moloco-ads/performance-ctv" class="footer-link w-inline-block"><div class="text-title-h5">performance ctv</div></a><a href="/capabilities/moloco-ads/sdk" class="footer-link w-inline-block"><div class="text-title-h5">moloco sdk</div></a></div><div class="footer-link-group"><div class="footer-list-head"><div class="text-title-h5">technology</div></div><a href="/technology/moloco-ads/cara" class="footer-link w-inline-block"><div class="text-title-h5">cara for moloco ads</div></a></div><div class="footer-link-group"><div class="footer-list-head"><div class="text-title-h5">Industries</div></div><a href="/industries/moloco-ads/mobile-gaming" class="footer-link w-inline-block"><div class="text-title-h5">mobile gaming</div></a><a href="/industries/moloco-ads/finance" class="footer-link hide-zh w-inline-block"><div class="text-title-h5">finance</div></a><a href="/industries/moloco-ads/igaming" class="footer-link hide-ko-ja-zh w-inline-block"><div class="text-title-h5">igaming &amp; prediction markets</div></a><a href="/industries/moloco-ads/on-demand-services" class="footer-link w-inline-block"><div class="text-title-h5">on-demand services</div></a><a href="/industries/moloco-ads/agencies" class="footer-link hide-ko w-inline-block"><div class="text-title-h5">agencies</div></a></div><div class="footer-link-group"><div class="footer-list-head"><div class="text-title-h5">support</div></div><a href="/help-center" class="footer-link w-inline-block"><div class="text-title-h5">help center</div></a><a href="https://developer.moloco.cloud/docs/getting-started" target="_blank" class="footer-link w-inline-block"><div class="text-title-h5">moloco ads developer hub</div></a></div></div><div class="footer-col-list"><div class="footer-list-head no-u no-m"><a href="/moloco-commerce-media" class="footer-link w-inline-block"><div class="text-title-h5">Moloco commerce media</div></a></div><div class="footer-link-group"><div class="footer-list-head"><div class="text-title-h5">capabilities</div></div><a href="/capabilities/moloco-commerce-media/simplified-ad-ops" class="footer-link w-inline-block"><div class="text-title-h5">simplified ad ops</div></a><a href="/capabilities/moloco-commerce-media/ad-formats-and-capabilities" class="footer-link w-inline-block"><div class="text-title-h5">ad formats and capabilities</div></a><a href="/capabilities/moloco-commerce-media/ai-engine" class="footer-link w-inline-block"><div class="text-title-h5">ai engine</div></a><a href="/capabilities/moloco-commerce-media/agentic-commerce" class="footer-link w-inline-block"><div class="text-title-h5">agentic commerce</div></a></div><div class="footer-link-group"><div class="footer-list-head"><div class="text-title-h5">technology</div></div><a href="/technology/moloco-commerce-media/cara-for-mcm" class="footer-link w-inline-block"><div class="text-title-h5">cara for moloco commerce media</div></a></div><div class="footer-link-group"><div class="footer-list-head"><div class="text-title-h5">support</div></div><a href="https://mcm-docs.moloco.com/docs/what-is-moloco-mcm" target="_blank" class="footer-link w-inline-block"><div class="text-title-h5">Moloco Commerce Media Docs</div></a></div><a href="/moloco-next" class="footer-link w-inline-block"><div class="text-title-h5">moloco next</div></a></div></div></div><div class="footer-col _3"><div class="footer-col-group"><div class="footer-col-list larger"><div class="footer-link-group bigger"><div class="footer-list-head no-u"><div class="text-title-h3">Resources</div></div><a href="/blog" class="footer-link w-inline-block"><div class="text-title-h5">blogs</div></a><a href="/research" class="footer-link w-inline-block"><div class="text-title-h5">reports</div></a><a href="/customers" class="footer-link w-inline-block"><div class="text-title-h5">customers</div></a><a href="/events" class="footer-link w-inline-block"><div class="text-title-h5">events</div></a></div><div class="footer-link-group"><div class="footer-list-head no-u"><div class="text-title-h3">Company</div></div><a href="/company/about" class="footer-link w-inline-block"><div class="text-title-h5">about moloco</div></a><a href="/company/leadership" class="footer-link w-inline-block"><div class="text-title-h5">leadership</div></a><a href="/company/careers" class="footer-link w-inline-block"><div class="text-title-h5">careers</div></a><a href="/company/newsroom" class="footer-link w-inline-block"><div class="text-title-h5">newsroom</div></a><a href="/contact-us" class="footer-link w-inline-block"><div class="text-title-h5">Contact Us</div></a></div></div></div></div><div class="footer-col _4"><div class="footer-col-group"><div class="footer-col-list"><div class="footer-link-group"><div class="footer-list-head no-u"><div class="text-title-h3">Terms and policies</div></div><a href="/terms-and-policies/advertising-privacy-notice" class="footer-link w-inline-block"><div class="text-title-h5">advertising services privacy notice</div></a><a href="/terms-and-policies/brand-safety-policy" class="footer-link w-inline-block"><div class="text-title-h5">brand safety policy</div></a><a href="/terms-and-policies/website-privacy-notice" class="footer-link w-inline-block"><div class="text-title-h5">website privacy notice</div></a><a href="/terms-and-policies/privacy-portal" class="footer-link w-inline-block"><div class="text-title-h5">privacy portal</div></a><a href="/terms-and-policies/security" class="footer-link w-inline-block"><div class="text-title-h5">security</div></a><a href="/terms-and-policies/supplier-portal" class="footer-link w-inline-block"><div class="text-title-h5">supplier portal</div></a><a href="/terms-and-policies/terms-of-use" class="footer-link w-inline-block"><div class="text-title-h5">terms of use</div></a><a href="/compliance" class="footer-link w-inline-block"><div class="text-title-h5">ethics &amp; compliance</div></a><a href="/terms-and-policies/equal-employment-opportunity" class="footer-link w-inline-block"><div class="text-title-h5">eeo statement &amp; notices</div></a><div class="footer-link is-privacy"><div class="privacy-icon"><img src="https://cdn.prod.website-files.com/6a59dd0133b776de7ec526cd/6a9eb6704889ba49768192f1_privacyoptions.svg" loading="lazy" alt=""/></div><div id="ot-sdk-link" class="footer-link is-privacy ot-sdk-show-settings text-title-h5"><div class="text-title-h5">your privacy choices</div></div></div></div><div class="footer-link-group"><div class="footer-list-head no-u"><div class="text-title-h3">Social</div></div><a href="https://www.linkedin.com/company/moloco" target="_blank" class="footer-link w-inline-block"><div class="text-title-h5">linkedin</div></a><a href="https://www.youtube.com/@moloco_inc" target="_blank" class="footer-link w-inline-block"><div class="text-title-h5">youtube</div></a></div><div class="footer-link-group"><div class="text-title-h5">© 2026 Moloco, Inc.</div></div></div></div></div></div></div></section></main></div>
1878<script src="https://d3e54v103j8qbb.cloudfront.net/js/jquery-3.5.1.min.dc5e7f18c8.js?site=6a59dd0133b776de7ec526cd" type="text/javascript" integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=" crossorigin="anonymous"></script>
1878<script src="https://cdn.prod.website-files.com/6a59dd0133b776de7ec526cd/js/ob-moloco.schunk.ba760fa92eaa03b1.js" type="text/javascript" integrity="sha384-T9TNhF0359dpaj+K5vWBMqHYMWkteTCzyfQNbZBmTr6K+kQQSP5JwU7rs68H4P77" crossorigin="anonymous"></script>
1878<script src="https://cdn.prod.website-files.com/6a59dd0133b776de7ec526cd/js/ob-moloco.f1bf4a91.65bad87f12498448.js" type="text/javascript" integrity="sha384-mnUbIEFg3aggPtoBMeAYiDeAFAvAX6CufuMdRw+ZNZ/RNVifpKF+FdkGXv1LIizM" crossorigin="anonymous"></script>
1878<script src="https://cdn.prod.website-files.com/gsap/3.15.0/gsap.min.js" type="text/javascript"></script>
1878<script src="https://cdn.prod.website-files.com/gsap/3.15.0/ScrollTrigger.min.js" type="text/javascript"></script>
1878<!-- Google Tag Manager (noscript) -->
vendor: 67 bytes, line 1878
1878<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
1878GTM-WM7MN68
vendor: 86 bytes, lines 1878-1879
1878" height="0" width="0" style="display: none; visibility: hidden"></iframe></noscript
1879>
1879<!-- End Google Tag Manager (noscript) -->
1880
1881<!-- Welcome -->
1882<script>
1883  
1884  function excludeOneTrustFromLenis() {
1885    const oneTrustElements = document.querySelectorAll('.dg-consent-banner, #onetrust-banner-sdk, #onetrust-pc-sdk, #onetrust-consent-sdk');
1886
1887    oneTrustElements.forEach((el) => {
1888      el.setAttribute('data-lenis-prevent', '');
1889    });
1890  }
1891  excludeOneTrustFromLenis();
1892  const observer = new MutationObserver(() => {
1893    excludeOneTrustFromLenis();
1894  });
1895  observer.observe(document.body, {
1896    childList: true,
1897    subtree: true,
1898  });
1899</script>
1899</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.