Flightcast
Sign in →

Podcast Player Recommendations

This page covers the IAB Podcast Measurement Technical Guidelines v2.2 player recommendations (section 7). Flightcast's only first-party player is the embed iframe. Publishers who embed it get the behavior described below by default. Publishers who build their own players should follow the same recommendations.

How Flightcast counts downloads and unique listeners is summarized on the Measurement Methodology page.

Do not implement Auto-play except where listener intent is implied

Players should not auto-play except where listener intent is implied. The Flightcast embed does not autoplay by default. Playback starts only after a listener action, unless a publisher adds the autoplay=true URL parameter. Measurement rejects requests whose referrer still includes an autoplay indicator.

Do not Pre-load unless intent to play

Players should not pre-load episode audio unless the listener intends to play. The Flightcast embed sets preload=metadata, so loading a page with the player fetches file headers and a small metadata range (typically tens of kilobytes). On ordinary episodes that probe is far below the one-minute download threshold. A very short file can count only if that request covers the whole file. The rest of the file is requested after the listener presses play.

Use header information to prevent a full download when not needed

Players should use HTTP header and file metadata to avoid downloading the full file when it is not needed. The Flightcast embed uses preload=metadata, so the browser reads headers and metadata first and defers the full download until playback is requested.

File request: full file at once, or progressive slices larger than 2 bytes

A file request should be either the full file at once, or progressive byte-range slices larger than 2 bytes. The Flightcast embed uses the browser's native progressive range requests. The server discards 0-1 and 0-2 byte probes from download counts.

Do not modify the enclosure URL or add extra parameters

Players should request the episode enclosure URL as published, without rewriting it or adding extra query parameters. Publishers who build their own players should follow that rule so RSS tracking prefixes still fire. The Flightcast embed requests the episode from Flightcast's measured media URL and does not add player identity parameters. Publisher prefix URLs in the RSS enclosure apply to feed subscribers, not to the embed.

Do not cache podcast episodes on your servers

Players should not cache podcast episodes on their own servers. The Flightcast embed does not cache episodes server-side. Each listen requests the enclosure for that listener. Flightcast's origin keeps short-lived delivery caches behind the measurement point, so every listener request is still counted.

Use the GUID to identify new episodes for automatic download

Players that automatically download new episodes should use the episode GUID to recognize what is new. The Flightcast embed does not auto-download. Flightcast RSS feeds emit a persistent per-episode GUID so third-party apps can follow this recommendation.

Employ automatic download unsubscribe

Players that automatically download episodes should stop doing so after unused auto-downloads, for example by turning off automatic download after a stretch of unplayed episodes. This does not apply to the Flightcast embed, which never auto-downloads. Publishers building their own players should implement this unsubscribe behavior.

Do not automatically download all episodes / back catalog by default

Players should not automatically download every episode or the full back catalog by default. The Flightcast embed only fetches the episode the listener plays. Publishers building third-party players should keep the same default: download the current episode, not the catalog.

Provide enough User-Agent detail to differentiate devices

Players should send a User-Agent string with enough detail to tell devices apart. The Flightcast embed sends the browser User-Agent unmodified. It does not use a custom player User-Agent, and it does not inject user IDs or session IDs into the User-Agent string.

© 2024 Flightcast. All rights reserved.