Drip campaign

드립 캠페인

Send a timed sequence and stop it when the customer acts.

···
html
<div class="drip"><div class="timeline"><span>DAY 0</span><span>DAY 2</span><span>DAY 5</span></div><div class="messages"><div>WELCOME</div><div>HOW IT WORKS</div><div>TRY A FEATURE</div></div><div class="outcome" id="outcome">DAY 0 SENT</div></div>
css
.drip{width:min(93%,630px);font:800 clamp(10px,3.2vmin,15px)/1.2 var(--font-sans)}.timeline,.messages{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(4px,1.5vmin,12px)}.timeline{border-bottom:3px solid var(--line);padding-bottom:clamp(7px,2vmin,14px);color:var(--muted)}.timeline span{text-align:center}.messages{margin-top:clamp(8px,2vmin,16px)}.messages div{min-height:clamp(45px,13vmin,88px);display:grid;place-items:center;text-align:center;padding:3px;border:2px solid var(--line);color:var(--muted);transition:.3s}.messages div.sent{background:var(--accent);border-color:var(--accent);color:white}.messages div.cancelled{text-decoration:line-through;opacity:.5}.outcome{margin-top:clamp(10px,3vmin,23px);padding:clamp(7px,2vmin,15px);border:2px solid var(--fg);text-align:center}
js
let step=0;function show(){document.querySelectorAll('.messages div').forEach((el,i)=>{el.classList.toggle('sent',i<=step&&step<3);el.classList.toggle('cancelled',step===3&&i>0)});document.querySelector('#outcome').textContent=step===3?'CUSTOMER ACTED → STOP':'DAY '+[0,2,5][step]+' SENT';step=(step+1)%4}show();setInterval(show,1500);

A drip campaign is a timed message sequence triggered by an event such as signup or a download. Each step should help the customer move forward rather than repeat the previous note.

The demo opens messages on day 0, day 2, and day 5. If the customer completes the intended action, the remaining scheduled messages are cancelled.

A schedule without an exit condition can prompt someone to buy after they already bought. Recheck action status and consent before each send.

When to use

Use it when a new customer needs useful guidance in a timed sequence.

Open as page ↗