Ambient mode

Ambient mode removes the bar. Your page keeps its own buttons, styled your way, and fires reactions through the JS API — while everything live keeps working: the falling reactions (yours and every other reader's, in real time), the counts, the rate limits and budgets. Available on Supporter and Pro plans.

Set it up

  1. In the console, open your app → CustomizeLayoutambient.
  2. Keep the <tapback-bar> element in your page. It renders nothing in ambient mode, but it's still the anchor that opens the session and names the entity:
<tapback-bar entity="your-page-id"></tapback-bar>
<script type="module" async src="https://api.tapback.party/loader.js"
        data-key="pk_live_…"></script>
  1. Wire your UI:
<button id="love"><span id="love-n">0</span></button>
<script type="module">
  await customElements.whenDefined("tapback-bar"); // the loader tag is async — wait for it
  document.getElementById("love").onclick = () => tapback.react("heart");
  tapback.on("counts", (totals) => {
    document.getElementById("love-n").textContent = totals.heart ?? 0;
  });
</script>

That's a working live-reactions page: taps land in the shared room, other readers' reactions fall down your page as they happen, and your counter updates live.

What to know