> For the complete documentation index, see [llms.txt](https://docs.firework.com/firework-for-developers/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.firework.com/firework-for-developers/web/integration-guide/events/video-player-events.md).

# Video player events

{% hint style="info" %}
Please note most components initiate Video player upon user interaction (e.g. thumbnail click in Embed Feed), some use it directly (Storyblock in autoplay mode)
{% endhint %}

### Video events

<table><thead><tr><th width="390">Name</th><th>Description</th></tr></thead><tbody><tr><td><code>fw:video:impression</code></td><td>Dispatched on <code>loaddata</code> video event. Metadata are loaded and player is ready to start the video.</td></tr><tr><td><code>fw:video:start</code></td><td>Video started. Dispatched on first <code>timeupdate</code> video event. Fired for autoplayed thumbnails as well.</td></tr><tr><td><code>fw:video:first-quartile</code></td><td>Video reached 25%.</td></tr><tr><td><code>fw:video:midpoint</code></td><td>Video reached 50%.</td></tr><tr><td><code>fw:video:third-quartile</code></td><td>Video reached 75%.</td></tr><tr><td><code>fw:video:complete</code></td><td>Video reached at least 90%.</td></tr><tr><td><code>fw:video:session</code></td><td>After visitor's engagement with the video is finished. On video end, close or skip to another video.</td></tr><tr><td><code>fw:video:interactable-engaged-view</code></td><td>Dispatched when a user meets the <a href="#attributable-criteria">attributable engagement criteria</a> for the given widget type (view duration threshold or CTA click)</td></tr><tr><td><code>fw:video:click-cta</code></td><td>When visitor clicks on CTA button (if available).</td></tr><tr><td><code>fw:video:click-share</code></td><td>When user clicks on "Share" button.</td></tr><tr><td><code>fw:video:share</code></td><td>When visitor chooses one of the share options.</td></tr></tbody></table>

These events are universal across our Livestream and short video products. These events are used to track the status of the video.

### User Interaction events

These events are universal across our Livestream and short video product and triggered by the user taking an action.

| Event Name               | Description                                                                                                       |
| ------------------------ | ----------------------------------------------------------------------------------------------------------------- |
| `fw:video:click-cta`     | When a visitor clicks on the Call to action (CTA) button                                                          |
| `fw:video:click-share`   | When a user clicks on "Share" button.                                                                             |
| `fw:video:share`         | When a visitor chooses one of the share options.                                                                  |
| `fw:video:submit-answer` | When a user submits an answer to the question. Response data contains answer and email if collection is required. |
| `fw:video:submit-choice` | When a user submits a choice to the poll. Response contains choice text.                                          |

### Live Steam events

These are events that are specific to the Live Stream and can be used in conjunction with the above events.

| Event Name                 | Description                                                                                  |
| -------------------------- | -------------------------------------------------------------------------------------------- |
| `fw:livestream:join`       | A user starts watching the livestream via tap to watch OR start watching with the share link |
| `fw:livestream:quit`       | A user clicks the "x" or swipes to quit the live stream event                                |
| `fw:livestream:send-chat`  | A user sends a chat message                                                                  |
| `fw:livestream:send-heart` | A User clicks heart button                                                                   |

{% hint style="info" %}
`Note fw:livestream:add-to-cart, fw:livestream:checkout and fw:livestream:click-pdp-link are only avaiable for "in-stream" Shopping`
{% endhint %}

### Player events

<table><thead><tr><th width="261.0924522356656">Event Name</th><th>Description</th></tr></thead><tbody><tr><td><code>fw:player:transition</code></td><td>Player goes to fullscreen/minimized</td></tr><tr><td><code>fw:player:quit</code></td><td>A user quits the player</td></tr><tr><td><code>fw:player:navigate</code></td><td>A user navigates with a link or a button on the player. Can be used to programmatically navigate SPA's in conjunction with <code>pip_navigate=false</code></td></tr></tbody></table>

### **Response**

Response objects available in `event.detail`

<table><thead><tr><th width="201.5305331439971" align="right">Name</th><th>Description</th></tr></thead><tbody><tr><td align="right"><code>video</code></td><td><p><code>encoded_id</code> - video ID</p><p><code>badge</code> - null | ad | demo | featured</p><p><code>caption</code> - video caption</p><p><code>hashtags</code> - list of hashtag strings</p></td></tr><tr><td align="right"><code>extra</code></td><td><p><code>autoplay</code> - true if played as thumbnail, false for full player<br><code>has_cta</code> - true if CTA action is available</p><p><code>duration</code> - video duration is seconds</p><p><code>progress</code> - current progress in seconds</p><p><code>width</code> - current width of a video element</p><p><code>height</code> - current height of a video element</p><p><code>state</code> - paused | playing_auto | playing_manual (see autoplay)</p></td></tr></tbody></table>

### **Attributable criteria**

| Widget                                | Attribution Criteria             | Example                                                                                                                                                                        |
| ------------------------------------- | -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Short video Player (Fullscreen + PiP) | 3s view or click CTA             | The user opens a video in fullscreen and watches for 3s, or clicks a product card that opens a PDP with PiP.                                                                   |
| Showroom Player (Fullscreen + PiP)    | 10s cumulative view or CTA click | The user clicks a floating video to enter the showroom (watches 5s), then clicks a product card to a PDP with PiP (watches another 5s) — the combined 10s meets the threshold. |
| Carousel (no clicking)                | Only count click CTA             | Passive autoplay does not count. Attribution is only triggered when the user clicks a CTA within the Carousel.                                                                 |
| Player Deck                           | 10s view or click CTA            | The user lands on or scrolls to a Player Deck in the viewport and watches for 10s, or clicks a CTA or product card.                                                            |
| Storyblock                            | 10s view or click CTA            | The user lands on or scrolls to a Storyblock in the viewport and watches for 10s, or clicks a CTA or product card within the Storyblock.                                       |
| Floating player                       | Not attributed                   | The Floating Player is a passive entry point and does not count toward attribution.                                                                                            |
| Horizontal video                      | 10s view or click CTA            | The user lands on or scrolls to a Horizontal Video player in the viewport and watches for 10s, or clicks a CTA or product card within the player.                              |

\*Note: "10s view" includes complete video views shorter than 10 seconds.

<br>
