One script for the whole site and one div per slot. No cookies, no consent work, zero layout shift. If Placa is ever unreachable, the slot stays empty and your page does not notice.
Before the closing body tag, on every page that shows sponsorships. Your site id (st_…) is in the Integration tab of the panel.
<script async src="https://edge.placa.dev/s.js" data-site="st_YOUR_SITE_ID"></script>
Copy each div verbatim from the Integration tab. The inline min-height reserves the exact box of the format before anything paints — that is where the zero layout shift comes from.
<div data-placa="sidebar" style="min-height:200px"></div>
Every format reserves a fixed box, so you know the exact space before selling anything.
| Format | Reserved box (px) | Where it lives |
|---|---|---|
| card.sidebar | 260 × 200 | Next to the content or the docs index. |
| text.inline | full width × 44 | Inside or right after the content. |
| bar.top | full width × 44 | The first strip of the page. One sponsor, exclusive. |
| logo.wall | full width × 76 | A row of sponsor chips: the open source classic. Many at once, never rotating. |
| card.grid | full width × 120 | A row of equal cards at the foot of an article or between sections. |
Ownership is proven once with a DNS TXT record shown in the panel. Nothing is served until it checks out.
Point it at the machine-readable contract — the same guide, written for agents: placa.dev/llms.txt