🚀 New: Targeting & Audiences Now Available

Data-driven marketing on the move

Connect with a massive, high-intent audience of 50M riders taking 2M+ daily trips across 600+ cities.

Contact us

🚀 New: Targeting & Audiences Now Available

Data-driven marketing on the move

Connect with a massive, high-intent audience of 50M riders taking 2M+ daily trips across 600+ cities.

Contact us

Featured Success Stories

Real results from real brands

" ); }) .join(""); slidesHtml += "
" + "
" + "
" + "

" + caseItem.title + "

" + "

" + caseItem.desc + "

" + "
    " + bulletsHtml + "
" + "Read Full Success Story" + "
" + "
" + metricsHtml + "
" + "
Case Study Image
" + "Read Full Success Story" + "
" + "
"; dotsHtml += "
  • " + "" + "
  • "; }); track.innerHTML = slidesHtml; dotsContainer.innerHTML = dotsHtml; } init(); var slides = Array.from(widget.querySelectorAll(".wss-slide")); var dots = Array.from(widget.querySelectorAll(".wss-dot")); function render() { track.style.transform = "translateX(-" + state.currentIndex * 100 + "%)"; slides.forEach(function (slide, idx) { if (idx === state.currentIndex) { slide.classList.add("is-active"); slide.setAttribute("aria-hidden", "false"); } else { slide.classList.remove("is-active"); slide.setAttribute("aria-hidden", "true"); } }); if (btnPrev) { btnPrev.toggleAttribute("disabled", state.currentIndex === 0); } if (btnNext) { btnNext.toggleAttribute("disabled", state.currentIndex === state.totalSlides - 1); } dots.forEach(function (dot, idx) { dot.setAttribute("aria-current", idx === state.currentIndex ? "true" : "false"); }); } function goToSlide(index) { state.currentIndex = index; render(); } function goToNextSlide() { if (state.currentIndex < state.totalSlides - 1) { state.currentIndex++; } else { state.currentIndex = 0; } render(); } function goToPrevSlide() { if (state.currentIndex > 0) { state.currentIndex--; } else { state.currentIndex = state.totalSlides - 1; } render(); } function stopAutoplay() { if (autoplayInterval) { clearInterval(autoplayInterval); autoplayInterval = null; } } function startAutoplay() { stopAutoplay(); autoplayInterval = setInterval(function () { goToNextSlide(); }, AUTOPLAY_DELAY); } if (btnPrev) { btnPrev.addEventListener("click", function () { stopAutoplay(); goToPrevSlide(); startAutoplay(); }); } if (btnNext) { btnNext.addEventListener("click", function () { stopAutoplay(); goToNextSlide(); startAutoplay(); }); } if (dotsContainer) { dotsContainer.addEventListener("click", function (e) { var dot = e.target.closest(".wss-dot"); if (dot && widget.contains(dot)) { var idx = parseInt(dot.getAttribute("data-index"), 10); if (!isNaN(idx)) { stopAutoplay(); goToSlide(idx); startAutoplay(); } } }); } render(); startAutoplay(); // Pause autoplay on hover widget.addEventListener("mouseenter", function () { stopAutoplay(); }); // Resume autoplay when mouse leaves widget.addEventListener("mouseleave", function () { startAutoplay(); }); function setFrameHeight() { try { if (!window.frameElement) return; var h = Math.max( document.documentElement.scrollHeight, document.body ? document.body.scrollHeight : 0 ); window.frameElement.style.height = h + "px"; } catch (e) {} } if (window.ResizeObserver && document.body) { var ro = new ResizeObserver(setFrameHeight); ro.observe(document.body); } window.addEventListener("load", setFrameHeight); window.addEventListener("resize", setFrameHeight); })();
    Sources: ¹Lyft Q4 & Full-Year 2025 Financial Results; ²Lyft Q1 2025 Earnings Report.
    " + "" + item.val + "" + "" + "" + item.label + "" + item.sup + "" + "" + ""; }); var track1Html = "
    " + trackCardsHtml + "
    "; var track2Html = ""; wrapper.innerHTML = track1Html + track2Html; function setFrameHeight() { try { if (!window.frameElement) return; var h = Math.max(document.documentElement.scrollHeight, document.body ? document.body.scrollHeight : 0); window.frameElement.style.height = h + 'px'; } catch (e) { } } if (window.ResizeObserver && document.body) { var ro = new ResizeObserver(setFrameHeight); ro.observe(document.body); } window.addEventListener('load', setFrameHeight); window.addEventListener('resize', setFrameHeight); })();

    Why Advertise on Lyft?

    The only platform that connects you with customers in transit.

    High-Intent 
Audience

    Reach consumers actively using Lyft who are on their way to make a purchase or spend.

    Precise Targeting

    Our data is deterministic, verified, and intent-rich, not merely inferred or modeled.

    Creativity & Innovation

    We offer a unique media ecosystem of in-app and real-life ad formats to create compelling brand campaigns.

    Culture 
