Like a Champ: How to Save Strava Activities to Google Sheets

Mar 18, 2021 | 7 minutes
strava-exercise-to-google-sheets-illustration

One of the most interesting outcomes of the pandemic is the bike boom many countries are experiencing. 

According to industry experts, the demand for bikes is so high that it has been putting producers and supply chains under unprecedented pressure.

Along with this explosion of new bicycle owners comes a very common question: “How do I track my bike rides?”

Whether you ask Google or your neighborhood cycling group, you will find a common answer to this question: Strava. 

Arguably the most popular app for cyclists, Strava is an exercise tracking app with social media features. On top of recording and sharing their progress, Strava athletes can post questions, tips, and comments to the platform

Whether you ride, run or swim, Strava is a great platform to connect with other athletes, challenge yourself, and track your progress. 

But what if you want a more detailed analysis of Strava activities? 

Here, the best thing to do is export your Strava data to a spreadsheet. The Strava API and Make allow for this. 

In the following use case, certified Make partner Andy O’Neil will show how to save your Strava activities in Google Sheets. 

Note: Please note that you will need an Make account to integrate Strava and Google Sheets. If you don’t have one yet, please register for free.

Scenario Summary: Exporting Strava data to Google Sheets

Strava is great for capturing activity data. However, sometimes you want to look at results in a spreadsheet rather than on a social media feed. 

Using Make, we will set up an automation to get riding activities from Strava, and transfer the relevant data to a Google Sheet. 

To create this Strava - Google Sheets integration, you will need the following:

  • Make Account

  • Strava Account

  • Google Account

Below you will find the Make modules we will use to create this Strava automation.

  1. Google Sheets » Search Rows: This module will be used to find the date and time of your last ride (if any) to search for new rides on Strava.

  2. Strava » List Activities: This module will retrieve cycling activities that were completed (if any) since the last one recorded in the Google Sheet.

  3. Google Sheets » Search Rows: This module will make sure we don’t have any duplicates in our Google Sheet. It will search the Google Sheet for rides with the same ID, to avoid repetition and keep your data clean.

  4. Google Sheets » Add a Row: This module will store your new Strava activity data in the Google Sheet.

Before we begin, please make sure you get a copy of the spreadsheet below. 

It’s a Google Sheets template for Strava activity, and we will rely on it to create the integration on Make. 

Saving Strava Rides to Google Sheets: Configuring the Make template 

Now that you have your spreadsheet, head over to the Save Strava Ride Activities to Google Sheets Make template. 

Next, click the “Create new scenario from template” button in the bottom left-hand corner to get started.

Step 1: Configure the Google Sheets » Search Rows Module

This Google Sheets module will be used to find the date of your last activity. That date will be referenced as the starting point to search for new activities in the following Strava module. 

If your Google Sheet is blank, no worries: We’ll cover how that will work in the next (Strava) module. 

To configure this module, please follow the instructions below:

  1. Select your Google account connection in the dropdown field. If you haven’t connected a Google account, click “Add” to connect your account.

  2. Select the spreadsheet copy you created (the “My Strava Activity Tracker” Google Sheet).

  3. Select the “Activities” sheet on your Google Sheet.

  4. Click “Continue”. The rest of the fields are filled in by default, so you don’t need to worry about them.

Step 2: Configure the Strava » List Activities Module

The Strava module will look up your activities from your Strava account. 

This module requires a start and end date range for searching your activities.

Start Date: If your Google sheet has previously saved activities, the last activity date will be used as the start date when searching for new activities. 

If your Google sheet is blank, this module will use January 1st of the current year as a starting date. This will load all of your previous activities from the current year.

End Date: By default, the end date for searching for new Strava activities will be 11:59 PM on the current date.

To configure this module, please follow the instructions below:

  1. Select your Strava account connection in the dropdown field. If you haven’t connected Strava yet, click “Add” to connect your account.

  2. Click “Continue”. The rest of the fields are filled in by default for you.

Step 3: Configuring the filter

This filter will stop the scenario from processing any further in case no new rides are found on Strava. 

