Package release preview: Collection delivery through Puntego’s hosted
runtime is implemented. The headless npm import shown below is the tested
package contract, but @puntego/embed still requires public npm publication
before customers can install that import from an external project.
Configure a placement
In Guides → Inline slots, create a lowercase key such asonboarding_card, choose a card or banner surface, and add Experiences in
fallback order. Every item needs an active production release before the
Collection can be activated.
The key and app binding stay immutable. Metadata, order, and lifecycle changes
use optimistic version checks, preventing a stale editor from overwriting a
newer update. Pause or archive a Collection to stop delivery.
Mount the native surface
The shortest path needs no host JavaScript at all. Mark the slot withdata-puntego-collection and the installed Puntego snippet fills it:
Puntego.registerShadowRoot(); it tears the surface down when
the slot is removed or the attribute is blanked, and it re-resolves in place
when you rewrite the key. SPA navigation and DOM mutation are both handled, so
there is nothing to call on route change. Keys must match the same shape as the
key in Guides → Inline slots — a lowercase letter, then lowercase letters, digits, _ or -.
A malformed key logs one [puntego] console error instead of rendering.
Use the imperative API when you need the mount handle — to refresh or destroy
the surface yourself:
404 clears only that
owned child. Transient network and server failures preserve the last known UI.
Resolve for controlled headless UI
Limits and operations
- 100 Collections per workspace;
- 50 distinct Experiences per Collection;
- production-only visitor resolution;
- one first eligible match per resolution;
- existing typed Experience events remain the analytics source of truth;
- workspace exports include Collection definitions and ordered items.