The Podlove Publisher tracks download intents made by clients. It is only tracked that a download was started but not if it was completed. For brevity, this document will speak of “downloads”. Just be aware that what is tracked are actually only download intents. So when you are looking at your data, be aware that the numbers displayed do not represent the actual number of listening users.
Anatomy of Tracking URLs
The Publisher creates “tracking URLs”. For example, if your media file is this:
then a tracking URL might look like that:
Requests on tracking URLs are intercepted by the Publisher, analyzed, and finally redirected to the actual physical file. On to a closer look at the URL components.
This is your blog domain and a “podlove” URL prefix so tracking URLs don’t interfere with your blogs pages.
This identifies the actual file to download.
These are indicators for the source (s) and context (c) of the Download. This allows you to have separate analytics for downloads from feeds, the web player, etc.
What looks like the file name is purely of decorative nature. It makes the URL easier to read and some command line clients will use that part of the URL to auto-generate a filename. But it is irrelevant for the purpose of tracking.
Only real download requests are tracked. In more technical terms:
HEAD requests are ignored. These are the analyzed and saved values:
UA (User Agent)
Based on the UA, facts about the client can be derived or guessed; such as:
- client name (Chrome, Firefox, iTunes, Instacast, …)
- operating system (Android, iOS, Mac, …)
- device (iPhone, Galaxy Nexus, …)
Furthermore, bots can be detected.
A reference to the downloaded file is kept. This allows to group tracking data by episode.
The request ID is an artificial compound ID to identify identical requests anonymously. It is a hash from the combined IP address and user agent string.
Source & Context
Download source & context allows to analyze tracking data by how and where the file was requested. By default, the sources are:
- download: a direct download via the website
- feed: an automatic download via RSS feeds
- webplayer: the episode was played using the player on the website
To further drill down, each source has multiple contexts:
- select-button: a direct download by clicking a download button
- select-show: the user obtained the URL by revealing it on the website
- for feed, the asset is saved (m4a, mp3, ogg, etc.)
- episode: the player on the episode page
- home: the player on the home page
- website: the player on any other page
Based on the IP address and the GeoLite2 Database by MaxMind location data is saved.
Before tracking data is presented in the analytics area, it is cleaned up. Cleanup involves the following steps:
- Based on the UA analysis bots are filtered out.
- Duplicate requests are filtered out. A request is considered a duplicate if it contains
- the same File ID
- and the same Request ID
- and was made within the same hour
- Pre-Release downloads are filtered out. They may happen if you test downloads before publishing the episode.