ReactifySDK · Reference
Event schema
Send events to POST /api/reactify/events with JSON. The server persists product_type: "reactify_sdk" and validates event_type against the allowlist below. Optional fields such as reaction_id, branch_root, template_id, creator_id, depth, step, and surface are forwarded when present.
TypeScript union: app/api/models/reactify-event.ts
Allowed event_type values
- reaction_impression
- thread_impression
- branch_impression
- record_reaction
- stitch_reaction
- beat_reaction
- remix_reaction
- react_to_reaction
- branch_view
- share_thread
- template_viewed
- template_selected
- reaction_recorded
- thread_created
- template_auto_generated
- template_auto_published
- template_generated_from_thread
- reaction_remix_created
- reaction_challenge_created
- reaction_competition_rank_change
- reaction_path_rendered
- reaction_branch_opened
- reaction_reply_created
- reaction_stitch_created
- reaction_ranked_path_viewed
- reactify_onboarding_started
- reactify_onboarding_step_viewed
- reactify_onboarding_step_completed
- reactify_onboarding_upgrade_cta_clicked
- marketplace_ui_family_filter
- playground_ui_mode_selected
- template_ui_family_viewed
- reactify_source_media_uploaded
- reactify_revenue_onboarding_started
- reactify_revenue_platform_selected
- reactify_revenue_template_selected
- reactify_revenue_preview_viewed
- reactify_revenue_install_started
- reactify_revenue_install_completed
- reactify_revenue_first_render
- reactify_revenue_first_interaction
- reactify_revenue_first_reaction
- reactify_revenue_first_lead
- reactify_revenue_first_conversion
- reactify_revenue_upgrade_cta_viewed
- reactify_revenue_upgrade_cta_clicked
- demo_generated
- split_screen_viewed
thread_impression
ReactifySDKFired when a thread surface becomes visible to a viewer. Increments thread impression counters server-side when thread_id is present.
When captured
Embed enters the viewport or thread shell mounts and sends the first impression beacon.
Data structure stored
{
"event_type": "thread_impression",
"product_type": "reactify_sdk",
"thread_id": "thread_abc",
"created_at": "2025-03-20T12:00:00.000Z",
"anonymous_session_id": "sess_xyz"
}reaction_recorded
ReactifySDKSignals that a participant finished capturing a reaction clip or alternate reaction payload associated with a thread.
When captured
Recorder UI completes upload handoff or server confirms reaction row.
Data structure stored
{
"event_type": "reaction_recorded",
"product_type": "reactify_sdk",
"thread_id": "thread_abc",
"reaction_id": "re_123",
"creator_id": "creator_456",
"created_at": "2025-03-20T12:00:00.000Z"
}template_viewed
ReactifySDKTemplate gallery or documentation surfaces viewing a template card.
When captured
Template preview visible above the fold or explicit template open.
Data structure stored
{
"event_type": "template_viewed",
"product_type": "reactify_sdk",
"template_id": "tpl_slug_or_id",
"anonymous_session_id": "sess_xyz",
"created_at": "2025-03-20T12:00:00.000Z"
}reactify_onboarding_step_completed
ReactifySDKFunnel analytics for the guided Reactify creator onboarding.
When captured
User completes a step in /reactify/onboarding.
Data structure stored
{
"event_type": "reactify_onboarding_step_completed",
"product_type": "reactify_sdk",
"step": 3,
"surface": "web_onboarding",
"creator_id": "creator_456",
"created_at": "2025-03-20T12:00:00.000Z"
}ReactionSDK on-video overlay events (tap, poll, rating, slider, and CTA—not viewer-recorded reaction clips) use a different pipeline. See ReactionSDK event schema.

