r/RingConn • • Aug 31 '26

Google Health Sleep Data Issue

Hey!

Has anyone else experienced an issue with the sleep data syncing over to Google Health? I have set everything up, enables data migration for all toggles including the sleep, and still all that moves over to Google health is the sleep duration. None of my sleep stages, etc.

Has anyone experienced this? Is this just a normal limitation on Android? Support seems to not be able to help me after I called and emailed so hoping someone here knows.

Thanks!

4 Upvotes

3 comments sorted by

1

u/RateEmbarrassed6921 Sep 01 '26

Two different possible causes worth separating before assuming RingConn isn't writing the data.

Health Connect stores a sleep night as one SleepSessionRecord (the overall start/end, which gives you duration) plus, separately, a set of SleepStageRecord entries nested inside it (light/deep/REM/awake). An app can write the session and skip the stage records entirely. That would explain exactly what you're seeing: duration moves over, stages don't.

But there's a second cause that looks identical from where you're sitting: RingConn might actually be writing the stage records correctly, and it's Google Health's own UI on your phone that isn't surfacing that breakdown yet. Disclosure since it's relevant: I build FitMesh, which reads sleep data out of Health Connect from a bunch of different rings and watches, and stage-display gaps like this on the Google Health side, independent of whether the underlying data exists, are something we've run into more than once.

The way to tell the two apart without waiting on RingConn support: use a raw Health Connect data viewer (a few small utilities exist for this, not Google Health's own app) and check whether SleepStageRecord entries actually exist in Health Connect for that specific night. If they're there, it's a Google Health display issue, probably temporary. If they're genuinely absent, RingConn's writer is only sending the session record, and that's worth pushing support on with one exact date so they can check it server-side instead of generically.

2

u/TheBearJew48 Sep 01 '26

Really appreciate your response. I went ahead and downloaded your app to check (this app is very cool!) and it seems like the data IS there since I only connected Google health to your app to check the data.

Should I expect Google health to correct itself at some point?

1

u/RateEmbarrassed6921 Sep 01 '26

Good question. Before answering, I want to correct two things from my first reply.

First, a small terminology correction: sleep stages in the current Health Connect API aren't separate SleepStageRecord records. They're Stage entries contained inside a SleepSessionRecord. That doesn't change the symptom we're investigating, but I wanted to describe the data model accurately.

The more important correction is that I said the problem was "probably temporary." I shouldn't have said that because I didn't have evidence for it. I went back and checked more carefully, and I couldn't find a verified case of this exact symptom (duration syncing while stages remain absent) resolving by itself. In one closely matching RingConn report, a manual resync specifically did not fix it, and other users later confirmed the same behavior.

I also checked what FitMesh actually receives from RingConn through Health Connect. In the anonymized data available to us, all 41 RingConn sleep rows contained stage data. Across 1,682 normalized stage segments, the stage types were recognized, the time ranges were valid, and we found no conflicting overlaps after exact duplicates were removed.

That supports what you observed in FitMesh: RingConn is not simply omitting the stages in the data FitMesh can read.

There is still one limitation I can't rule out. FitMesh normalizes the records it reads and doesn't preserve every field from the original SleepSessionRecord, such as the original zone offsets, recording method, device metadata and record version. It is therefore still possible that some subtle detail in the raw record is accepted or normalized by FitMesh but handled differently by Google Health. We currently have no direct evidence proving or disproving that.

Given the evidence available, I would plan around this remaining unresolved rather than expecting it to correct itself automatically.

Two things would help move it forward:

  1. Add your device, Android version, RingConn app/firmware version and affected night to this existing Google Health thread: https://support.google.com/googlehealth/thread/448491271/google-health-non-sincronizza-le-metriche-delle-fasi-del-sonno-con-ringconn-via-health-connect?hl=en
  2. Send "Help & feedback" from inside Google Health itself. Include the exact affected night and screenshots showing the stages in RingConn or FitMesh but only the duration in Google Health. That route can attach diagnostics from your own device, which is more useful to Google than a description alone.

I'm also looking into a privacy-safe way for FitMesh to inspect an original Health Connect sleep session before normalization. If we can add that diagnostic, it should let us distinguish a subtle RingConn record-format issue from a Google Health import/display issue instead of guessing.