Every ultra runner has been there. You check the race website and it says 4000 metres of gain. Your Garmin mate says their watch recorded 4300 last year, and your Coros mate says 4500. Strava claims it is only 3800. All the people who think they have the right answer are most likely mistaken.
The short answer is that every version is technically wrong. There is no such thing as a perfect ground truth in GPS mapping. Instead, we have different interpretations of the terrain that are all good enough for training. Here is why the numbers never match up.
1. The Map Source
It starts with the base map. Many platforms use a 30 metre digital elevation model which only takes a height reading every 30 metres. If there is a sharp five metre dip or a short pinch between those points, the map misses it entirely. This undersampling usually leads to lower total gain.
On the other hand, LIDAR (Light Detection and Ranging) maps are incredibly detailed, often taking a height reading every 1 metre or less, but they can be noisy. They might pick up the top of a tree canopy or a large boulder, adding tiny vertical spikes that are not actually on the trail.
2. Software Smoothing
Once your chosen app or software has the data, it has to decide how much of it to believe. GPS data is naturally messy. If your watch signal bounces while you are moving slowly up a steep climb, the raw data might show a massive 30% grade spike that did not happen.
Software uses algorithms to smooth this out, think a smarter version of a rolling average. Aggressive smoothing clips the peaks and troughs, which often makes a course look more runnable and flatter than it actually is. Light smoothing keeps that punchy trail character but risks keeping fake stuff in. If two platforms use different smoothing windows or different thresholds for ignoring tiny movements, your elevation stats will shift, which explains the variance in the total output.
The Watch Misconception
A common thought is that a watch recording with 1 second readings must be the most accurate because it has the most data. In reality, more data often just means more noise.
When you record every second, you capture every single micro-bounce of the GPS signal. Over a 100km or 200km race, these millions of tiny pings accumulate into phantom vertical gain. This is especially true at aid stations where the signal bounces around while you are standing still and stuffing your face with tasty treats. You also have to contend with barometric drift as the weather and air pressure change over a long day out.
Event GPX files are often more truthful because they are idealised. They are snapped to a high resolution grid and stripped of all that extra fluff and jitter.
So, whether you're pulling numbers from the event website, your Garmin, or last year's Strava segment, they're all close enough. Distance is the reliable one, the total and the gaps between aid stations are accurate enough to build your nutrition and pacing around. Treat the vert as a rough steer, not a target.
Now that you understand the data, use the gpx2vert tool to upload your own files from Strava or race websites. It breaks down the course to show exactly how much distance you’ll spend on each grade of climb