ReactionSaaS
Documentation

Systeme.io

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

  1. Load sdk.js or reactify.js from your approved CDN with defer when possible.
  2. Initialize with apiKey, accountId, baseUrl, mode, and allowedOrigins including your live Systeme hostname.
  3. Insert the custom element for your thread or template; match attributes to the marketplace duplicate payload.
  4. Publish, then test in an incognito window on the public URL.

Example snippet

<script src="https://reactify-cdn.s3.us-east-2.amazonaws.com/sdk.js" defer></script>
<script>
  window.addEventListener('DOMContentLoaded', function () {
    if (!window.Reactify) return;
    Reactify.init({
      apiKey: 'YOUR_API_KEY',
      accountId: 'YOUR_ACCOUNT_ID',
      baseUrl: 'https://api.reactionsaas.com',
      mode: 'production',
      allowedOrigins: [window.location.origin]
    });
  });
</script>
<reaction-video
  src="https://cdn.example.com/hero.mp4"
  overlays="tap,poll,rating,slider,cta"
  poll-question="Ready to continue?"
  cta-text="Continue"
  interaction-type="tap"
></reaction-video>

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.

Verification

  1. Publish to a live URL; open in a clean session and confirm the SDK loads without CSP errors.
  2. Trigger first render and first interaction; check ReactionSaaS analytics.
  3. 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:

{
  "systemeio": {
    "embed_type": "funnel_custom_script",
    "host": "systemeio",
    "placements": [
      "landing_page",
      "funnel_step",
      "opt_in_page",
      "sales_page"
    ],
    "script_surface": "page_custom_code_or_footer"
  }
}

UI presets (reference)

  • Fullscreen / CTASingle primary conversion path; respects reduced motion. Events: install_completed, first_render, first_interaction, template_used, platform_used, verification_heartbeat.
  • Inline conversion blockLazy-load; threads reactions to the same campaign as the page. Events: first_render, first_interaction, install_handoff_started, install_handoff_completed.
  • Lead-gen overlayDoes 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.

← Platform overview · Templates