Analytics under-count

I think there might be something wrong with the Analytics algorithm. I have a new podcast with nine episodes that I recently published. So far less than 100 plays have been registered, which is perfectly understandable.

However I think the Download Intent Cleanup may be messing up. Yesterday, I played all 9 episodes on my wife’s iPad, and while they appear in my wp_podlove_downloadintent table, they do not appear in my wp_podlove_downloadintentclean table.

To the best of my knowledge, this is the first time these episodes have been played on this device.

I tried running all of the repair tools under Tools:
Clear Caches
Repair
User Agent Refresh
Download Intent Cleanup
Download Aggregation

I don’t see a way to attach a file to this post, so I’ll copy-and-paste (since the tables are so small at this point).

Here is the “wp_podlove_downloadintent” table as exported:

– phpMyAdmin SQL Dump
– version 4.9.5
https://www.phpmyadmin.net/

– Host: localhost:3306
– Generation Time: Aug 02, 2020 at 04:44 AM
– Server version: 10.3.23-MariaDB
– PHP Version: 7.3.6

SET SQL_MODE = “NO_AUTO_VALUE_ON_ZERO”;
SET AUTOCOMMIT = 0;
START TRANSACTION;
SET time_zone = “+00:00”;

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT /;
/
!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS /;
/
!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION /;
/
!40101 SET NAMES utf8mb4 */;


– Database: biloa_wp



– Table structure for table wp_podlove_downloadintent

