Tracking Profiles
Tracking profiles automatically adjust GPS interval, distance filter, and sync settings when conditions like charging, car mode, or speed thresholds are met.

Use Cases
- Charging - Increase tracking frequency while plugged in (battery isn't a concern)
- Driving - Switch to frequent updates when Android Auto connects or speed exceeds a threshold
- Walking - Use longer intervals at low speeds to conserve battery
- Stationary - Record a periodic heartbeat point (e.g. every 30 min) as proof-of-presence while not moving
Setup
- Go to Settings → Tracking Profiles
- Tap Create Profile
- Enter a name and select a condition trigger
- Configure the GPS interval, distance filter, and sync interval
- Set a priority (higher priority profiles take precedence when multiple conditions match)
- Tap Create Profile to save
Condition Types
| Condition | Trigger |
|---|---|
| Charging | Phone is plugged in to a power source |
| Car Mode | Android Auto is connected |
| Speed Above | Average speed exceeds the configured threshold (km/h) |
| Speed Below | Average speed drops below the configured threshold (km/h) |
| Stationary | Device not moving for approximately 60 seconds |
Speed conditions use a rolling average of the last 5 GPS readings to avoid triggering on momentary speed spikes. The stationary condition uses a fixed speed threshold (0.3 m/s) with a 60-second timeout for reliable detection - unlike speed-below, it does not flap on GPS noise near zero.
Profile Settings
Each profile overrides the default tracking configuration with:
- GPS Interval - How often to request a location fix (seconds)
- Distance Filter - Minimum movement required between updates (meters)
- Sync Interval - How often to sync with the server (Instant, 1 min, 5 min, 15 min, or Custom)
- Priority - Determines which profile wins when multiple conditions match simultaneously (higher = wins)
- Deactivation Delay - How long to wait after the condition stops matching before reverting to default settings (seconds). Prevents rapid toggling when conditions fluctuate.
When creating a new profile, GPS interval, distance filter, and sync interval are pre-filled with your current values from main Settings. Each field also shows a hint with the default value for reference.
Priority
When multiple conditions match at the same time, the profile with the highest priority wins.
Example Configurations
| Profile | Condition | Interval | Distance | Priority | Use case |
|---|---|---|---|---|---|
| Stationary | Stationary | 1800s | 0m | 40 | Heartbeat while not moving |
| Driving | Car Mode | 10s | 1m | 30 | Detailed route while driving |
| Walking | Speed Below 8 km/h | 60s | 2m | 20 | Battery-friendly on foot |
| Charging | Charging | 15s | 0m | 10 | High accuracy while plugged in |
Note that Stationary has the highest priority so it takes over from Walking when you stop. Charging has the lowest priority so a more specific profile (e.g. Driving) wins when both match.
How It Works
- When tracking starts, all enabled profiles are evaluated against current conditions
- The highest-priority matching profile's settings override the defaults
- When the condition no longer matches, a deactivation delay timer starts
- If the condition matches again before the delay expires, the timer is cancelled
- After the delay expires, settings revert to the defaults configured in the Settings screen
- Profile changes made in the editor take effect immediately on the running service
Active Profile Indicators
When a profile is active, Colota shows it in two places:
- Notification - The foreground notification title changes from "Colota Tracking" to "Colota · ProfileName" (e.g., "Colota · Charging")
- Dashboard - An info card appears on the map showing the active profile name. When inside a pause zone, the pause card shows which profile will resume on exit (e.g., "Profile 'Charging' resumes on exit").
Both indicators disappear automatically when the profile deactivates (after the deactivation delay) or when tracking stops.