In other words, this filter will prevent any errors that would arise if the scenario continues with missing activity data. 

The filter has already been configured for you, so please click the “Continue” button (see below).

Step 4: Configuring the Google Sheets » Search Rows Module

The Google Sheets » Search Rows module will make sure we avoid duplicate activity entries in the Google Sheet. 

This module will check existing activity IDs in our Google Sheet. 

To configure the module, please follow the instructions below:

  1. Select your Google account connection in the dropdown field. You have to select the same connection you added or created in module #1.

  2. Select your “My Strava Activity Tracker” Google Sheet.

  3. Select the “Activities” sheet on your Google Sheet.

  4. Click “Continue”. The rest of the fields are filled in by default for you.

Step 5: Configuring the second filter

This filter will prevent the scenario from adding a duplicate ride activity to your Google Sheet. 

If the Google Sheets » Search Rows module does not find an activity ID in your Google Sheet that matches the activity ID of a new ride (i.e. not a duplicate), your ride data will be saved. 

Since the filter is already configured by default, just click “Continue”.

Step 6: Configuring the Google Sheets » Add a Row Module

Finally, the last step in our Strava - Google Sheets automation. This module will organize the processed Strava data in your Google Sheet. 

To configure it, please follow these steps:

  1. Select your Google account connection in the dropdown field. This should be the same connection as you added or created in module #1

  2. Choose “Select spreadsheet and sheet” from the dropdown

  3. Select your “My Strava Activity Tracker” Google Sheet

  4. Select the “Activities” sheet on your Google Sheet

After you do this, click “Continue”. Your scenario is now ready.

We know you’re probably curious about the result, so we will show the activity data points that are being saved to your Google sheet below.

Important: The information below is just a recap of the Strava data that will appear on your Google Sheet after each new ride. No further actions are required.

All your Strava data, on Google Sheets

This automated scenario will pick up the following data points from your Strava activities:

  1. Activity Date

  2. Activity ID (the unique identifier for each activity)

  3. Activity Type

  4. Activity Name (the name you give it in Strava)

  5. Distance (miles). The distance of the activity, in miles (converted from meters)

  6. Moving Time (hours). The activity moving time, in hours (converted from seconds)

  7. Total Elevation Gain (feet). The total elevation gained during the activity, in feet (converted from meters)

  8. Average Speed (mph). The average speed of the activity, in miles per hour (converted from meters per second)

  9. Max Speed (mph). The maximum speed recorded during the activity, in miles per hour (converted from meters per second)

  10. Distance (meters). The distance of the activity, saved as meters (default Strava unit)

  11. Moving Time (seconds). The moving time of the activity, saved as seconds (default Strava unit)

  12. Total Elevation Gain (meters). The total elevation gained during the activity, saved as meters (default Strava unit)

  13. Average Speed (m/sec). The average speed of the activity, recorded in meters per second (default Strava unit)

  14. Max Speed (m/sec). The maximum speed recorded during the activities, in meters per second (default Strava unit)

All of these data points are pre-configured within the modules, and can be changed to suit your needs. If you are new to Make, proceed with caution, as changing the scenario can affect the results. 

Conclusion

This scenario is useful for both amateur and professional riders who want to keep track of progress down to the smallest detail. 

Keeping manual records of your progress is time-consuming, and prone to errors. If you want better Strava data and more time to train, automation is the logical step. 

With this in mind, we invite you to ask yourself the following question: Would you rather spend time taking notes, or on the bike? 

The path is yours to decide.

More automation ideas

For more automation ideas, please read our curated selection of use cases and app tips articles. 

Happy automating!

Andy O'Neil

Andy O'Neil

Andy O'Neil is a Registered Make Partner and leads a workflow application development agency that specializes in code-free solutions with Integromat. He provides one-on-one paid Integromat support at Weblytica.com and offers free tutorials for new Integromat users at MrScenar.io.

Like the article? Spread the word.

Get monthly automation inspiration

Join 75,000+ Makers and get the freshest content delivered straight to your inbox.