캠페인 오케스트레이션

Campaign orchestration

여러 채널의 발송 순서와 제외 조건을 공통 일정에서 조율합니다.

···
html
<div class="orch"><div class="orch-top"><strong>DAY <span id="orch-day">1</span></strong><span id="orch-state">EMAIL SENT</span></div><div class="orch-track"><span>EMAIL</span><span>OPEN?</span><span>APP</span><span>ADS</span><i id="orch-cursor"></i></div><input id="orch-range" type="range" min="0" max="3" value="0" aria-label="Campaign day"><div class="orch-foot"><b id="orch-next">NEXT: CHECK RESPONSE</b><small>OPENED → SKIP APP</small></div></div>
css
:root{--font-sans:"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Segoe UI",sans-serif}.orch{width:min(90%,660px);font:800 clamp(13px,3.5vmin,17px)/1.2 var(--font-sans)}.orch-top,.orch-foot{display:flex;justify-content:space-between;gap:8px;align-items:center}.orch-top{margin-bottom:clamp(15px,4vmin,35px)}.orch-top strong{font-size:clamp(14px,5vmin,29px);color:var(--accent)}.orch-track{display:flex;justify-content:space-between;position:relative;gap:3px}.orch-track:before{content:'';position:absolute;left:7%;right:7%;top:50%;height:3px;background:var(--line)}.orch-track span{position:relative;z-index:1;padding:clamp(6px,1.8vmin,15px);border:2px solid var(--line);background:var(--surface)}.orch-track span.active{background:var(--accent);color:white;border-color:var(--accent)}.orch input{width:100%;margin:clamp(13px,3vmin,26px) 0;accent-color:var(--accent)}.orch-foot{border-top:2px solid var(--fg);padding-top:clamp(7px,2vmin,16px)}.orch-foot small{font-size:clamp(12px,3vmin,14px);color:var(--muted)}
js
const range=document.querySelector('#orch-range');const nodes=[...document.querySelectorAll('.orch-track span')];const states=['EMAIL SENT','CHECK RESPONSE','APP SKIPPED','ADS SUPPRESSED'];const next=['NEXT: CHECK RESPONSE','OPENED: YES','NO DUPLICATE MESSAGE','CAMPAIGN COMPLETE'];let step=0;function render(){range.value=String(step);document.querySelector('#orch-day').textContent=String(step+1);document.querySelector('#orch-state').textContent=states[step];document.querySelector('#orch-next').textContent=next[step];nodes.forEach((node,index)=>node.classList.toggle('active',index===step))}range.addEventListener('input',()=>{step=Number(range.value);render()});render();setInterval(()=>{if(document.activeElement===range)return;step=(step+1)%4;render()},1100);

캠페인 오케스트레이션은 이메일, 앱, 광고처럼 여러 채널의 실행 순서와 메시지 충돌을 조율하는 일입니다. 각 채널이 별도로 발송하면 고객이 같은 제안을 짧은 시간에 여러 번 볼 수 있습니다.

데모의 시간선을 따라가면 이메일 이후 반응한 고객에게는 앱 알림을 건너뛰고, 반응하지 않은 고객에게만 다음 접점이 열립니다. 상세 화면에서 시간선을 직접 움직일 수도 있습니다.

채널별 도달 가능 여부와 최신 구매 사건을 확인한 뒤 실행해야 합니다. 일정만 맞추고 제외 조건을 빼면 과도한 접촉이 생깁니다.

언제 쓰나

여러 채널이 하나의 고객군을 대상으로 할 때 발송 순서와 제외 조건을 정합니다.

페이지로 열기 ↗