Systeme.io supports custom scripts on many funnel and site surfaces. Use one SDK load per page, place embeds in HTML-capable blocks, and verify telemetry on a live published URL—not only the builder preview.
Where to paste code
- Site or funnel settings that expose footer / global custom code (when available on your plan).
- Individual funnel steps: custom code, HTML, or “embed” sections that execute JavaScript.
- Thank-you or bridge pages where you control raw markup.
Setup guide
- Load sdk.js or reactify.js from your approved CDN with defer when possible.
- Initialize with apiKey, accountId, baseUrl, mode, and allowedOrigins including your live Systeme hostname.
- Insert the custom element for your thread or template; match attributes to the marketplace duplicate payload.
- Publish, then test in an incognito window on the public URL.
Example snippet
ReactionSDK here means overlays on reaction-video (tap, poll, rating, slider, and CTA). For ReactifySDK—recorded video reactions and threads—load reactify.js and use reactify-video / reactify-thread per ReactifySDK HTML install. Copy the embed from the Code column.
Verification
- Publish to a live URL; open in a clean session and confirm the SDK loads without CSP errors.
- Trigger first render and first interaction; check ReactionSaaS analytics.
- Use the SDK playground with Systeme.io selected to mirror overlay settings.
Template platform_config
Marketplace templates can declare a Systeme.io block inside platform_config:
UI presets (reference)
- Fullscreen / CTA — Single primary conversion path; respects reduced motion. Events: install_completed, first_render, first_interaction, template_used, platform_used, verification_heartbeat.
- Inline conversion block — Lazy-load; threads reactions to the same campaign as the page. Events: first_render, first_interaction, install_handoff_started, install_handoff_completed.
- Lead-gen overlay — Does not block native form submit. Events: first_render, first_interaction, template_used.
Troubleshooting
- Script does not run — Use a raw HTML or global script area; rich-text-only fields often strip JavaScript.
- 403 from API — Add the exact published origin (including www) to allowed domains.
- Duplicate events — Ensure only one SDK init per page when combining global and section-level code.
FAQ
Does this replace Systeme forms or checkout? No. Reactions complement native forms and payments; leads and orders still flow inside Systeme.io.
Why is preview empty? Some previews run in an iframe or sandbox without your full script policy—validate on the published funnel URL.