Closed-loop commerce measurement

구매 연결 측정

Match ad exposure records to transaction records and inspect the match coverage.

···
html
<div class="cl"><div class="cl-title">EXPOSURE → RECEIPT MATCH</div><div class="cl-row"><span>AD 01</span><i></i><b>ORDER 01</b></div><div class="cl-row"><span>AD 02</span><i></i><b>ORDER 02</b></div><div class="cl-row"><span>AD 03</span><i></i><b>NO MATCH</b></div><div class="cl-total"><strong id="cl-count">0 / 3</strong><span>MATCHED · CAUSAL LIFT UNKNOWN</span></div></div>
css
.cl{width:min(90%,510px);font:700 clamp(10px,1vw,14px)/1.2 sans-serif}.cl-title{padding:8px 0;border-bottom:2px solid var(--fg);letter-spacing:.05em}.cl-row{display:flex;align-items:center;gap:6px;margin:clamp(5px,1.4vmin,11px) 0}.cl-row span,.cl-row b{width:27%;padding:clamp(5px,1.2vmin,9px);background:var(--surface);border:1px solid var(--line)}.cl-row b{width:31%;color:var(--muted)}.cl-row i{flex:1;border-top:2px dashed var(--line);transition:.4s}.cl-row.matched i{border-color:var(--accent);border-top-style:solid}.cl-row.matched b{color:var(--fg);border-color:var(--accent)}.cl-total{display:flex;justify-content:space-between;align-items:center;gap:5px;border-top:1px solid var(--line);padding-top:6px}.cl-total strong{color:var(--accent);font-size:clamp(14px,1.8vw,24px)}.cl-total span{color:var(--muted);text-align:right}
js
const rows=[...document.querySelectorAll('.cl-row')],count=document.querySelector('#cl-count');let step=0;function render(){rows.forEach((row,i)=>row.classList.toggle('matched',i<step&&i<2));count.textContent=Math.min(step,2)+' / 3'}setTimeout(()=>{step=1;render()},450);setTimeout(()=>{step=2;render()},1050);setInterval(()=>{step=0;render();setTimeout(()=>{step=1;render()},450);setTimeout(()=>{step=2;render()},1050)},4500);

Closed-loop commerce measurement joins ad exposure or click records with retailer transaction records. The match method and observable coverage depend on permitted identifiers and purchase data.

In the demo, only two of three fictional exposures match receipts. A matched sale is not proof that the ad caused it; estimating additional sales calls for a separate counterfactual.

When to use

Use it to check how much of transaction activity an ad report can actually observe.

Open as page ↗