Wistia Embed Test

Platform: Wistia

Testing: Wistia E-v1.js API detection and event tracking

Duration: ~140s (milestones at ~35 / 70 / 105 / 126s) — long enough to test seek-gated progress: scrub to a spot, release, expect ONE milestone at the drop point.

Second embed — SAME media id (Redmine #76161)

Real sites duplicate one video (a carousel that clones slides, a repeated CTA block). Wistia builds a SEPARATE player for each, both reporting the same hashed id. Play THIS one: it must emit its own vpl / vpg / ven with vid=342jss6yh5, independently of the player above.

Video Information

Media ID: 342jss6yh5

Title: The Wistia Team Intro (~140s)

Embed Type: Async embed with E-v1.js

SDK Detection: Looks for window.Wistia or window._wq global objects, iframe patterns matching wistia.com or wistia.net, or elements with .wistia_embed / [class*="wistia_async"]

Wistia JavaScript API

Wistia uses a queue-based API:

window._wq = window._wq || [];
_wq.push({ id: "342jss6yh5", onReady: function(video) {
  video.bind('play', function() { console.log('Playing'); });
  video.bind('pause', function() { console.log('Paused'); });
  video.bind('end', function() { console.log('Ended'); });
}});

Simulate Lead Capture (Turnstile)

Wistia Turnstile is configured in the Wistia dashboard — it can't be enabled via embed code alone. Use these buttons to simulate what happens when Turnstile captures a lead.

// SDK method path:
_ll.video.lead({ platform: 'wis', email: '...', video_id: '342jss6yh5' })
// → emits: vle (video_lead) + pp (possible_person)

// Player event path (what Wistia Turnstile actually fires):
// adapter binds to 'turnstile-submit' → onLead → vle + pp