Best Practices for Watch Activity

As part of the Content Personalization integration, the Continue Watching Row (CWR) enables Fire TV users to easily resume in-progress movies and TV shows as well as new episodes of a previously completed series. To ensure that the content playback resumes right where the user left off seeing it, developers need to log Watch activity which consists of content playback events. This guide walks through the best practices for correctly capturing and logging watch activity.

When to send Watch Activity

Send a single playback event info whenever each of these triggers occur:

  • On Content Playback state change (start, stop, pause, or exit).
  • On seeking to a new playback position:
    • Send a PAUSED event when seeking starts, and then a PLAYING event when seeking stops and playback resumes automatically. Here, the user has started seeking without hitting the pause button.
    • Send a PAUSED event if user has just paused the movie and then seeks to a new position. Send a PLAYING event, only after the user hits the resume button.
  • Once every 60 seconds while in the player, regardless of playback state.
  • For activity taking place on other types of devices:
    • Fire TV’s on-device service will periodically wake up and ask your app to sync this data. This will include a parameter indicating the time window for which you should share data. Instead of sending every playback event that occurred in that time window, you can just send the playback exit events, which will give us the content and its last viewed progress.
    • When in the foreground on a Fire TV device, your app should sync this data from your service and send us the latest viewing progress.

Here are some specific use-cases during which to send playback events:

Content Type State Change Description Playback State
Movie/Episode (Any regular content with a deep link) Playback Start Customer has started playing the content PLAYING
Playback Stop Customer has stopped the content, ending the current playback session without exiting the media player. STOPPED
Playback Pause Customer has paused the content but still has the media player in focus. PAUSED
Playback Resume Customer has resumed playing the content from a paused state or after seeking or after an advertisement/preview/intro has finished playing PLAYING
Playback Exit Customer has exited the media player, e.g. exited the movie or the app itself using the back button or the Home button or voice controls. EXIT
Advertisement/Preview/Intro Playback Start Advertisement has started playing INTERSTITIAL
Playback Pause Advertisement has been paused by the user PAUSED
Playback Resume Customer has resumed playing the advertisement from a paused state or after seeking INTERSTITIAL
Playback Exit Customer has exited the media player, e.g. exited the advertisement within the movie or the app itself using the back button or the Home button or voice controls. EXIT
Trailer (This refers to trailers that are independent, i.e. not part of an advertisement or the main content) Trailer playback, pause or exit No event needs to be sent N/A

Please refer to the technical documentation for Watch Activity for code samples.

Last updated: Mar 6, 2026