This weekend, I ran a 20-mile marathon training race wearing four fitness watches — the Garmin Fenix 8, COROS PACE Pro, Apple Watch Ultra 2, and Google Pixel Watch 3. I felt like a weirdo, but it was actually a really useful opportunity to check which metrics are most consistent across brands — and which are most likely to be wrong or random.
I usually wear two smartwatches at any given time during runs, and I once wore six watches for a step-counting test. Usually, I’m on quiet trails where my absurd tech habits don’t attract much attention, but I knew that wouldn’t apply during the Run the Parkway race, which had nearly 1,000 runners.
Thankfully, the mid-40ºF weather let me wear long sleeves, hiding my silly appearance at first. But it started warming up, and my sleeves started activating some watches’ touchscreens and messing things up. So I rolled them back and saw spectators and runners alike glancing confusedly at my wrist-laden arms.
Whatever they thought of my bizarre appearance, I got some great data out of the 20-mile race, summarized in the table below!
Category | Apple Watch Ultra 2 | COROS PACE Pro | Garmin Fenix 8 | Google Pixel Watch 3 |
---|---|---|---|---|
Distance | 19.92 miles | 20.11 miles | 20.08 miles | 20.19 miles |
Pace | 9:38/mile | 9:33/mile | 9:34/mile | 9:31/mile |
Ascent | 675 feet | 709 feet | 676 feet | 680 feet |
Avg. / max heart rate | 168 bpm / 179 bpm | 168 bpm / 182 bpm | 168 bpm / 182 bpm | 167 bpm / 181 bpm |
Running power | 250 W | 264 W | 351 W | Unknown |
Calories | 3,016 kcal | 3,332 kcal | 2,773 kcal | 3,190 kcal |
Training load | Unknown | 781 | 362 | 565 |
Steps | 31,958 | 32,247 | 32,196 | 32,192 |
Cadence | 162 spm | 163 spm | 162 spm | 162 spm |
Stride length | 1.02m | 1.03m | 1.03m | 1.03m |
Vertical oscillation | 9cm | Unknown | 8.6cm | 7.7cm |
I finished the first 13.1 miles at a solid 1:55:31, or 8:49 pace, but my muscle soreness made me walk-jog the last five miles in the 11/12-minute range, skewing my running form stats. But I’m still generally happy with the results as I return to marathon shape for 2025!
Note: My Apple Watch Ultra 2 randomly stopped my activity by itself due to random touchscreen inputs from my sleeve. I thankfully noticed it quickly and started a new workout, but had to add up and average data from 4.5-mile and 15.4-mile activities, and the final distance probably would have been above 20 miles if not for this snafu.
Consistent data across brands
That Apple workout glitch aside, all four watches were pretty close in total distance and pace and were basically in lockstep in areas like average heart rate, steps, cadence, and stride length.
Despite their different HR algorithms, accelerometer tech, and positions on my arms, they nearly matched when calculating how far and often I stepped — and how hard I was pushing myself — across three hours. That’s impressive!
In terms of distance, I immediately noticed that the GPS-only Pixel Watch 3 buzzed my wrist that I’d finished my first mile well before the others, then fell into a consistent pattern of marking each finished mile about 0.1 miles before each mile marker. Despite the lack of signal blockage on my route, a GPS-only watch is only adequate at the best of times compared to the dual-band results of my other three watches.
I already wrote about the COROS PACE Pro’s GPS accuracy compared to the Fenix 8, and that held true here: Like the Pixel Watch 3, it marked me finishing my first mile before the Fenix 8, but then it held the same position for every subsequent mile, beeping about 10 running strides before the Fenix 8 all the way to the finish.
For elevation data, Apple, Garmin, and Fitbit were all within 5 feet of one another, while COROS slightly overestimated my effort. The PACE 3 did better in my past elevation accuracy test, so I’m curious if the PACE Pro altimeter needs some tinkering. Otherwise, I’ve found almost any watch with an altimeter gives pretty consistent ascent data.
As for HR accuracy, I paired my COROS HR armband to the Pace Pro for a baseline against the other three watches, and the results were predictable: the Fenix 8 is excellent for optical HR accuracy, while the Pixel Watch 3 is steady but tends to fall a little short for anaerobic heart rates. The Apple Watch Ultra 2 also seemed to do well on average but fell a few beats short of my max HR.
Where fitness watch data diverges
Considering how consistent the results were in some areas, it’s a bit surprising how different the four watches’ results were in other areas:
Running power: Some of the best fitness watches calculate the energy put into your run based on factors like speed, cadence, stride length, and vertical oscillation so you can determine your stride’s efficiency and your overall effort. You’d think my running power data would have been closer across brands. Instead, Garmin put my effort about 100W higher than the other two that tracked that data.
I know a lot of runners and experts put stock in using running power instead of pace to determine how well or fast they’re running, especially on hilly or windy courses. But I’ve noticed this variation in running power across brands before, and if they can’t agree on my wattage for a flat and non-windy course, it makes me leery of using this metric as my benchmark while running. It’s something I want to try and test more in the future.
Training load: TL is more of a proprietary data point, even if they all use some form of the training impulse (TRIMP) method. So, I’m not surprised that brands differ in how they calculate it. But it’s still fascinating to see COROS give me more than double the training load Garmin does with near-identical stats, with Fitbit’s Cardio Load falling squarely in the middle. (Apple’s TL is all about charts relative to past weeks and doesn’t put a number on workouts.)
For what it’s worth, I’ve noticed in the past that Garmin can be a bit conservative with its training load estimates (especially for long hikes) and isn’t very good at splitting low/high aerobic and anaerobic loads for one activity. Meanwhile, COROS gives out TL like candy on Halloween, overestimating my effort. In this case, I think Fitbit’s TL might win the Goldilocks “just right” award here.
Calories: This is another fitness metric I’ve been side-eyeing for some time. After any activity where I wear two watches from different brands, the final burned-calorie count is different, no matter how similar the mileage and HR totals are.
This 20-miler only made the differences even starker, with a 500kcal gap between COROS and Garmin. But you’ll still notice a difference for shorter runs or walks, whichever fitness watch you buy. And anyone trying to lose weight or judge their caloric need for the day will make very different life choices based on this data.
I’d love to figure out which brand is most accurate for caloric burn. But unlike when I’m testing GPS routes against satellite maps or heart rate against arm or chest straps, I don’t know of any way a layman can test the results outside of a lab.
Finding a running watch you can trust is important
This experience taught me two things. One, don’t tell your boss, “Hey, I’m running a race this weekend; is there anything I should test?” It’ll only lead to embarrassment and spending hours the day before charging all your watches. Two, running watches are getting better and more reliable for raw data than ever, matching each other across brands in ways that count.
Garmin is still my preferred running brand because I’ve been using its training load, suggested workouts, and recovery data for years, and a lot of runners trust its accuracy. But tests like this make it plain that other brands can be trusted too, at least on the hardware side. And even if watches like the Apple Watch Ultra 2 and Pixel Watch 3 are more for “casual” athletes in terms of software, they’re getting better and better every year.