CREATE TABLE wp_podlove_downloadintent (
id int(11) NOT NULL,
user_agent_id int(11) DEFAULT NULL,
media_file_id int(11) DEFAULT NULL,
request_id varchar(32) DEFAULT NULL,
accessed_at datetime DEFAULT NULL,
source varchar(255) DEFAULT NULL,
context varchar(255) DEFAULT NULL,
geo_area_id int(11) DEFAULT NULL,
lat float DEFAULT NULL,
lng float DEFAULT NULL,
httprange varchar(255) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;


– Dumping data for table wp_podlove_downloadintent

INSERT INTO wp_podlove_downloadintent (id, user_agent_id, media_file_id, request_id, accessed_at, source, context, geo_area_id, lat, lng, httprange) VALUES
(1, 1, 9, ‘DSGVO1fff74feaa058db7aec073b4f71’, ‘2020-07-09 19:43:50’, ‘webplayer’, ‘website’, NULL, NULL, NULL, ‘bytes=0-’),
(2, 2, 1, ‘DSGVOd3eadf162cc4e98fea34482ea50’, ‘2020-07-11 02:31:11’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-’),
(3, 2, 2, ‘DSGVOd3eadf162cc4e98fea34482ea50’, ‘2020-07-11 02:31:17’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-’),
(4, 2, 1, ‘DSGVOd3eadf162cc4e98fea34482ea50’, ‘2020-07-11 02:36:30’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-’),
(5, 2, 2, ‘DSGVOd3eadf162cc4e98fea34482ea50’, ‘2020-07-11 02:36:33’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-’),
(6, 2, 1, ‘DSGVOd3eadf162cc4e98fea34482ea50’, ‘2020-07-11 02:37:05’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-’),
(7, 2, 2, ‘DSGVOd3eadf162cc4e98fea34482ea50’, ‘2020-07-11 02:37:08’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-’),
(8, 2, 1, ‘DSGVOd3eadf162cc4e98fea34482ea50’, ‘2020-07-11 02:38:03’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-’),
(9, 2, 2, ‘DSGVOd3eadf162cc4e98fea34482ea50’, ‘2020-07-11 02:38:08’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-’),
(10, 2, 9, ‘DSGVOd3eadf162cc4e98fea34482ea50’, ‘2020-07-11 02:39:06’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-’),
(11, 2, 1, ‘DSGVOd3eadf162cc4e98fea34482ea50’, ‘2020-07-11 02:40:03’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-’),
(12, 2, 2, ‘DSGVOd3eadf162cc4e98fea34482ea50’, ‘2020-07-11 02:40:08’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-’),
(13, 2, 1, ‘DSGVOd3eadf162cc4e98fea34482ea50’, ‘2020-07-11 02:42:01’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-’),
(14, 2, 2, ‘DSGVOd3eadf162cc4e98fea34482ea50’, ‘2020-07-11 02:42:05’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-’),
(15, 2, 1, ‘DSGVOd3eadf162cc4e98fea34482ea50’, ‘2020-07-11 02:43:49’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-’),
(16, 2, 2, ‘DSGVOd3eadf162cc4e98fea34482ea50’, ‘2020-07-11 02:43:55’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-’),
(17, 2, 3, ‘DSGVOd3eadf162cc4e98fea34482ea50’, ‘2020-07-11 02:44:13’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-’),
(18, 2, 1, ‘DSGVOd3eadf162cc4e98fea34482ea50’, ‘2020-07-11 11:28:58’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-’),
(19, 2, 2, ‘DSGVOd3eadf162cc4e98fea34482ea50’, ‘2020-07-11 11:29:01’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-’),
(20, 2, 3, ‘DSGVOd3eadf162cc4e98fea34482ea50’, ‘2020-07-11 11:32:01’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-’),
(21, 2, 2, ‘DSGVOd3eadf162cc4e98fea34482ea50’, ‘2020-07-11 11:32:05’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-’),
(22, 2, 1, ‘DSGVOd3eadf162cc4e98fea34482ea50’, ‘2020-07-11 11:37:50’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-’),
(23, 2, 2, ‘DSGVOd3eadf162cc4e98fea34482ea50’, ‘2020-07-11 11:37:53’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-’),
(24, 2, 2, ‘DSGVOd3eadf162cc4e98fea34482ea50’, ‘2020-07-11 11:40:03’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-’),
(25, 2, 1, ‘DSGVOd3eadf162cc4e98fea34482ea50’, ‘2020-07-11 11:40:06’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-’),
(26, 2, 2, ‘DSGVOd3eadf162cc4e98fea34482ea50’, ‘2020-07-11 11:56:11’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-’),
(27, 2, 1, ‘DSGVOd3eadf162cc4e98fea34482ea50’, ‘2020-07-11 11:56:15’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-’),
(28, 2, 1, ‘DSGVOd3eadf162cc4e98fea34482ea50’, ‘2020-07-11 12:02:23’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-’),
(29, 2, 2, ‘DSGVOd3eadf162cc4e98fea34482ea50’, ‘2020-07-11 12:02:27’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-’),
(30, 2, 1, ‘DSGVOd3eadf162cc4e98fea34482ea50’, ‘2020-07-11 12:04:13’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-’),
(31, 2, 2, ‘DSGVOd3eadf162cc4e98fea34482ea50’, ‘2020-07-11 12:04:15’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-’),
(32, 1, 1, ‘DSGVOf3382d2c373f31e4098f7242e72’, ‘2020-07-11 20:10:12’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-’),
(33, 1, 2, ‘DSGVOf3382d2c373f31e4098f7242e72’, ‘2020-07-11 20:10:45’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-’),
(34, 3, 1, ‘DSGVO8875d2a5e765ad77dc2d16cf80f’, ‘2020-07-11 20:12:52’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-1’),
(35, 3, 2, ‘DSGVO8875d2a5e765ad77dc2d16cf80f’, ‘2020-07-11 20:14:46’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-1’),
(36, 4, 1, ‘DSGVObe437e6879bb0d690ffc94a164e’, ‘2020-07-19 14:30:37’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-1’),
(37, 4, 2, ‘DSGVObe437e6879bb0d690ffc94a164e’, ‘2020-07-19 14:30:41’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-1’),
(38, 4, 1, ‘DSGVOa65b56b24cef6fed7b2d1fbab18’, ‘2020-07-19 14:31:21’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-1’),
(39, 4, 2, ‘DSGVOa65b56b24cef6fed7b2d1fbab18’, ‘2020-07-19 14:31:24’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-1’),
(40, 5, 2, ‘DSGVO2d594f8e202ab1e8eef86ea60bb’, ‘2020-07-19 19:21:51’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-’),
(41, 5, 1, ‘DSGVO12f8fab77295f436bccff23778f’, ‘2020-07-20 03:59:02’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-’),
(42, 6, 1, ‘DSGVO062fa9eec084a6304a04bd5cef2’, ‘2020-07-21 14:49:07’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-1’),
(43, 6, 2, ‘DSGVO062fa9eec084a6304a04bd5cef2’, ‘2020-07-21 14:49:15’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-1’),
(44, 6, 3, ‘DSGVO062fa9eec084a6304a04bd5cef2’, ‘2020-07-21 14:49:23’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-1’),
(45, 7, 1, ‘DSGVOcebb8127acd54f137a4377fa423’, ‘2020-07-22 04:05:14’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-’),
(46, 8, 3, ‘DSGVO190ebe4f92517394b9b1e3f3046’, ‘2020-07-23 04:12:17’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-’),
(47, 9, 1, ‘DSGVO0a3d860bc8553167e78e74458da’, ‘2020-07-23 21:53:19’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-’),
(48, 9, 2, ‘DSGVO0a3d860bc8553167e78e74458da’, ‘2020-07-23 23:29:59’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-’),
(49, 9, 3, ‘DSGVO0a3d860bc8553167e78e74458da’, ‘2020-07-23 23:40:40’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-’),
(50, 3, 1, ‘DSGVO6671bf2fb7116c46d0c4f189d9c’, ‘2020-07-24 01:34:42’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-1’),
(51, 3, 2, ‘DSGVO6671bf2fb7116c46d0c4f189d9c’, ‘2020-07-24 02:01:20’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-1’),
(52, 3, 3, ‘DSGVO6671bf2fb7116c46d0c4f189d9c’, ‘2020-07-24 02:08:51’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-1’),
(53, 3, 4, ‘DSGVO43f4c4ae5b1fc7d1549e1a7e17d’, ‘2020-07-24 05:21:45’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-1’),
(54, 3, 5, ‘DSGVO43f4c4ae5b1fc7d1549e1a7e17d’, ‘2020-07-24 15:47:16’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-1’),
(55, 3, 6, ‘DSGVO43f4c4ae5b1fc7d1549e1a7e17d’, ‘2020-07-24 16:04:13’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-1’),
(56, 10, 1, ‘DSGVOdccd61e3dd8f217fda7cae26bc0’, ‘2020-07-24 17:34:36’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-’),
(57, 10, 2, ‘DSGVOdccd61e3dd8f217fda7cae26bc0’, ‘2020-07-24 17:50:27’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-’),
(58, 8, 4, ‘DSGVOd8c063c626d2062eed9d8d5dee0’, ‘2020-07-24 20:17:57’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-’),
(59, 3, 1, ‘DSGVO2d3ee03ddb568ab3034301ef010’, ‘2020-07-25 03:35:28’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-1’),
(60, 9, 4, ‘DSGVO97743f46137a7bcacd7005bfe4b’, ‘2020-07-25 03:43:31’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-’),
(61, 3, 7, ‘DSGVO50bf834b42c8693d5376e7f5469’, ‘2020-07-25 10:00:09’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-1’),
(62, 3, 8, ‘DSGVO50bf834b42c8693d5376e7f5469’, ‘2020-07-25 10:16:57’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-1’),
(63, 3, 9, ‘DSGVO50bf834b42c8693d5376e7f5469’, ‘2020-07-25 10:26:29’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-1’),
(64, 11, 1, ‘DSGVOfe156ede2dc293fc85ee224a13f’, ‘2020-07-25 12:50:31’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-1’),
(65, 3, 1, ‘DSGVO2d3ee03ddb568ab3034301ef010’, ‘2020-07-25 17:02:35’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-1’),
(66, 3, 1, ‘DSGVOf7d7e92106f0510b5583d80cabb’, ‘2020-07-26 03:20:15’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-1’),
(67, 12, 1, ‘DSGVO3bdb4fcf446ddac42bbd12cac56’, ‘2020-07-26 04:46:22’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-’),
(68, 3, 1, ‘DSGVOccfe1fb7bfde0c6d742664504c6’, ‘2020-07-26 06:35:59’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-1’),
(69, 11, 1, ‘DSGVOf83c1360828a7103c1466051a69’, ‘2020-07-26 12:22:35’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-1’),
(70, 11, 1, ‘DSGVOf83c1360828a7103c1466051a69’, ‘2020-07-26 12:27:42’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-1’),
(71, 12, 2, ‘DSGVO3bdb4fcf446ddac42bbd12cac56’, ‘2020-07-26 13:38:01’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-’),
(72, 12, 3, ‘DSGVO3bdb4fcf446ddac42bbd12cac56’, ‘2020-07-26 14:02:41’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-’),
(73, 12, 4, ‘DSGVO3bdb4fcf446ddac42bbd12cac56’, ‘2020-07-26 14:33:17’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-’),
(74, 11, 1, ‘DSGVOba9194fe0f7c6516985592a2344’, ‘2020-07-27 16:26:20’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-1’),
(75, 11, 1, ‘DSGVO4ef166b1e093986c14360858799’, ‘2020-07-27 19:55:45’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-1’),
(76, 9, 5, ‘DSGVOb844599f997182c5ac65dbab542’, ‘2020-07-28 01:10:35’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-’),
(77, 11, 1, ‘DSGVO93d3eb581907370471c9610daf0’, ‘2020-07-30 15:07:19’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-1’),
(78, 11, 1, ‘DSGVO93d3eb581907370471c9610daf0’, ‘2020-07-30 15:40:11’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-1’),
(79, 13, 1, ‘DSGVOf9e192bcdcdccfd7fbad5255cfe’, ‘2020-07-30 18:23:44’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-’),
(80, 3, 1, ‘DSGVO22bff75761f509c07e1bfa68c0d’, ‘2020-07-30 23:24:04’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-1’),
(81, 11, 1, ‘DSGVO8a7d8966a4ef16af7e8b218a75b’, ‘2020-07-31 19:57:40’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-1’),
(82, 11, 1, ‘d8dabb5f456d5a2f5e43c604ce300675’, ‘2020-08-01 14:39:10’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-1’),
(83, 11, 2, ‘d8dabb5f456d5a2f5e43c604ce300675’, ‘2020-08-01 14:40:20’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-1’),
(84, 14, 3, ‘651ba31931863dd74b192c9bbb5aaf41’, ‘2020-08-01 16:26:42’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-1’),
(85, 14, 4, ‘651ba31931863dd74b192c9bbb5aaf41’, ‘2020-08-01 16:48:41’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-1’),
(86, 14, 5, ‘651ba31931863dd74b192c9bbb5aaf41’, ‘2020-08-01 17:28:04’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-1’),
(87, 14, 6, ‘651ba31931863dd74b192c9bbb5aaf41’, ‘2020-08-01 17:41:13’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-1’),
(88, 14, 7, ‘651ba31931863dd74b192c9bbb5aaf41’, ‘2020-08-01 18:11:59’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-1’),
(89, 14, 8, ‘651ba31931863dd74b192c9bbb5aaf41’, ‘2020-08-01 18:30:54’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-1’),
(90, 14, 9, ‘651ba31931863dd74b192c9bbb5aaf41’, ‘2020-08-01 18:33:55’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-1’);


– Indexes for dumped tables


– Indexes for table wp_podlove_downloadintent

ALTER TABLE wp_podlove_downloadintent
ADD PRIMARY KEY (id),
ADD KEY user_agent_id (user_agent_id),
ADD KEY media_file_id (media_file_id),
ADD KEY request_id (request_id),
ADD KEY geo_area_id (geo_area_id);


– AUTO_INCREMENT for dumped tables


– AUTO_INCREMENT for table wp_podlove_downloadintent

ALTER TABLE wp_podlove_downloadintent
MODIFY id int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=91;
COMMIT;

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT /;
/
!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS /;
/
!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

And here is the “wp_podlove_downloadintentclean” table as exported:

– phpMyAdmin SQL Dump
– version 4.9.5
https://www.phpmyadmin.net/

– Host: localhost:3306
– Generation Time: Aug 02, 2020 at 04:46 AM
– Server version: 10.3.23-MariaDB
– PHP Version: 7.3.6

SET SQL_MODE = “NO_AUTO_VALUE_ON_ZERO”;
SET AUTOCOMMIT = 0;
START TRANSACTION;
SET time_zone = “+00:00”;

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT /;
/
!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS /;
/
!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION /;
/
!40101 SET NAMES utf8mb4 */;


– Database: biloa_wp



– Table structure for table wp_podlove_downloadintentclean

CREATE TABLE wp_podlove_downloadintentclean (
id int(11) NOT NULL,
user_agent_id int(11) DEFAULT NULL,
media_file_id int(11) DEFAULT NULL,
request_id varchar(32) DEFAULT NULL,
accessed_at datetime DEFAULT NULL,
source varchar(255) DEFAULT NULL,
context varchar(255) DEFAULT NULL,
geo_area_id int(11) DEFAULT NULL,
lat float DEFAULT NULL,
lng float DEFAULT NULL,
httprange varchar(255) DEFAULT NULL,
hours_since_release int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;


– Dumping data for table wp_podlove_downloadintentclean

INSERT INTO wp_podlove_downloadintentclean (id, user_agent_id, media_file_id, request_id, accessed_at, source, context, geo_area_id, lat, lng, httprange, hours_since_release) VALUES
(79, 13, 1, ‘5008af4199503cad99e3b4762b79d157’, ‘2020-07-30 18:23:44’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-’, 504),
(47, 9, 1, ‘DSGVO0a3d860bc8553167e78e74458da’, ‘2020-07-23 21:53:19’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-’, 340),
(41, 5, 1, ‘DSGVO12f8fab77295f436bccff23778f’, ‘2020-07-20 03:59:02’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-’, 250),
(67, 12, 1, ‘DSGVO3bdb4fcf446ddac42bbd12cac56’, ‘2020-07-26 04:46:22’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-’, 394),
(45, 7, 1, ‘DSGVOcebb8127acd54f137a4377fa423’, ‘2020-07-22 04:05:14’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-’, 298),
(2, 2, 1, ‘DSGVOd3eadf162cc4e98fea34482ea50’, ‘2020-07-11 02:31:11’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-’, 32),
(18, 2, 1, ‘DSGVOd3eadf162cc4e98fea34482ea50’, ‘2020-07-11 11:28:58’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-’, 41),
(28, 2, 1, ‘DSGVOd3eadf162cc4e98fea34482ea50’, ‘2020-07-11 12:02:23’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-’, 42),
(56, 10, 1, ‘DSGVOdccd61e3dd8f217fda7cae26bc0’, ‘2020-07-24 17:34:36’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-’, 359),
(32, 1, 1, ‘DSGVOf3382d2c373f31e4098f7242e72’, ‘2020-07-11 20:10:12’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-’, 50),
(48, 9, 2, ‘DSGVO0a3d860bc8553167e78e74458da’, ‘2020-07-23 23:29:59’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-’, 341),
(40, 5, 2, ‘DSGVO2d594f8e202ab1e8eef86ea60bb’, ‘2020-07-19 19:21:51’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-’, 241),
(71, 12, 2, ‘DSGVO3bdb4fcf446ddac42bbd12cac56’, ‘2020-07-26 13:38:01’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-’, 403),
(3, 2, 2, ‘DSGVOd3eadf162cc4e98fea34482ea50’, ‘2020-07-11 02:31:17’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-’, 32),
(19, 2, 2, ‘DSGVOd3eadf162cc4e98fea34482ea50’, ‘2020-07-11 11:29:01’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-’, 41),
(29, 2, 2, ‘DSGVOd3eadf162cc4e98fea34482ea50’, ‘2020-07-11 12:02:27’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-’, 42),
(57, 10, 2, ‘DSGVOdccd61e3dd8f217fda7cae26bc0’, ‘2020-07-24 17:50:27’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-’, 359),
(33, 1, 2, ‘DSGVOf3382d2c373f31e4098f7242e72’, ‘2020-07-11 20:10:45’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-’, 50),
(49, 9, 3, ‘DSGVO0a3d860bc8553167e78e74458da’, ‘2020-07-23 23:40:40’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-’, 341),
(46, 8, 3, ‘DSGVO190ebe4f92517394b9b1e3f3046’, ‘2020-07-23 04:12:17’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-’, 322),
(72, 12, 3, ‘DSGVO3bdb4fcf446ddac42bbd12cac56’, ‘2020-07-26 14:02:41’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-’, 404),
(17, 2, 3, ‘DSGVOd3eadf162cc4e98fea34482ea50’, ‘2020-07-11 02:44:13’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-’, 32),
(20, 2, 3, ‘DSGVOd3eadf162cc4e98fea34482ea50’, ‘2020-07-11 11:32:01’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-’, 41),
(73, 12, 4, ‘DSGVO3bdb4fcf446ddac42bbd12cac56’, ‘2020-07-26 14:33:17’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-’, 404),
(60, 9, 4, ‘DSGVO97743f46137a7bcacd7005bfe4b’, ‘2020-07-25 03:43:31’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-’, 369),
(58, 8, 4, ‘DSGVOd8c063c626d2062eed9d8d5dee0’, ‘2020-07-24 20:17:57’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-’, 362),
(76, 9, 5, ‘DSGVOb844599f997182c5ac65dbab542’, ‘2020-07-28 01:10:35’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-’, 439),
(1, 1, 9, ‘DSGVO1fff74feaa058db7aec073b4f71’, ‘2020-07-09 19:43:50’, ‘webplayer’, ‘website’, NULL, NULL, NULL, ‘bytes=0-’, 1),
(10, 2, 9, ‘DSGVOd3eadf162cc4e98fea34482ea50’, ‘2020-07-11 02:39:06’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-’, 32);


– Indexes for dumped tables


– Indexes for table wp_podlove_downloadintentclean

ALTER TABLE wp_podlove_downloadintentclean
ADD PRIMARY KEY (id),
ADD KEY user_agent_id (user_agent_id),
ADD KEY media_file_id (media_file_id),
ADD KEY request_id (request_id),
ADD KEY geo_area_id (geo_area_id),
ADD KEY accessed_at (accessed_at);


– AUTO_INCREMENT for dumped tables


– AUTO_INCREMENT for table wp_podlove_downloadintentclean

ALTER TABLE wp_podlove_downloadintentclean
MODIFY id int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=80;
COMMIT;

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT /;
/
!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS /;
/
!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

The relevant entries from the first table are at the end of the list:

(82, 11, 1, ‘d8dabb5f456d5a2f5e43c604ce300675’, ‘2020-08-01 14:39:10’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-1’),
(83, 11, 2, ‘d8dabb5f456d5a2f5e43c604ce300675’, ‘2020-08-01 14:40:20’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-1’),
(84, 14, 3, ‘651ba31931863dd74b192c9bbb5aaf41’, ‘2020-08-01 16:26:42’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-1’),
(85, 14, 4, ‘651ba31931863dd74b192c9bbb5aaf41’, ‘2020-08-01 16:48:41’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-1’),
(86, 14, 5, ‘651ba31931863dd74b192c9bbb5aaf41’, ‘2020-08-01 17:28:04’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-1’),
(87, 14, 6, ‘651ba31931863dd74b192c9bbb5aaf41’, ‘2020-08-01 17:41:13’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-1’),
(88, 14, 7, ‘651ba31931863dd74b192c9bbb5aaf41’, ‘2020-08-01 18:11:59’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-1’),
(89, 14, 8, ‘651ba31931863dd74b192c9bbb5aaf41’, ‘2020-08-01 18:30:54’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-1’),
(90, 14, 9, ‘651ba31931863dd74b192c9bbb5aaf41’, ‘2020-08-01 18:33:55’, ‘feed’, ‘m4a’, NULL, NULL, NULL, ‘bytes=0-1’);

All these requests have one thing in common: bytes=0-1: that means that only one byte of the file was requested. That is usually done by clients to request metadata only, not play the file. That’s why those entries are discarded during cleanup.

What app did you use to play these episodes? Usually there are multiple requests. If the episode was downloaded or streamed, there should be more entries.

The app was one of my own creation. I did download the entire file in all cases.

If you want to try it yourself, here’s a link to a web-version of the app: https://www.loatoday.net/spa/index.html#/bi

If you’re interested, I constructed it using this component: https://github.com/redxtech/vue-plyr

If bytes=0-1 means that they only downloaded 1 byte, then I presume that bytes=0-0 means that they didn’t download anything. Yet, DB entries with bytes=0-0 get counted and added to wp_podlove_downloadintentclean, but entries with bytes=0-1 don’t get counted and added? That makes no sense.

@ericteubert Would you please address what bytes=0-0 is all about and why it’s counted when bytes=0-1 is not counted?

I wasn’t aware that bytes=0-0 is a valid/used range. They should of course not be counted and I will apply a bug fix for that case.

@ericteubert What can do with my app to insure that when an episode is played that Podlove picks up more information than just bytes=0-1?

If your app can play the file, there must be requests that ask for the whole file. Either no range header at all or bytes=0- is common as well. But that should not be something you need to manually implement. Whatever http/audio library you use, that should take care of it.

You don’t need to set a custom user agent. If you do, make sure it doesn’t look like a bot/webscaper as these requests are discarded as well.

Hi, I don’t know if that has anything to do with the problem described above, as I do not understand all that code or whatever.
But. We have a massive undercount - I don’t know, if that has to do with the latest Wordpress update, that has created a lot of trouble in other ways too.
But it is massive and the numbers shown since July 31st must be wrong. We only have this problem in the polove analytics of wochendämmerung - we have not updated our ohter podcast blogs yet, since we are afraid, the wordpress update will destroy things there too.
So - is anyone else experiencing massive undercount too?

1 Like

“Either no range header at all or bytes=0- is common as well.”

When you say that they are “common”, do you mean that they commonly mean that the file is being downloaded entirely?

Or do you mean that they are common in that they reflect a file that is normally downloading zero or only a few bytes?

Also, how exactly does the range get set? Is it a measure of how much data the app receives? Or is it a parameter that gets passed with the playable file as a part of the overall data? Or perhaps it comes with the header?

Here’s a good entry article on HTTP Range Headers: https://developer.mozilla.org/en-US/docs/Web/HTTP/Range_requests

The client sets the HTTP Range Header to request a certain amount of bytes from the server. The server replies accordingly.

When I say “common” I mean that I’ve seen requests like this in log files regularly.

@ericteubert Thanks for that!

I just found something interesting about this issue. It only happens on iOS. It’s not happening on Android, MacOS, Windows 10, or the browser version of my app. Any idea why that might be?

Another interesting problem with analytics, now with frag-mal-agi.de, the blog is also running on wordpress 5.5 and we there are no analytics showing at all since a few days. It was totally fine until then - is it possible, that 5.5. is a trouble maker in some ways for podlove? Bildschirmfoto 2020-08-27 um 10.16.54

@dieKadda It doesn’t sound like your issue is the same as mine. Try going into your WordPress admin panel and go to Podlove > Tools. On that page, scroll down to the General Maintenance section and click Attempt Repair. See if that helps.