Instapage
Instapage is strict about script security—host the SDK on an allowed domain and follow their external script guidelines. Always publish to a live URL to test.
Where to paste code
- Settings → JavaScripts (global or page-level).
- HTML widgets embedded in the page.
Setup guide
- Add external script URL to Instapage-approved configuration.
- Initialize after load; include each published hostname in allowedOrigins.
- Embed custom elements; duplicate-check when cloning pages across workspaces.
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
- 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 Instapage selected to mirror overlay settings.
Template platform_config
Marketplace templates can declare a Instapage block inside platform_config:
{
"instapage": {
"embed_type": "funnel_custom_script",
"host": "instapage",
"placements": [
"landing_page",
"funnel_step",
"opt_in_page",
"sales_page"
],
"script_surface": "page_custom_code_or_footer"
}
}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
Script rejected? Use Instapage’s script manager UI rather than inline paste where blocked; contact their support for CSP allowlists.

