Testing & Troubleshooting
The Questa SDK is designed to fail gracefully — a broken selector or unreachable video will never crash your site. If something isn't firing, work through this list.
Test mode
Once the SDK has loaded, use the global Questa.test helpers from the browser console to preview animations without playing a real video:
Questa.test.list(); // list all loaded cues
Questa.test.triggerMoment(0); // trigger the first cue
Questa.test.triggerMoment("<momentId>"); // trigger a specific cue
Questa.test.simulateTime(42); // pretend the video is at 42s
Questa.test.conversion({ value: 1 }); // fire a conversion eventCommon issues
Script not loading
- Open DevTools → Network and filter for
questa.js. You should see a 200. - If you see CORS or 403, the script tag is pointing to the wrong domain — copy it again from the Install tab.
- Check that the tag is in your rendered HTML (some CMSs strip
<script>tags from page builders — put it in a "raw HTML" block).
Experience not published
The SDK only loads approved CTA moments. If a moment is still in detected state, approve it on the Moments tab. The Install tab's Experience check turns green once the experience is marked ready or installed.
Invalid selector
Questa never crashes on a bad selector — it logs a warning in the console:
[questa] Selector not found: #download-buton (skipping action, continuing)Fix it in the action mapping. Use document.querySelector("#your-selector") in the console to test selectors live.
Video not detected
- Questa looks for the first
<video>element on the page. - If you have multiple videos, set
data-video-selector="#main-video"on the script tag. - Embedded YouTube/Vimeo
<iframe>players aren't probed for time updates yet — use a native<video>element.
No CTA trigger
- Make sure each moment has at least one mapped action — moments without actions are skipped.
- Verify the action's selector matches an element after page load (lazy-rendered components may not exist yet).
- Add
data-debugto the script tag and reload — you'll see when each cue fires.
No analytics appearing
- Events are batched and flushed every ~1.2s. Trigger a CTA and wait a few seconds before refreshing the Install tab.
- Confirm the request to
/api/public/v1/playback/eventsreturns 200 in DevTools → Network. - Events without a backing video aren't persisted server-side yet — video-less experiences still trigger client actions but won't show "last event".
Domain mismatch
Site keys are origin-locked. If you load Questa on a domain that isn't in your verified domain list, the session endpoint returns origin_not_allowed. Add and verify the domain on the Site page.
Ad blockers
Most ad blockers leave Questa alone, but very aggressive lists may block third-party scripts. If you suspect this, disable blockers for your test page and reload.
Browser console errors
Every Questa log is prefixed with [questa]. Search the console with that prefix to see exactly what the SDK loaded, which cues it found, and any warnings.
Still stuck?
Open an experience → Install tab and click Re-check. The four health badges (Site key, Experience, Domain, Last event) tell you exactly which step is failing.