ReactionSaaS
Documentation

BigCommerce

Install on Stencil storefronts using Script Manager or theme assets. Use reaction-video with ReactionSDK overlays (tap, poll, rating, slider, and CTA) on marketing video. Use ReactifySDK reactify-video / threads when you need recorded video reactions and participatory UGC—not the same as overlay-only interactions.

Prerequisites

  • ReactionSaaS account with API key and allowed storefront origins.
  • BigCommerce store with permission to edit Script Manager or theme files.
  • Template or thread IDs from the marketplace or Reactify dashboard.

Step-by-step setup

  1. Add the SDK script — In Settings → Script Manager, create a script that loads sdk.js or reactify.js from your approved CDN, targeting footer on all pages or only product/category templates.
  2. Initialize — After the script loads, call init (reactionSDK.init or Reactify.init) with your API key, account ID, and allowedOrigins including your vanity domain and *.mybigcommerce.com if used for preview.
  3. Place the embed — For overlays, use reaction-video with overlays / CTA attributes. For ReactifySDK recorded reactions, use reactify-video or thread embeds per the Reactify docs.
  4. Publish — Clear CDN / theme cache if applicable and load a PDP in an incognito window.

Placements

  • Product page — Below description or in a dedicated column; keep LCP-friendly (lazy below fold when possible).
  • Category — Compact social-proof strip; avoid autoplay audio.
  • Homepage — Hero or featured collection sections.
  • Cart / order confirmation — Post-purchase reaction or survey strip.

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/product-demo.mp4"
  overlays="tap,poll,rating,slider,cta"
  poll-question="Which drop?"
  cta-text="Shop the drop"
  interaction-type="tap"
></reaction-video>

Template platform_config

Marketplace templates can declare a BigCommerce block inside platform_config (stored on the template document):

{
  "bigcommerce": {
    "embed_type": "product_page_widget",
    "script_manager": true,
    "placements": [
      "product_page",
      "category_page",
      "homepage",
      "cart"
    ]
  }
}

UI presets (reference)

  • Product page overlayBottom-center reaction overlay on PDP video or hero image region. Events: install_completed, first_render, first_interaction, template_used, platform_used.
  • Inline reaction blockFull-width block below description; thread-style reactions. Events: first_render, first_interaction, template_used.
  • Social proof widgetCompact strip or card grid showing recent reaction counts. Events: first_render, first_interaction.
  • CTA overlaySemi-transparent overlay with primary CTA after engagement threshold. Events: first_interaction, cta_click, conversion_flag.
  • Post-purchase reactionThank-you / order confirmation strip inviting a quick reaction. Events: first_render, first_interaction, template_used.

Verification

  1. Open the browser network tab — confirm SDK loads without CSP violations.
  2. Use the SDK playground to mirror overlay settings.
  3. Trigger an impression and an interaction; confirm events in the ReactionSaaS dashboard.

Troubleshooting

  • Blank player — Check video CORS and MIME type; use HTTPS URLs.
  • 403 on ingest — Add exact storefront origin to allowed domains / API key settings.
  • Duplicate events — Ensure the SDK script is injected only once per page.

FAQ

Does BigCommerce OAuth replace the script? A future app can automate token exchange; today the script + embed path is supported everywhere.

Widgets API? You can wrap the embed in a widget region when you need centralized placement management — same HTML/JS contract.

← Platform overview · Templates