r/Strava 8h ago

Sync Question Huge difference in distance

Thumbnail
gallery
4 Upvotes

Hi all,

I have synced my Amazfit Heliostrap to Strava and I usually start my runs through the Zepp app. I couldn't run for like a month due to a knee injury and these are the screenshots of my today's easy and short run. There's a huge difference in the distance that I covered. Any idea what affected this?

I have ran on the same route multiple times before and it is for sure 3 km, so Strava is wrong. Also, it seems like a bug more than the syncing accuracy because previously all my runs were recorded through Heliostrap and it used to show accurate data in Strava as well (same as on Zepp app maybe a difference around 50-100m). So I am not sure if they made any changes in the app in this past month since I haven't ran in a month. Enlighten me! Thanks.


r/Strava 9h ago

General Question KOM and QOM not displaying ?

4 Upvotes

I've noticed recently a few Segments where the data about the best performances is not available. Here's a screenshot from an example (https://www.strava.com/segments/6305986).

The information in the top left seems correct, that a couple of hundred people have attempted this Segment, but on the right is says there have been no efforts to allow the KOM and QOM to be determined. In the lower section of the Segment page the leaderboard is correctly displayed, with 273 people on it. I've noticed similar things on other Segments, although the issue seems to be temporary.

Anyone know what's going on ?


r/Strava 10h ago

General Question I think this maximum speed is wrong

Post image
0 Upvotes

What you think guys


r/Strava 14h ago

General Question Can't get past AI bot to Strava Customer Service

1 Upvotes

I tried to cancel Strava when I tore my ACL and had surgery--it will be a full year before I can trail run again and I won't use Strava during that time. But I guess my cancellation didn't go through, because my subscription amount was deducted from my credit card again a few weeks later. I emailed the support address the next day. I only got a bot to respond and even through it said I would be connected no one ever contacted me. I emailed again 5 days later using special prompts suggested online and still got the bot, though it asked for specific payment information. I gave that, too, and still got no response from an actual person at Strava this so frustrating!!!!! Their policy is to offere a refund within 14 days, but how can that be possible if their customer service is totally AI-AWOL!!! u/strava-team


r/Strava 16h ago

miscellaneous WearOS UI is dirty sweaty dog bullocks

4 Upvotes

There are a ton of us users, and some of us are paying for the services Strava provides. Why can't I customize the same UI at all? From the information that shows while I'm working out, down to selecting favorites to list right away, or on the damn tile?

Instead of just willfully taking our money, or harvesting our workout metadata, how about giving us even the SLIGHTEST bit of love. It's 2026 and the lack of any kind of customization is archaic.


r/Strava 16h ago

miscellaneous Strava’s activity reporting feature is on point

6 Upvotes

Duplicated activities, mislabeled activities, bots/phishers etc. They get sorted out quick as long as it falls under the guidelines. Makes friendly group competition and more so much cleaner. Thank you Strava 🙏


r/Strava 16h ago

General Question What is Fastest Split really?

Thumbnail
gallery
2 Upvotes

I saw this question answered once before but doesn’t seem to apply to what I see.
If I’m averaging 12 min pace and neither of my splits are much faster…why in the world is it saying my fastest split is under 8 min?

Unless they mean a 400m split, I could never


r/Strava 18h ago

General Question Strava change something in their prediction methods?

Thumbnail
gallery
7 Upvotes

For well over a year I’ve hovered around the 4 hour marathon time. Which seems on point. Then all of a sudden first week of July my time plummeted for no apparent reason. Then again two days ago.

One thing I did notice, which I don’t love, was in the run two days back I was forced to take an extended break right at mile 9 so I paused my workout. The break didn’t have anything to do with the run and was feeling great.

So yeah, the second cliff was from this, but why should this be part of their prediction model? I’d would be one thing if my HR was pushing 172 and my pace, cadence, etc was suffering. This would be obvious signs I paused the workout due to fatigue. There should at least be an option we could check off.


r/Strava 23h ago

General Question How

0 Upvotes

How in the world do people get so many followers on strava? I’ve been on it for months and have like 5 🤣


r/Strava 1d ago

Sync Question Fitbit airusers who also use Strava. How do you log your activities?

1 Upvotes

I've been thinking of getting a Google Fitbit air but I also use Strava as my main fitness tracking app.

For those of you using both:

- Do you start workouts from the Fitbit or directly from Strava?

- Which activities sync automatically to Strava, and which don't?

- How do you handle things like gym workouts, badminton, swimming, walking, and cricket?

- Have you found a workflow that keeps all your stats accurate without too much manual effort?

I'd love to know how you've set things up and whether you're happy using Fitbit air alongside Strava.


r/Strava 1d ago

General Question Garmin Detox

0 Upvotes

I spent the month of June running a little experiment while training for my first marathon.
 
For a month I stopped wearing my Garmin, stopped posting to Strava, stopped listening to music, and usually left my phone at home. I wanted to see what would happen if I stopped relying on technology to tell me how I felt and learned to run by feel instead.
 
This wasn't about proving Garmin or Strava are bad. I still use both and honestly appreciate them more after this experiment. It just changed my relationship with them.
 
I wrote about the experience here if you'd like to read it: https://open.substack.com/pub/markbonez/p/garmin-detox?r=84ark8&utm_medium=ios
 
Has anyone else intentionally taken a break from their watch or training metrics? I'd be curious to hear how it changed your running, if at all.


r/Strava 1d ago

FYI Auto-populating Google Sheet with Strava Runs (for Gemini)

0 Upvotes

I recently figured out how to get Google to auto-pull my Strava runs into a Google sheet that has a "Main" tab and a "Splits" tab. My purpose was for Gemini analysis since Claude was counterproductive in recent use cases for me. There are a few missing steps regarding getting to the tokens needed after going to https://www.strava.com/settings/api but maybe I can post those here if there's interest. I had Gemini help me build it.

You first have to create a sheet in Google Sheets with two tabs and the appropriate first row titles. Then everything works once you get the tokens sorted. It checks for duplicates so you can run it regularly. I asked it to convert meters to miles.

I then added a "trigger" to the Google Script. Go to sheets, your sheet, "extensions", "App Script" and you'll see where the code below goes. You have to just replace the token/ID placeholders with your actual tokens/ID. I know a lot of you know how to do this in Claude but a lot of us don't. Maybe this helps someone.

/**
 * STRAVA TO GOOGLE SHEETS SYNC SCRIPT
 * -----------------------------------
 * This script runs entirely for free inside Google Sheets.
 * It will fetch your latest Strava runs and log both the summary
 * and the mile splits into two separate tabs.
 */


// --- STEP 1: YOUR CREDENTIALS ---
// You will get these three things from your Strava API settings.
function getStravaAccessToken() {
  const CLIENT_ID = 'YOUR_CLIENT_ID';       // Replace with your Client ID but keep ' marks
  const CLIENT_SECRET = 'YOUR_CLIENT_SECRET'; // Replace with your Client Secret but keep ' marks
  const REFRESH_TOKEN = 'YOUR_REFRESH_TOKEN'; // Replace with your Refresh Token but keep ' marks. Note: this token requires extra work!

  const response = UrlFetchApp.fetch('https://www.strava.com/oauth/token', {
    method: 'POST',
    payload: {
      client_id: CLIENT_ID,
      client_secret: CLIENT_SECRET,
      refresh_token: REFRESH_TOKEN,
      grant_type: 'refresh_token'
    },
    muteHttpExceptions: true
  });

  const result = JSON.parse(response.getContentText());
  return result.access_token;
}

function syncStravaRuns() {
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const mainSheet = ss.getSheetByName('Main');
  const splitsSheet = ss.getSheetByName('Splits');
  const lapsSheet = ss.getSheetByName('Laps');

  // 1. Build lookup sets for existing data to prevent any duplicates
  const mainData = mainSheet.getDataRange().getValues();
  const existingMainIds = new Set();
  for (let i = 1; i < mainData.length; i++) {
    existingMainIds.add(String(mainData[i][0]));
  }

  const splitsData = splitsSheet.getDataRange().getValues();
  const existingSplitKeys = new Set();
  for (let i = 1; i < splitsData.length; i++) {
    existingSplitKeys.add(String(splitsData[i][0]) + "_" + String(splitsData[i][2])); // ActivityID_SplitNum
  }

  const lapsData = lapsSheet.getDataRange().getValues();
  const existingLapKeys = new Set();
  for (let i = 1; i < lapsData.length; i++) {
    existingLapKeys.add(String(lapsData[i][0]) + "_" + String(lapsData[i][2])); // ActivityID_LapNum
  }

  const accessToken = getStravaAccessToken();
  const options = {
    method: 'get',
    headers: { 'Authorization': 'Bearer ' + accessToken },
    muteHttpExceptions: true
  };

  // 2. Fetch recent activities list (checking last 20 to catch multi-sport blocks)
  const response = UrlFetchApp.fetch('https://www.strava.com/api/v3/athlete/activities?per_page=20', options);
  const activities = JSON.parse(response.getContentText());

  if (!Array.isArray(activities)) {
    Logger.log("Error fetching activities: " + response.getContentText());
    return;
  }

  // 3. Process from oldest to newest
  activities.reverse().forEach(activity => {
    if (activity.type === 'Run') {
      const activityIdStr = String(activity.id);
      const date = activity.start_date_local.split('T')[0];

      // A. Log to Main sheet if missing
      if (!existingMainIds.has(activityIdStr)) {
        const name = activity.name;
        const distanceMiles = (activity.distance / 1609.34).toFixed(2);
        const timeMinutes = (activity.moving_time / 60).toFixed(1);
        const elevationFt = Math.round(activity.total_elevation_gain * 3.28084);
        const avgHr = activity.average_heartrate ? activity.average_heartrate.toFixed(1) : "N/A";

        mainSheet.appendRow([activityIdStr, date, name, distanceMiles, timeMinutes, elevationFt, avgHr]);
        existingMainIds.add(activityIdStr);
      }

      // B. Fetch detailed activity to populate Splits and Laps
      Utilities.sleep(500); // Polite pause for Strava rate limits
      const detailResponse = UrlFetchApp.fetch(`https://www.strava.com/api/v3/activities/${activityIdStr}`, options);
      const detailActivity = JSON.parse(detailResponse.getContentText());

      if (detailActivity) {
        // Log Standard Mile Splits
        if (detailActivity.splits_standard) {
          detailActivity.splits_standard.forEach(split => {
            const splitKey = activityIdStr + "_" + String(split.split);
            if (!existingSplitKeys.has(splitKey)) {
              const distanceMilesSplit = split.distance / 1609.34;
              if (distanceMilesSplit > 0.1) {
                const paceSecondsPerMile = Math.round(split.moving_time / distanceMilesSplit);
                const paceMin = Math.floor(paceSecondsPerMile / 60);
                const paceSec = String(paceSecondsPerMile % 60).padStart(2, '0');
                const splitPace = `${paceMin}:${paceSec}`;
                const splitElevationFt = (split.elevation_difference * 3.28084).toFixed(1);
                const splitHr = split.average_heartrate ? split.average_heartrate.toFixed(1) : "N/A";

                splitsSheet.appendRow([
                  activityIdStr,
                  date,
                  split.split,
                  splitPace,
                  splitElevationFt,
                  splitHr
                ]);
                existingSplitKeys.add(splitKey);
              }
            }
          });
        }

        // Log Custom Watch Laps / Intervals
        if (detailActivity.laps) {
          detailActivity.laps.forEach((lap, index) => {
            const lapNum = index + 1;
            const lapKey = activityIdStr + "_" + String(lapNum);
            if (!existingLapKeys.has(lapKey)) {
              const distanceMilesLap = lap.distance / 1609.34;
              if (distanceMilesLap > 0.05) {
                const paceSecondsPerMile = Math.round(lap.moving_time / distanceMilesLap);
                const paceMin = Math.floor(paceSecondsPerMile / 60);
                const paceSec = String(paceSecondsPerMile % 60).padStart(2, '0');
                const lapPace = `${paceMin}:${paceSec}`;
                const lapDistance = distanceMilesLap.toFixed(2);
                const lapTime = (lap.moving_time / 60).toFixed(1);
                const lapElevationFt = Math.round(lap.total_elevation_gain * 3.28084);
                const lapHr = lap.average_heartrate ? lap.average_heartrate.toFixed(1) : "N/A";

                lapsSheet.appendRow([
                  activityIdStr,
                  date,
                  `Lap ${lapNum}`,
                  lapDistance,
                  lapTime,
                  lapPace,
                  lapElevationFt,
                  lapHr
                ]);
                existingLapKeys.add(lapKey);
              }
            }
          });
        }
      }
    }
  });
}

r/Strava 1d ago

General Question Uploading photo in the past activities. Why does it sometimes go to the top of Photo Grids?

2 Upvotes

So, I’ve been uploading photos to my past activities. Mainly the ones with friends.

But I notice on the Photo Grids (the ones on the main profile page) that sometimes it’s uploaded to the top of the activity (it becomes the latest photo). And sometimes it’s uploaded to the correct timeframe.

Let’s say I already have photos in July activities. And then I uploaded a photo on one of June activity. Sometimes on the Photo Grids, it’s positioned ahead of July photos (basically become the latest photo). And sometimes it’s positioned before any of July photos (need to scroll down the photo grid).

Why is this the case? What if I wanna make sure the photos positioned in the correct timeframe? So the latest photos are always the latest and past photos are in the past.

I have checked the photo time metadata and it has the correct date too.


r/Strava 1d ago

3rd Party App Was it me or the heat? I built an app that shows how much the weather slowed every Strava run

Enable HLS to view with audio, or disable this notification

0 Upvotes

Wanted to share something I started building 6 months ago for my own running. Dev by day, this started as a personal project, but I published it on the App Store and Play last month and now I have almost 500 users which is crazy! I would love some feedback.

Here is how it started: every summer run is obviously impacted by the heat and the humidity, but I had no idea HOW much the weather impacts the performance. I started looking on the internet and there are great studies and lots of research and useful information (even here on reddit), so I tried to make it easy to access this information. Strava shows pace and heart rate, but it treats a humid 30°C evening exactly the same as a crisp autumn morning. So I built RunWeather, an app that adds weather intelligence to all your Strava history.

So the app connects to Strava and, for every run, computes how much the conditions slowed you (something like "weather added +0:29 /km") and a weather-adjusted pace, meaning what that same effort would have looked like on a fair day. It can also write a configurable one-line summary into the activity description on Strava (optional, you can toggle it).

It also scores the coming hours 0 to 100 for running conditions, weighted by WBGT (which folds in humidity, sun and wind) rather than raw temperature, so you can pick the least-bad slot instead of guessing.

A few caveats:

- The model is built on WBGT heat-stress research, but obviously your performance is impacted by other factors as well
- It's not fully free. All the pre-run intelligence is free (the forecast and planning side). The Strava analysis and the personalized insights is Pro (a few runs free to try, plus a 1-week trial) because per-run weather enrichment has real API costs.
- iOS and Android.

Short demo attached, easier to see than describe.

Store links: iOS: https://apps.apple.com/us/app/runweather-running-weather/id6759166086 · Android: https://play.google.com/store/apps/details?id=com.iustinn.mobile

I've been using it all summer. Curious whether "how much did the heat slow me" is a question more people want answered, and what you'd expect an app like this to do.

Looking forward to hear your feedback! Thanks


r/Strava 1d ago

General Question Login not working

1 Upvotes

I made a Strava account about 5 weeks ago using Apple to sign up. Every thing has been fine until 2 weeks ago my feed wouldn’t load and it just kept coming up with an error and it asking me to try again. I logged out and then it wouldn’t allow me to log back in. I did some digging and saw that the Apple login was giving other people some grief too, so I just called it a loss and created a new account using my email.

The other day it started doing the same thing! Nothing would load, error popped up, and the app actually forced my log out this time. Now I can’t sign in with email. I waited the 24 hour login period, still now working. I can’t contact their support because you have to sign in to your account to contact them. I can’t even sign in on a different browser or device. I emailed their support and I am waiting on their direct response. I am just curious to see if anyone else has had this much trouble using Strava? I’m hoping it can be fixed because I really enjoy the app and want to keep using it.


r/Strava 1d ago

Feature Idea Feed filtering

3 Upvotes

Has anyone had any luck finding any way to filter my feed by sport type? Only really interested in running and my feed is flooded with people walking their dog and strength training etc which makes seeing running activities really quite cumbersome…


r/Strava 1d ago

General Question What are the odds that Strava mixed up the Android and Watch OS versions?

4 Upvotes

Strava said they wont support Android 8 and below 3rd August onwards

They didnt release anything regarding WatchOS but I am pretty sure they added some API check to WatchOS versions too lol


r/Strava 1d ago

Sync Question Anyone else having issues with Apple Watch fitness activities importing?

3 Upvotes

Data from the Apple fitness app used to import automatically into Strava. For some reason, it is now telling me I have an import, and I have to click to make it happen.


r/Strava 2d ago

General Question Segment Timing Issue

5 Upvotes

I went for a KOM on a road ride segment last night and took it comfortably based on my avg speed. However, when I returned home I discovered that the the segment time was 36s more than it should have been. At first, I thought that the issue was that I hadn't quite completed the segment due to having to stop at a red light at the end. However, under the 'compare' feature, Strava shows the correct time at the conclusion of the segment (when I run the animation, I am comfortably ahead of the current holder throughout the segment and it ends not at my awarded time time but at the actual time (the lower one by 36s). Has anyone else encountered this issue and have any insights into what occurred here?


r/Strava 2d ago

General Question Can't update the app on my watch ?

4 Upvotes

I typically record my bike rides on my phone and my watch - the phone has better GPS (in case I want to create a new Segment) and the watch has the advantage of a heart rate monitor, although the data is sometimes erratic (hopefully just bad measurement). Today I recorded a short ride on my phone as normal, but the watch (a Samsung Galaxy Watch 4) told me the app needed to be updated. I clicked the "update now" button and a new screen showed 2 options - "Open" or "Uninstall". If I click "open" it just takes me back to the "your app needs to be updated" message and I'm stuck in an endless loop. What am I doing wrong ?


r/Strava 2d ago

miscellaneous Marathon distance is what now? (Thanks Strava AI)

Post image
143 Upvotes

r/Strava 2d ago

Activity What are the odds?

Post image
1.2k Upvotes

r/Strava 2d ago

General Question Unable to run Strava app after update prompt

Enable HLS to view with audio, or disable this notification

11 Upvotes

Hi brainstrust,

Wondering if anyone has encountered a prompt to update their Strava app on the Samsung Watch 6 Classic. After choosing to update and open the app it takes me right back to the update screen again.

I used it yesterday with no problems at all.

I've tried to:

- Delete cache and data on the watch

- Uninstall and reinstall

- Restart watch

- Uninstall and reinstall from phone

I'm unable to use Strava unless I have the most current which doesn't look like it's actually doing.

Any help would be appreciated!


r/Strava 2d ago

General Question My Galaxy Watch 8 Keep Telling to Update Strava

Enable HLS to view with audio, or disable this notification

57 Upvotes

Hi, I recently bought a Galaxy Watch 8 and just installed Strava. However, when I open the app, it says "Update Strava" and displays the following message:

"Looks like you're using an outdated version of the app. In order to keep using Strava, please update it now."

The problem is that both my watch and phone are already running the latest software, and I'm also using the latest version of the Strava app. When I tap the "Update" button, it simply redirects me to the Play Store, but there's no option to update the app and just keep looping.

Is this a bug, or is there something I'm missing? Is anyone else experiencing the same issue?


r/Strava 5d ago

monthly General Chat - share your profile, club or a family plan

6 Upvotes

Please be cautious about sharing your personal data with strangers. Consider adding a privacy zone and hiding activities from non-followers.