Overview
To download this datafield visit our app page in the Garmin Connect IQ store.
This data field provides a simple current gear display (ex: R10/F2) and records gear usage metrics to your activity file for post-ride analysis in Garmin Connect.
It's compatible with Shimano Di2, SRAM AXS, and other electronic shifting systems that follow the AntPlus.Shifting standard.
We offer a Pro License for the data field that enables power based gear usage metrics and lap based metrics (see table below). Our individual Pro license is valid for 1 Garmin account and our team Pro license is valid for 40 Garmin accounts.




Developer FIT Fields
eShiftMetrics can write detailed gear usage data to your activity files for analysis in Garmin Connect. These fields are optional and can be enabled in the app settings.
To make changes, open the Garmin ConnectIQ app, go to the data field Settings → Developer Fit Fields → toggle desired fields → navigate back to main Settings and hit Save.
Developer Fit Field | Message Type | Bytes | Notes |
---|---|---|---|
Rear gear time distribution | Session | 8 | Stored as a single number with each position encoding a different gear (easiest gear in left-most position to hardest gear in right-most position). The most used rear gear is assigned a value of 9, then all other rear gears are assigned 0-9 based on their relative usage. For example, if gear 8 was the most used gear (with 30% of total time) it would be assigned 9; then if gear 2 was assigned a value of 3, that would mean gear 2 was used 10% of the total time. |
% time in small front gear | Session | 1 | -- |
Low eShift batteries | Session | 1 | Only displays if an electronic shifter battery is at low/critical level. Not available for Di2 systems. |
Most used rear gear (by time) | Session | 1 | -- |
% time in most used rear gear | Session | 1 | -- |
Cassette Teeth | Session | 2 | Will only display if you use all cogs at least once during the ride. |
Chainring Teeth | Session | 2 | Will only display if you use all chainrings at least once during the ride. |
Rear shift count | Session | 2 | -- |
Front shift count | Session | 2 | Will only display with 2x drivetrain |
Rear gear index timeseries | Record | 1 | -- |
Front gear index timeseries | Record | 1 | Will only display with 2x drivetrain |
Gear ratio timeseries | Record | 4 | -- |
Rear gear work distribution | Session | 8 | Same approach as rear gear time distribution, but we calculate usage based on work-completed while in a gear as a % of total work completed across all gears. Requires power data. Pro License |
% work in small front gear | Session | 1 | Will only display with 2x drivetrain Pro License |
Most used rear gear (by work) | Session | 1 | Pro License |
% work in most used rear gear | Session | 1 | Pro License |
Rear gear time distribution | Lap | 8 | Pro License |
Rear gear work distribution | Lap | 8 | Pro License |
% time in small front gear | Lap | 1 | Pro License |
% work in small front gear | Lap | 1 | Pro License |
Rear shift count | Lap | 2 | Pro License |
Front shift count | Lap | 2 | Pro License |
FIT Field Crash Prevention
Warning! This data field has the ability to add many developer fit fields to your activity file. Garmin limits the number of developer fit fields to 16 per message type (Record / Lap / Session) per activity recording, and limits the total amount of space reserved by developer fit fields to 32 bytes per message type per activity recording. Note: record messages are your time series data points that are typically recorded once a second, lap messages are recorded whenever you log a lap, and session messages are your activity summary stats.
Unfortunately, our data field isn't able to see how many developer fit fields your other data fields are creating (or how much space they are reserving) so we can't prevent you from exceeding those limits. If you exceed those limits your datafields will crash with the IQ error symbol (shown below).

We've developed this app such that if you are using no other data fields, and you turn on all the fit field options for eShiftMetrics, the data field will not crash because we stay within the limits.
However, if you use other data fields which create developer fit fields, you need to be careful. If you exceed the limits by turning on too many developer fit fields, eShiftMetrics (or the other data fields) will crash.
Free Tier: If you don't have a Pro License, eShiftMetrics will automatically consume 10 bytes of the 32 byte session limit (and 12 bytes of the 32 byte lap limit) with mandatory fields that cannot be disabled. This leaves 22 bytes available for session fields (and 20 bytes for lap fields) from eShiftMetrics and whatever other data fields you have installed (all eShiftMetrics fields can be enabled safely if there are no other data fields). With a Pro license you have full control over all eShiftMetrics fit fields.
Time-in-Gear Calculation Methods
In the Garmin ConnectIQ app, under the data field Settings → Calculation Settings menu, you can define how we measure time in each gear:
- We can only count moving time (requires speed data - this is the default)
- We can only count pedaling time (requires cadence data)
- We can count all time (ie all time while the activity is running; paused/stopped time will not count).
Pro License Activation
If you purchase a Pro license you'll need to activate it within your data field settings. These instructions assume you already have the data field installed on your Garmin device.
- Open the Garmin ConnectIQ app on your mobile phone
- Pair the ConnectIQ app with your Garmin device
- Within the ConnectIQ app, open the "My Data Fields" menu, and then select eShiftMetrics
- On your Garmin device, open the cycling activity profile where the data field is installed. You do not need to start a recording; opening the activity is enough to start the data field so it's able to validate your license.
- On your phone, within the ConnectIQ app, open the eShiftMetrics "Settings" menu, and click through to the "Pro License" menu.
- Enter the same email used for purchase, along with the license key you received
- Navigate back to the main settings page and hit save
- You can return to the Pro license settings menu and the status should display as "active"
- After activating your Pro license for the first time, fully exit the activity (return to your watch’s main watch face). Then you can reopen the activity profile that you wanted to start. This ensures the data field reboots and fully initializes your Pro license. You only need to do this once, immediately after entering your license key. Some Pro features may not activate properly until the data field is rebooted.
If you can't find your license key or are having any issues please contact us [email protected] and we will help you asap!
Limitations & Technical Notes
Shift Count Calculations
Our shift counting system treats each gear jump as a separate shift event. When you shift across multiple cogs in a single shifter action (for example, jumping from rear gear 3 to rear gear 6), the system records this as 3 individual shifts rather than 1 shift, even though your shifter may have reported it as a single shift command.
Shimano Di2 Limitations
Di2 systems do not follow the ANT+ Shifting standard and do not send notifications to our data field after every shift occurs. Because of this limitation, our shift counts for Di2 systems are not true shift counts. Instead, we check your current gear position every second, and if your gear has changed from the previous check, we consider that to be a shift. However, it's possible you may have performed multiple shifts during the 1-second gap between checks, which would be undercounted.
Di2 systems do not provide battery status information because they don't follow the ANT+ Shifting standard. As a result, Di2 battery levels cannot be monitored and will not appear in the low battery alerts developer fit field.
Multiple Shifting System Conflicts
Pairing your device to multiple electronic shifting groups simultaneously (for example, Di2 on one bike and SRAM AXS on another bike) will cause inaccurate gear tracking and may result in app crashes. To avoid this, disable the unwanted connection and restart your activity profile (exit to main watch screen and then reopen cycling profile) so the data field isn't confused by conflicting signals.
Connect IQ Settings "Save" Behavior
⚠️ Critical: Connect IQ has a quirk with nested settings. After making ANY changes in sub-pages (Developer Fit Fields, Pro License, etc.), you MUST navigate back to the main Settings page and tap Save, or your changes will be lost.

Rear Gear Usage Distribution Data
In the rear gear usage distribution statistics, gear #1 will always show a value greater than or equal to 1 and cannot display 0. This occurs because we store the distribution data as a number, and the first digit in a number cannot be zero. As a result when gear #1 should receive a 0 value, it will display as 1 instead. We feel this minor adjustment will not meaningfully impact the interpretation of your gear usage data.