I had this problem in which for some reason, especially on monday when I sync the weekend activities, the monitoring data about steps and sleeps were not present on Connect although Express says that all is synched successfully.
In the end I found the following solution, but beware that It is based on the internal structure of Express that can change without warning by Garmin, use it at your own risk.
the following instruction are based on a Mac installation but I think they could work for windows installations too.
open a finder at this location, taking care substituting <YOUR-USERNAME> and <DEVICE-ID> with your own data:
/Users/<YOUR-USERNAME>/Library/Application Support/Garmin/Express/RegisteredDevices/<DEVICE-ID>
here you will see a folder named:
PendingSyncUploads
and a file named:
CompletedUploads.plist
With my FR15 connected, I opened the folder Garmin/MONITOR on the watch, on which the watch stores all its files.
Then I have identified a file "not syncronized" (47J00000.FIT for example using the timestamp of the file) and checked it against the content of CompletedUploads.plist
It was not there, well at least it is not considered as completed.
I checked the file against the PendingSyncUploads folder's content and it was present (with 10 others files) !
So it is considered pending but for some reason Express does not try to resend to the server.
My guess was that removing the file from the PendingSyncUploads, it would be considered as "new" file and Express would try to upload.
So I've done the following:
closed Garmin Express
disconnected the watch
copied all the files contained in PendingSyncUploads in a backup folder (on the desktop for example)
deleted all the files contained in PendingSyncUploads.
Attached the watch, Express was automatically launched and the sync was successfull (as always), I've checked on the Connect site and voilà all data was there.
I've checked again the CompletedUploads.plist file and now the file was there :)
I hope that this will help someone else.
Cheers,
Antonio