Troubleshooting your data
Written By Martijn Russchen
Last updated 4 days ago
Why an activity has no TSS or training load
If an activity shows no TSS (training load) or empty training zones, it's almost always about how the activity reached Intervals.icu, not a bug. TSS and zone analysis need the full per-second power or heart-rate streams from the original .fit file:
Summary-only sources (Fitbit, Google, Whoop) hand over only totals (duration, distance, average HR), so there is nothing to compute TSS from.
Strava-only activities cannot be read at all (Strava API terms), so they carry no load.
No power or heart rate recorded — a ride without a power meter or an HR strap has no intensity signal to turn into TSS.
The fix in every case is to get the full activity into Intervals.icu through a direct device sync. See Missing or zero data below for exactly how, per source.
Missing or zero data
Data quality depends on how your device syncs to Intervals.icu:
Best — direct device sync: Garmin, Wahoo, Coros, and Zwift send .fit files with full power, HR, cadence, and GPS.
Strava sync: Strava's API terms prohibit Intervals.icu from sharing Strava-sourced activity data with apps like IntervalCoach. If your activities only reach ICU via Strava, we can't read them. Fix: connect your device directly to Intervals.icu (keep Strava connected too) — ICU replaces the Strava copy with the original, no duplicates. The "Import All Strava Data" button also works (those imports aren't restricted).
Summary only — Fitbit, Google, Whoop: these APIs provide only summary data (duration, distance, average HR). TSS and zone analysis need per-second streams, so these show minimal metrics.
Apple Watch: sync your workouts through the IntervalCoach iOS app — turn on the Apple Health integration (app → Settings → Apple Health) and your Apple Watch activities are pulled in directly, no third-party export tools needed.
If data looks wrong, check your Intervals.icu activity page first — IntervalCoach can only use what ICU receives.
Why my Form (TSB) or weekly TSS looks too high — duplicate activities
If your Form (TSB) suddenly drops far too negative, or your weekly TSS / training load reads higher than what you actually did, the cause can be the same activity sitting in Intervals.icu twice. Intervals.icu normally merges two copies of the same activity automatically, so this is uncommon — it usually only happens when the two copies don't line up for that automatic match, most often because they have slightly different start times. Typical culprits: the same session recorded on two devices (e.g. a bike computer and a watch), a file uploaded by hand that also synced automatically, or the same ride imported twice.
Two copies double-count the load: a 192 TSS race becomes 384, which spikes your fatigue (ATL) and drags Form down. IntervalCoach reads straight from Intervals.icu, so the duplicate flows through to your dashboard.
The fix is on the Intervals.icu side: open your activities for that day and look for two near-identical entries (same duration, same TSS, often one with the event name and one with a generic name). Keep the one with the full data (power, heart rate) and delete the other. Your Form and weekly TSS correct themselves on the next sync. To avoid duplicates going forward, make sure only one path delivers each workout into Intervals.icu. Recording the same session on two devices is fine (for example a virtual training app like MyWhoosh or Zwift plus a bike computer, so the ride also lands in Garmin Connect) — just disconnect one of the two uploads to Intervals.icu, in that app’s connection settings or on the Intervals.icu settings page, and let the copy with the best data be the one that arrives — see Missing or zero data above.
Wrong resting HR or HRV
These come straight from your Intervals.icu wellness data — IntervalCoach reads, it doesn't calculate. If they look off: (1) verify them on the Intervals.icu Wellness page, (2) check your device is measuring RHR during sleep, (3) for third-party apps (HRV4Training, Oura) confirm the scale matches what ICU expects. Once correct in Intervals.icu, they're correct here.
A wrong power record (spike) in my power curve
A power meter sometimes records a spike, for example 1,000 W for a few seconds, that you never actually rode. It then shows up as your best 5-second or 1-minute power. IntervalCoach reads your power curve from Intervals.icu, so the fix is there, and IntervalCoach follows automatically:
Find the ride: on your Intervals.icu power curve, the point for that duration shows which ride it came from.
Fix the spike: open that ride, go to Actions → Edit data, scroll to the moment of the spike and replace the value with a realistic one. The rest of the ride keeps its power.
Or drop the whole file: if the ride's power is wrong throughout, Actions → Settings → Ignore power removes power from that ride entirely.
A short spike only affects your sprint values. Your FTP and training zones are not based on a 5-second peak.
Running emails when you didn't run
If you get "Analysis: Running" emails for activities that weren't runs, your watch is auto-detecting movement and syncing it to Intervals.icu as a run. Fix it by turning off movement auto-detection on your watch (Garmin: Activity Tracking → Auto Activity Start; Apple Watch: Workout → Auto-detect Workouts), and deleting or reclassifying the activity in Intervals.icu. IntervalCoach analyses whatever the sport is labelled as in ICU.
Does IntervalCoach change my activity descriptions?
By default, no. Writing post-workout analysis back to your Intervals.icu activity description is off until you switch it on in Settings → Integrations ("Sync analysis to Intervals.icu"). When it's on, IntervalCoach appends its analysis below a separator line, beneath whatever is already in the description — it never replaces your own notes. Prefer to keep descriptions untouched? Leave the toggle off. You can also delete the IntervalCoach section from any activity by hand and it won't be re-added for that activity. Because Intervals.icu can push descriptions on to Strava, this toggle also controls whether the analysis appears there.
Analysis not showing on Strava
Intervals.icu doesn't upload rides to Strava. It updates the Strava copy of a ride that your device or app already put there, so both connections have to stay on:
Your device uploads to Strava directly, for example Garmin Connect → Strava. Leave this connection on.
In Intervals.icu, Settings → Strava: turn on "Keep non-Strava activities in sync with Strava" and "Update Strava name and description".
Intervals.icu links the two copies of a ride automatically. When a single ride is missing the analysis on Strava, that link usually didn't happen. You can spot it when the ride has a different name in Intervals.icu than on Strava.
To fix one ride:
In Intervals.icu, go to Settings → Strava and click Download old data for that day. Intervals.icu fetches the Strava copy again and links it.
Open the ride in Intervals.icu, change one character in the description, and save. Intervals.icu then sends the description to Strava. Or contact us and we'll resend it for you.
Was this helpful?
More in Integrations & Data
Connecting your recovery data: Whoop, Apple Health and Google HealthApple Health workout sync (iOS)Connect IntervalCoach to Claude, ChatGPT or Cursor (MCP)See your workouts in Apple, Google or Outlook CalendarStill need help? Ask the team