Moving

    Engage with riders in motion as they travel to cultural events and important life moments.

    <div style='padding:20px;background:#111;color:#fff;border-radius:12px'>DOM render test</div>
    '; gridStyle = ''; } return ( '
    ' + '' + '
    ' + '
    ' + '
    ' + '

    ' + renderText(solution.description) + '

    ' + '
    ' + metricsHtml + '

    ' + starIcon + renderText(solution.productsLabel || 'Products') + '

    ' + chips + '
    ' + '
    ' + '' + '
    ' ); } function renderPanel(objective, isMobilePanel) { if (!objective) return ''; var openId = state.openSolutionIdByObjective[objective.id]; var itemsHtml = objective.solutions.map(function (solution, index) { return renderSolutionItem(solution, openId === solution.id, index === objective.solutions.length - 1); }).join(''); return ( (isMobilePanel ? '' : '') + '

    ' + renderText(objective.panelTitle) + '

    ' + renderText(objective.panelSubtitle) + '

    ' + '
    ' + itemsHtml + '
    ' ); } function initialRender() { mount.innerHTML = '
    ' + '

    What\'s Your Marketing Objective?

    Choose your marketing objective and discover the perfect solution to reach your target audience.

    ' + '
    ' + '
    ' + renderCards() + '
    ' + '' + '
    ' + '
    '; updateView(); } function updateView() { var main = mount.querySelector('.ow-main'); var right = mount.querySelector('.ow-right'); var mobileDetail = mount.querySelector('.ow-mobile-detail'); var cards = mount.querySelectorAll('.ow-card'); var selectedObjective = getSelectedObjective(); var active = !!selectedObjective; var mobileDetailOpen = active && state.mobileDetailOpen && isMobile(); if (active) main.classList.add('is-active'); else main.classList.remove('is-active'); main.setAttribute('data-mobile-detail', mobileDetailOpen ? 'true' : 'false'); cards.forEach(function(card) { var id = card.getAttribute('data-objective-id'); if (id === state.selectedObjectiveId) { card.classList.add('is-selected'); card.setAttribute('aria-pressed', 'true'); } else { card.classList.remove('is-selected'); card.setAttribute('aria-pressed', 'false'); } }); if (selectedObjective) { var currentObjId = right.getAttribute('data-current-obj'); if (currentObjId !== selectedObjective.id) { right.innerHTML = renderPanel(selectedObjective, false); right.setAttribute('data-current-obj', selectedObjective.id); } else { var openId = state.openSolutionIdByObjective[selectedObjective.id]; right.querySelectorAll('.ow-acc-item').forEach(function(item) { var isOpen = item.getAttribute('data-solution-id') === openId; item.classList.toggle('is-open', isOpen); item.querySelector('.ow-acc-btn').setAttribute('aria-expanded', isOpen ? 'true' : 'false'); item.querySelector('.ow-acc-panel').setAttribute('aria-hidden', isOpen ? 'false' : 'true'); }); } if (mobileDetailOpen) { var currentMobId = mobileDetail.getAttribute('data-current-obj'); if (currentMobId !== selectedObjective.id) { mobileDetail.innerHTML = renderPanel(selectedObjective, true); mobileDetail.setAttribute('data-current-obj', selectedObjective.id); } else { var openIdMob = state.openSolutionIdByObjective[selectedObjective.id]; mobileDetail.querySelectorAll('.ow-acc-item').forEach(function(item) { var isOpen = item.getAttribute('data-solution-id') === openIdMob; item.classList.toggle('is-open', isOpen); item.querySelector('.ow-acc-btn').setAttribute('aria-expanded', isOpen ? 'true' : 'false'); item.querySelector('.ow-acc-panel').setAttribute('aria-hidden', isOpen ? 'false' : 'true'); }); } } else { mobileDetail.innerHTML = ''; mobileDetail.removeAttribute('data-current-obj'); } } else { right.innerHTML = ''; right.removeAttribute('data-current-obj'); mobileDetail.innerHTML = ''; mobileDetail.removeAttribute('data-current-obj'); } } function setObjective(objectiveId) { if (state.selectedObjectiveId === objectiveId && !isMobile()) return; state.selectedObjectiveId = objectiveId; state.mobileDetailOpen = isMobile(); if (!state.openSolutionIdByObjective[objectiveId]) { var objective = data.find(function (obj) { return obj.id === objectiveId; }); state.openSolutionIdByObjective[objectiveId] = objective && objective.solutions[0] ? objective.solutions[0].id : null; } updateView(); } function setOpenSolution(solutionId) { var selectedObjective = getSelectedObjective(); if (!selectedObjective) return; state.openSolutionIdByObjective[selectedObjective.id] = state.openSolutionIdByObjective[selectedObjective.id] === solutionId ? null : solutionId; updateView(); } mount.addEventListener('click', function (event) { var card = event.target.closest('.ow-card'); if (card && mount.contains(card)) { setObjective(card.getAttribute('data-objective-id')); return; } var back = event.target.closest('[data-action="back"]'); if (back && mount.contains(back)) { state.mobileDetailOpen = false; updateView(); return; } var accBtn = event.target.closest('.ow-acc-btn'); if (accBtn && mount.contains(accBtn)) { var accItem = accBtn.closest('.ow-acc-item'); if (accItem) setOpenSolution(accItem.getAttribute('data-solution-id')); } }); window.addEventListener('resize', function () { if (!state.selectedObjectiveId) return; if (!isMobile()) state.mobileDetailOpen = false; updateView(); }); initialRender(); })(); (function () { function setFrameHeight() { try { if (!window.frameElement) return; var widget = document.getElementById('wf-objective-widget'); var h = widget ? widget.offsetHeight : Math.max(document.documentElement.scrollHeight, document.body ? document.body.scrollHeight : 0); window.frameElement.style.height = h + 'px'; } catch (e) {} } window.addEventListener('load', setFrameHeight); window.addEventListener('resize', setFrameHeight); var ro = window.ResizeObserver ? new ResizeObserver(setFrameHeight) : null; if (ro && document.body) ro.observe(document.body); setInterval(setFrameHeight, 700); setTimeout(setFrameHeight, 50); setTimeout(setFrameHeight, 300); })();
    This is some text inside of a div block.
    This is some text inside of a div block.
    This is some text inside of a div block.