Configure your widget

Your embed code
<script
  src="https://test-co-7-1778673801488-24fa6fe2.polsia.app/widget.js"
  data-headline="Ready to get started?"
  data-button-text="Get early access"
  data-color="#2563eb"
  async></script>
yoursite.com
Ready to get started?

↑ Live preview — same code path as production

How it works

1

Configure

Set your headline, button text, and accent color in the panel above.

2

Copy one line

Paste the <script> tag into your HTML — before </body> works great.

3

You're live

The widget renders instantly on your site, isolated in a shadow DOM so it never breaks your styles.

Want analytics + custom domains?

The full Acme platform is coming soon — real-time widget stats, custom domain embeds, A/B testing, and more.

Join the waitlist →
'); // Ping animation preview.classList.remove('ping'); void preview.offsetWidth; preview.classList.add('ping'); } hl.addEventListener('input', updateAll); btnTxt.addEventListener('input', updateAll); colors.addEventListener('click', function (e) { var swatch = e.target.closest('.color-swatch'); if (!swatch) return; activeColor = swatch.dataset.color; document.querySelectorAll('.color-swatch').forEach(function (s) { s.classList.remove('active'); }); swatch.classList.add('active'); updateAll(); }); copyBtn.addEventListener('click', function () { var h = hl.value || 'Your headline here'; var b = btnTxt.value || 'Click me'; var text = ''; function showCopied() { copyBtn.textContent = '✓ Copied!'; copyBtn.classList.add('copied'); setTimeout(function () { copyBtn.innerHTML = ' Copy snippet'; copyBtn.classList.remove('copied'); }, 2500); // Log embed_copy event try { fetch('/api/demo/event', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ eventType: 'embed_copy', metadata: { color: activeColor, source: 'embed_page' } }), }); } catch (_) {} } if (navigator.clipboard) { navigator.clipboard.writeText(text).then(showCopied).catch(function () { fallbackCopy(text); showCopied(); }); } else { fallbackCopy(text); showCopied(); } }); function fallbackCopy(text) { var ta = document.createElement('textarea'); ta.value = text; ta.style.cssText = 'position:fixed;top:0;left:0;opacity:0;'; document.body.appendChild(ta); ta.focus(); ta.select(); try { document.execCommand('copy'); } catch (_) {} document.body.removeChild(ta); } })();