Tilda / Webflow
Both are no-code friendly: the universal loader (/v1/widget.js) needs no CMS-specific backend. Paste the embed snippet into an HTML block.
Prerequisites
- A project whose
allowed_originsincludes your published site URL. - Anonymous free-play needs no token. Identified play uses a backend-issued token; owner preview stays in admin.
Tilda
- Add block -> Other -> T123 HTML.
- Paste the embed snippet from RetentionPlay admin (Embed snippet).
- Set
data-session-tokenonce your backend issues a token viaPOST /v1/server/session-token. - Publish.
Webflow
- Add an Embed element.
- Paste the same snippet.
- In Project settings -> Custom code, ensure no CSP blocks the API origin or your site origin.
- Publish.
Example (anonymous free-play)
html
<div id="playflow-widget"></div>
<script
src="https://api.example.com/v1/widget.js"
data-project-id="proj_demo"
data-api-base="https://api.example.com"
data-target="#playflow-widget"
async
></script>Theming and templates
Set the primary color and active template in admin — the loader and play iframe pick them up automatically, no CMS changes needed.
Troubleshooting
| Issue | Fix |
|---|---|
| Blank iframe | Check console; verify allowed_origins |
403 origin_forbidden | Add the exact site origin (scheme + host + port) |
| Anonymous only | Provide a valid data-session-token when per-user progress is required |
| Wrong game | Confirm the active template in admin |