ReactionSaaS
Documentation

Kartra

Kartra’s exact injection points vary by page type and legacy vs new builders. Prefer global script injection once per page, then place embeds only in HTML-capable regions.

Where to paste code

  • Global tracking code or site-wide custom code settings.
  • Page-level custom HTML blocks or JavaScript sections.
  • Thank-you / upsell pages that allow third-party embeds.

Setup guide

  1. Add the SDK script once per document.
  2. Initialize after DOM ready with your ReactionSaaS credentials and allowed origins for your Kartra domain.
  3. Paste reaction-video (overlays) or Reactify custom elements (recorded reactions); avoid duplicate loaders on split-test variants.
  4. Validate on the winning variant’s live 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 Kartra selected to mirror overlay settings.

Template platform_config

Marketplace templates can declare a Kartra block inside platform_config:

{
  "kartra": {
    "embed_type": "funnel_custom_script",
    "host": "kartra",
    "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

Split tests? Install the embed on each variant that should collect reactions; keep a single init per page load.

← Platform overview · Templates