스티키 CTA

Sticky CTA

스크롤해도 화면에 계속 붙어 있는 CTA 바로, 본문 CTA를 놓친 방문자에게 언제든 행동할 기회를 줍니다.

다른 이름: Persistent CTA barFloating action bar
···
html
<div class="frame">
  <div class="content" id="content">
    <div class="ln w1"></div><div class="ln w2"></div><div class="ln w3"></div>
    <div class="ln w2"></div><div class="ln w1"></div><div class="ln w3"></div>
    <div class="ln w2"></div><div class="ln w1"></div>
  </div>
  <div class="cta" id="cta"><span>Pro plan · $29/mo</span><button>Start now</button></div>
</div>
css
.frame{width:min(92%,700px);height:min(88%,260px);border:1px solid var(--line);border-radius:12px;
  overflow:hidden;position:relative;background:var(--surface)}
.content{padding:6%;display:flex;flex-direction:column;gap:clamp(8px,2vmin,16px)}
.ln{height:clamp(5px,1.3vmin,9px);border-radius:3px;background:var(--line)}
.ln.w1{width:80%}.ln.w2{width:55%}.ln.w3{width:68%}
.cta{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:space-between;
  padding:clamp(6px,1.6vmin,12px) clamp(10px,2.4vmin,18px);background:var(--surface);
  border-top:1px solid var(--line);box-shadow:0 -6px 16px rgba(0,0,0,.06);
  transform:translateY(100%);transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.cta.show{transform:translateY(0)}
.cta span{font-size:clamp(7px,1.4vmin,11px);color:var(--muted);font-weight:600}
.cta button{font-size:clamp(7px,1.4vmin,11px);font-weight:700;padding:.55em 1.3em;border-radius:7px;
  border:none;background:var(--accent);color:#fff}
js
const cta = document.getElementById('cta');
let shown = false;
function toggle() {
  shown = !shown;
  cta.classList.toggle('show', shown);
}
setTimeout(toggle, 900);
setInterval(toggle, 3200);

히어로의 CTA는 스크롤하면 화면에서 사라집니다. 스티키 CTA는 보통 화면 하단(모바일)이나 헤더(데스크톱)에 `position:sticky` 또는 `fixed`로 고정해서, 방문자가 페이지 어디에 있든 같은 행동을 바로 할 수 있게 합니다.

처음부터 떠 있으면 방해가 되므로, 히어로 섹션을 지나 어느 정도 스크롤했을 때(또는 원래 CTA가 화면 밖으로 나갔을 때)부터 나타나게 하는 게 일반적입니다. 가격·상품명처럼 맥락 정보를 함께 보여주면(예: "Pro 플랜 · $29/mo · 지금 시작하기") 버튼만 있을 때보다 클릭률이 높습니다.

콘텐츠 위에 항상 떠 있으므로 하단 영역(푸터, 다른 CTA)과 겹치지 않게 처리해야 합니다 — 특히 모바일에서 키보드가 올라올 때 CTA 바와 겹치는 경우가 흔한 버그입니다. 화면을 너무 많이 가리면 오히려 콘텐츠를 읽는 걸 방해합니다.

언제 쓰나

페이지가 길어서 스크롤을 많이 해야 하거나, 전환이 특히 중요한 페이지(결제, 가입)에 씁니다. 페이지가 짧으면 굳이 필요 없습니다.