Garmin quietly rolled out an update yesterday that means you’ll now get training load updated on your Garmin devices for workouts done in Zwift, TrainerRoad, The Sufferfest, and the Tacx App, all without using a Garmin device to record them.
You’ve long been able to link up your Zwift/TrainerRoad/Sufferfest/Tacx app accounts to Garmin Connect, which then automatically sends completed rides/runs to Garmin Connect. However, those workouts didn’t accrue any training load or recovery time on your Garmin watch or bike computer. Thus, you still had to start a workout on your Garmin device, even for a simple indoor ride with Zwift. Else, you’d lack the correct data on your watch. But now, that’s no longer required.
I’ve been testing this feature for a few months, and it works pretty darn well. It doesn’t cover every single edge case, but it does nail the core pieces people (including myself) have been complaining about for years. And it sounds like this is sorta the first layer of that onion that Garmin is trying to peel back and sort out. All of which notably coming after the Firstbeat acquisition last year (almost exactly a year ago).
How it works:
So, let’s walk through how it works with some handy before/after type photos and screenshots. But first, at its core, this is the basics of it:
1) Ensure your Zwift/TrainerRoad/Tacx app account is linked to Garmin Connect (if you did this before, you’re good to go)
2) Do a workout on one of those platforms, no need to start your watch
3) Post-workout, sync your watch, and it’ll now show the proper training load and recovery time
Note that your watch will sync automatically. So realistically that by the time you get out of the shower, it’ll have done all this for you behind the scenes. Unless you don’t shower after a workout, in which case training load is the least of your issues.
To begin, here’s my watch pre-ride. For this example I’ve got a nice easy recovery ride of sorts. But it shows exactly how this works. Note my current training load is 608, and as I got on my bike in the shed, my recovery time showed 0 hours:
Now, I jump on Zwift. In this case, the *ONLY* device I’m using to record Zwift is Zwift itself. I’m wearing my watch, but not starting a workout. It doesn’t matter if you wear your watch (or, if an Edge device, if it’s sitting in your fridge). I’m just wearing it because that’s what you do with a watch. In any case, Zwift I go:
After completing the 30-minute ride, you’ll see the ride/workout show up on my Garmin Connect app. It’s labeled from Zwift, and even includes a nifty map outline:
(You can see how much I care about updating the default bike in Garmin Connect, for which I haven’t changed in exactly 10 years to the day)
Note: What follows is explaining how this works for geekiness, but practically speaking, again, if you take a shower, this all happens quietly and invisibly behind the scenes by the time you get the shampoo in your hair. There’s nothing you have to do here except ride your bike and save the workout on your Zwift/TrainerRoad/Sufferfest/Tacx app. That’s it.
However, what’s notable is at this very moment (for the next minute or so), my training load hasn’t actually updated yet – and it still shows 608. Why?
Well, that gets into the nuances of how Garmin Training Load works, which is actually calculated on the Garmin device itself (not on Garmin Connect). That leads to lots of other quirks (and benefits), but we’ll table that rabbit hole for the moment. What this means is that in order to calculate the training load, that Zwift workout needs to get to my watch. By default, Garmin Connect Mobile is always syncing in the background, so realistically this only takes about a minute or two until it shows up there. At which point, you’ll now see my increased training load on the watch (637 vs 608 prior):
And, if you scroll down a bit, you’ll see my newly added recovery time too:
Now, as soon as the watch gets this data, it actually has to send it back to Garmin Connect so the app knows of the new training load value. Thus, again, there could be a slight bit of lag here. Maybe a minute, maybe less…maybe more. But, once it does, you’ll now see the new training load value (637 now, instead of 608) in Garmin Connect too, and in fact the exact load is shown in the training load section (Load: 29) on June 12th, and showing the proper benefit area “Recovery”.
And thus, the circle of life is complete.
And again, all this happens for TrainerRoad the same way. Here’s what the watch looked like pre-ride, note the load of 523:
Then, I did the workout on TrainerRoad, without starting my watch:
And then, post-workout/sync – now showing a load of 655, some 132 units higher than the initial 523 value.
Neat, huh? As I said, it’s as simple as ride (or run), and it updates it.
Now, I’m gonna take a stab at some FAQ’s here, though, I’m sure there will be plenty.
How do I connect Zwift to Garmin Connect?
Simply go here, and then link your accounts together.
How do I link up TrainerRoad to Garmin Connect?
Here’s a good article explaining it.
How is this different than Physio True-Up?
It’s part of Physio True-Up. That’s the feature that syncs your workout-related data between multiple devices so that if you do a ride on your Edge 530 it’ll sync to your Forerunner 945. Of course, in practice, we all know that can be messy. Though, I assure you – nobody has as messy an account as I do, with dozens upon dozens of devices. Garmin sticks pins in a Ray voodoo doll every time I stumble onto something with my Physio True-Up stats. Still, for the most part, it works until it doesn’t. The core sticking point is that training load is calculated on a per-device basis, so you can get weird sync issues, especially with not-always-on devices like an Edge.
Which devices does this support?
Essentially, anything with so-called ‘Training Load’, which means you’ll see a load-specific number somewhere on your device. The current list of devices supported by it:
D2 Delta series
Descent Mk2 series
Edge 1030 Plus
fenix 5 series
fenix 5 Plus series
fenix 6 series
Forerunner 645 series
Forerunner 945 & 945 LTE
quatix 5 series
quatix 6 series
Can other apps do this too?
Nope. At present, it’s just those four (Zwift/TrainerRoad/Sufferfest/Tacx), largely because those are the only four apps that have permissions to push completed workouts INTO Garmin Connect. Countless apps can receive workouts from Garmin Connect, but only these four are the anointed ones. I’ve long argued that Garmin could stand to gain quite a bit by allowing more apps to push into Garmin Connect (akin to how Strava works), and they’ve long ignored.
Will my Wahoo bike computer now update my Garmin watch?
Nope. Per the previous one, only workouts that come from those four sources are being calculated. Trust me, I tried.
Why didn’t my Zwift/TR/Sufferfest/Tacx ride instantly update the training load on Garmin Connect Mobile?
Remember, it has to talk to your Garmin device. That’s especially notable for the Edge series devices, which you probably left powered off. Thus, if you want it to update training load in Garmin Connect, you need to power that device on and let it sync (both directions, or basically, twice). For watches, this happens pretty quickly in the background, so it’s less obvious.
Does this require anything on the Zwift/etc app?
Yes, it requires you use at least a heart rate monitor, and ideally a power meter source (trainer or power meter) for the most accurate data.
Does it show Training Effect?
No, not at this time. So you won’t get the Aerobic/Anaerobic breakouts of training effect. It sounds like this isn’t a case of ‘never’, but more a case of ‘trying not to boil the ocean’.
I’ve long noted that Garmin has historically held off on these sorts of deployments as they try and solve every single little aspect of it, rather than fixing the core issue that people primarily care about, and then circling back later to finish up the minor things most people don’t care about. So I’m actually glad we’ve got this today, versus waiting who knows how many months or something for things like Training Effect breakouts. Just my two cents though.
What about Zwift Running?
Don’t worry, while Zwift might ignore Zwift running, Garmin didn’t. A Zwift run with heart rate will provide Training Load, Training Effect, and Primary Benefit with one caveat, you will not get VO2Max estimates, as those require GPS speed/pace and so if you do not get one of those for 2 weeks outside, Training Status will go into a No Status state as it does today.
I’ll add more questions here as they come in.
With that – thanks for reading!
I have tried this yesterday, the Zwift workout does show up in Garmin connect, yet no sign of it in on my Forerunner 945. Even after a day. No change in training load. This is disappointing…
Also FR 945
I’ve tried adding an outside ride (with no power meter though), like suggested by others.
I’ve also ridden different trainers on Zwift.. can’t make it work..
only been riding with with a wahoo tickr HRM – donno if that could be the problem in my case?
But so, so disappointing.. donno what to do.
Hope someone has an idea?
I’ll start dual recording my activities now, as I lost fate in this feature..
Right, just checked this out as I have huge issues in integration of Zwift into Garmin connect. I have realized that Zwift 3rd party integration only show on an Apple devices. I def do not have this on my Android, which is annoying as I use Android primarily. Regardless even having both phone (iphone and android) linked to GC, the integration is appalling… No count of intensity minutes when syncing a zwift ride, count of Calories sometimes doesn’t even add up to your day calories.
So I just received my garmin 255 and THANKFULLY it is working with my power, distance, cadence etc. All of the Daye os properly being displayed and recorded on my watch and in connect.
1) on watch, search for power sensor (smart trainer and connect). I am using Saris H3.
2) start your riding app (Zwift, RGT etc) and make sure the devices power, HR, cadence are showing as active and paired.
3) Record the activity on the watch. I’ve given up with having training peaks,Zwift etc from properly pushing completed workout to my watch.
I hope this helps someone.
My conclusion is anyone else who wants to cycle indoors the jump from the Garmin 245 to the 255 is well worth it!
Hey, you should do an outdoor ride, recording on your watch, then a Zwift ride should also work. If it is a new 255 you need a seed ride before it can work out the numbers from virtual rides.
I have never heard that before but I will look into it. My smart trainer is calibrated so I’m ssuming the numbers the watch is receiving from it should be accurate.
I felt the same, but Garmin support told me they needed a seed ride recorded on the watch (mine was a new 955). I recorded one indoors and outdoors before I did another virtual ride, so I’m not sure which is required but I expect outdoor. Now mine calculates the load, etc from Zwift data (without even wearing my watch).
I really hope this “seed ride” isn’t true as winter here sucks and riding outside is not an option. Just got a 955 for early Christmas and intensity minutes is one of my more important metrics to try to at least just maintain fitness and not lose motivation during these crappy weather months but am having trouble finding another possible solution.
The “seed ride” doesn’t have to be outdoors- it can be on your trainer.
Seems not working on my E1040 sw 14.50 🙁 Pitty
Seems working only on different watches, but not working on Edge units. Is there any reason for that?
Does this work with FulGaz /Rouvy in 2022?
So, Been using Zwift with Wahoo Kickr for a couples years now. Been using Garmin Edges and Garmin Connect since 2009. I linked my Zwift account to Garmin Connect…. None of the Training Effects show up in Garmin Connect App for imported Zwift rides as you described. On another note, I find it mind numbing that Garmin Connect won’t credit any imported Zwift rides toward the Garmin Connect Monthly/Quarterly Challenges! Apparently, for Garmin Connect to count a ride towards a Garmin Connect Challenge, it must be recorded on a Garmin Device… smh.
any way we can get connect to default to the indoor bike (gear) when syncing with zwift?
How do I get garmin suggested workouts to collaborate with zwift, or do I just have to pick one or the other for direction. I’m not too familiar with zwift yet.
Training effects now seem to be working and included. I am not sure when this was implemented but my ride on the Tacx app yesterday included Training Effects in Garmin Connect despite my not using the Edge 1040 (I did sync it after the ride).
Have you done an article (I cant find one) on how best to follow a Garmin training plan, with some rides in Zwift and some IRL.
I have just followed one suggestion I found which is to have my Garmin (Edge 1030 Plus) control my Tacx trainer, as well have Zwift receive power etc info from the trainer (but disable control). This is kind of OK, but far from optimal (I end up with 2 rides on Strava/Connect), and it would be so much nicer if Zwift could just do the required workout.
I guess I could manually follow the required power output levels dictated by the Garmin plan, but that would loose the benefit of it being controlled.
This is quite important as I dont just ride/train on Zwift.
Lots of people must face this same problem, or am I missing something
Had the same issue a few months ago. There’s no perfect solution to that.
But.. I have disabled auto-sync of activities from Zwift/Rouvy to GC and left only sync to Strava. I start the ride on both Garmin device and Zwift or Rouvy at the same time, of course allowing Garmin to control the power. If you end on both (Garmin and Zwift/Rouvy) at the same time and save them you’ll end-up with one activity in Garmin and one on Strava, the one on Garmin seems not overwriting nor doubling the one on Strava. Downside is that you don’t get elevation/map on Garmin, but you get a lot other useful data directly from the device and elevation/map – you have it on Strava.
I dont think I’ll disable that zwift -> GC sync, and will just delete the zwift activity.
The ideal solution would be for Zwift to somehow accept import of GC custom workouts.
I dont believe that Zwift accepts any workout importing, so this solution is some ay off!
Zwift does accepts workout imports. If you can export the Garmin workout, it can be imported in Zwift.
But the problem is the Garmin export I believe.
There are all kinds of custom workouts that can be imported into Zwift. For example, this is just one site…. link to 719ride.com The issue is the Garmin workouts are HR centric and the Zwift app is Power/FTP based. I created a personal workout in Zwift using the Garmin HR values and put those into the workout as notes. The problem was the the ERG controller on my Wahoo is controlled by Zwift and doesn’t care about HR’s. That caused problems because doing intervals I just spun out immediately without the resistance the ERG provides.
I gave up trying to find a way around it. I know there is a way to use your Garmin to control the trainer and still be in the Zwift app but it has other compromises. I ended up giving up and am using one of the Zwift training plans. Comparing the Garmin Gran Fondo training plan with the Zwift version I found lots of similarities and think it is close enough.
I created my Garmin training plan with power meter support, so maybe it works better on a trainer because of that. I dont have a power meter on any road bikes, so when I do the longer road sessions I just use the HR zones that match the power zones it asks for (I dont do high intensity intervals on the road anyway, so its just L2/L3 stuff).
I dont do all my training on Zwift or all on the road, so I use my Garmin to control the trainer (turning off Zwifts control of it), but still get to ride on Zwift. I just get 2 recordings, and keep the Edge 1030 one on Garmin site, and the Zwift one on Strava.
Do you know if this currently works for Concept2’s logbook?
I’m not sure how to quantify this. It can push to garmin connect for sure, I’m just not sure they count.
Is it better to keep the Zwift datas or the Garmin datas when the session is recorded by both devices and seen the difference of collected datas ?
> Can other apps do this too?
> Nope. At present, it’s just those four (Zwift/TrainerRoad/Sufferfest/Tacx)
I know this might interest only other Indie App developers like myself, but nevertheless decided to added here.
If you have a .FIT file which is not recorded with one of those four. You can still fly around the current limitations if you change a few things in the file so that it appears to be produced from a Garmin navigation. You will have Training Load and Recovery Time update on your Garmin watch when you upload it to Garmin Connect.
What you need to do is in the File Id message set manufacturer to Garmin, product to say Edge 1030, add a serial number field, and add File Creator message with software version value say 29.
That is a kind of trick but still, thank you ! could be geekly useful if you have time ! 😉
Is there any online tool to this?
A great post – thanks! Bummer that my vivoactive 4S doesn’t support this. But, my 1030 does. I tried it today and it worked like you explained.
Question – is there some way to get it to work with Zwift rides from the last couple weeks? I tried “sending” a Zwift ride from yesterday to my 1030 but that only sent the course over.
Recently I had case where data from Zwift were not fully synchronized with Garmin connect. I did not get workout itself, but strangely I get daily active calories updated. So far workouts were coming to connect with no issues…
Is there any way I can get that workout in to have my straining status data updated?
Hi Ray, can you use your power of influence to get Garmin to let Zwift activities add into the monthly challenges. That’s the one piece in the puzzle that’s keeps me dual recording.