Cost per acquisition (CPA)

획득당비용 (CPA)

Ad spend required for one customer or defined action.

···
html
<div class="funnel"><div class="step"><span>AD SPEND</span><b>$600</b></div><div class="flow" id="clicks"></div><div class="step"><span>CONVERSIONS</span><b id="conversions">6</b></div><div class="result">CPA <strong id="cpa">$100</strong></div></div>
css
.funnel{width:min(86%,440px);font:800 clamp(10px,max(2vmin,1vw),16px)/1.2 sans-serif}.step{display:flex;justify-content:space-between;border:1px solid var(--line);background:var(--surface);padding:clamp(7px,2vmin,15px);color:var(--muted)}.step b{color:var(--fg)}.flow{height:clamp(38px,13vmin,95px);display:flex;align-items:center;justify-content:center;gap:clamp(3px,1vmin,8px);overflow:hidden}.flow i{display:block;width:clamp(7px,2vmin,16px);aspect-ratio:1;border-radius:50%;background:var(--accent-3);transition:.6s}.flow i.drop{transform:translateY(70px);opacity:0}.flow i.convert{background:var(--accent);transform:scale(1.25)}.result{margin-top:clamp(8px,2vmin,18px);display:flex;align-items:center;justify-content:space-between;border-top:2px solid var(--fg);padding-top:8px}.result strong{font-size:clamp(26px,8vmin,64px);color:var(--accent)}
js
const flow=document.querySelector('#clicks');flow.innerHTML=Array.from({length:12},()=>'<i></i>').join('');let step=0;function draw(){const count=[6,4,8,5][step++%4];[...flow.children].forEach((dot,i)=>{dot.className=i<count?'convert':'drop'});document.querySelector('#conversions').textContent=String(count);document.querySelector('#cpa').textContent='$'+(600/count).toFixed(0)}draw();setInterval(draw,1400);

CPA divides ad spend by the number of target actions. The same number means different things when acquisition is a first purchase versus a lead form.

The demo filters click dots into conversions. Fewer conversions raise CPA while spend stays fixed.

Platform-reported conversions may include existing customers or sales that would have happened anyway. Check the action definition, deduplication, and customer value.

When to use

Use it against an acquisition cost target, while checking action quality and later revenue.

Open as page ↗