When walking on an indoors track, GPS is not available, so some other algorithm for distance is used. You'd think that it would equal steps x custom stride length but, according to tech support, stride length is not used. The distance reported when not using GPS is often majorly inaccurate as compared to steps x custom stride length.
Note: When mentioning walking, the walking activity is turned on each time. My devices have firmware 4.60 installed.
To test distance measurement, I've been walking the exact same route of 5.1 km outdoors, sometimes with GPS, sometimes not. For testing purposes, I've been wearing TWO Vivosmart 4s on the same wrist (one borrowed from my wife, reset to my parameters).
Every time I used GPS, the distance reported was consistent, less than 0.1 km variability.
But without GPS, the distance on device #1 was way too low, ranging from 4.1 km to 4.6 km -- an average of 15% low. On device #2, the distance was much closer, ranging from 5.0 km to 5.2 km.
"Too high" bug. If I reset the customized stride length (supposedly not used) minimally, and then walk without GPS, the subsequent distances reported on both devices are about 20% too high -- 6.0 km or 6.1 km. Once I walk again with GPS, the "too high" bug disappears. I found this bug by accident. I've done this test more than once, with the same results.
Recently, after walking with GPS and then walking without GPS, device #1 reported low as before, but device #2 also reported low, whereas before it had reported slightly high.
Note: When starting the walking activity, it's necessary to choose GPS or not GPS. It's difficult to select not GPS -- have to tap or double tap the icon multiple times to select it. And while I'm at it, the lap vibration works less than half the time.
Bottom line: Based on tests using two Vivosmart 4s, this device is not reliable for reporting distance accurately when walking without GPS -- may be 15% low or, if the "too high" bug is active, 20% too high.