Ad frequency capping

광고 빈도 제한

Limits how often one person is served an ad.

···
html
<div class="cap"><div class="person">PERSON 01 <strong>CAP: 3</strong></div><div class="slots" id="slots"></div><div class="status" id="status">0 / 3 DELIVERED</div></div>
css
.cap{width:min(86%,450px);font:800 clamp(10px,max(2vmin,1vw),16px)/1.2 sans-serif}.person{display:flex;justify-content:space-between;gap:5px;padding:clamp(8px,2vmin,16px);border:2px solid var(--fg)}.person strong{color:var(--accent)}.slots{display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(4px,1vmin,10px);margin:clamp(12px,3vmin,25px) 0}.slots div{height:clamp(48px,13vmin,100px);background:var(--surface);border:1px dashed var(--line);display:grid;place-items:center;font-size:clamp(16px,4vmin,30px);transition:.4s}.slots div.on{background:var(--accent);color:white;border-color:var(--accent)}.slots div.blocked{color:var(--muted);text-decoration:line-through}.status{background:var(--fg);color:var(--bg);padding:clamp(8px,2vmin,15px);text-align:center;letter-spacing:.1em}
js
const slots=document.querySelector('#slots');slots.innerHTML=Array.from({length:5},(_,i)=>'<div>'+String(i+1).padStart(2,'0')+'</div>').join('');let n=0;function draw(){[...slots.children].forEach((cell,i)=>{cell.className=i<n?(i<3?'on':'blocked'):''});document.querySelector('#status').textContent=n<=3?n+' / 3 DELIVERED':'3 / 3 · EXTRA REQUEST BLOCKED';n=(n+1)%6}draw();setInterval(draw,750);

Frequency capping sets a maximum number of ad exposures to the same person over a period. It can broaden reach and reduce repeated exposure.

The demo receives successive impression requests and stops delivery at the chosen cap. It does not imply one cap is optimal for every campaign.

Identity coverage, measurement period, placement, and campaign goal all change the right limit. Review reach and outcomes together.

When to use

Use it when repeat exposure is high, then tune the cap against reach and outcomes.

Open as page ↗