GPSLogger is a lightweight open-source Android app that logs positions and can send each one to a URL you specify. Because you control the entire URL, including parameter names, it works with Geoblip as-is — no plugin, no bridge, no account linking.
It is the cheapest possible way to test whether geofencing solves your problem: a free app, an old Android phone, and five minutes.
1. Install it. Get it from Google Play.
2. Get your device API key. Add a device in Geoblip and copy its key.
3. Turn off file logging. In Logging details, disable Log to GPX and anything else you do not need. Writing files you never read wastes storage and battery.
4. Enable custom URL logging. Logging details → Log to custom URL, then open the custom URL settings and set the URL to:
https://app.geoblip.com/api/ingest/coordinates?api_key=YOUR_KEY&lat=%LAT&lng=%LON&acc=%ACC
Replace YOUR_KEY with your device key. Leave the HTTP method as GET.
5. Set the interval. General options → Logging interval. See below for choosing a value.
6. Allow background running. Battery optimisation → unrestricted for GPSLogger, in Android’s app settings. Without this Android will suspend it and positions stop arriving — this is the single most common reason a setup goes quiet after an hour.
Geoblip’s ingest endpoint takes api_key, lat, lng, and optionally acc.
GPSLogger substitutes placeholders anywhere in the URL, so you simply name the
parameters to match. Most tracking platforms require the app to speak their
format; here the app adapts to ours.
Substitution is case-insensitive, so %lat and %LAT both work.
Taken from the app’s substitution source rather than from memory:
| Placeholder | Value |
|---|---|
%LAT / %LON | Latitude and longitude |
%ACC | Accuracy radius in metres |
%ALT | Altitude |
%SPD / %SPD_KPH | Speed in m/s and km/h |
%DIR | Bearing |
%TIMESTAMP | Unix seconds |
%TIME | ISO 8601 datetime |
%BATT | Battery percentage |
%SAT | Satellite count |
%HDOP / %VDOP / %PDOP | Dilution of precision — see HDOP |
%PROV | Position provider (gps / network / fused) |
%ALL | Expands to every parameter as name=value pairs |
Geoblip only needs api_key, lat, and lng. Adding acc is worthwhile
because it records how trustworthy each position was.
The trade is direct: shorter intervals mean faster alerts and worse battery life. See reporting interval for the full table.
| Interval | Suits |
|---|---|
| 30 s | Fast alerts, phone needs daily charging |
| 60 s | Good general default |
| 5 min | School-hours or all-day tracking on one charge |
Set the minimum distance to around 20–30 metres as well. That stops a stationary phone uploading the same position endlessly as GPS drift moves it a few metres.
Positions stop after a while. Battery optimisation. Set GPSLogger to unrestricted and disable any manufacturer-specific battery manager — Xiaomi, Huawei, OnePlus, and Samsung are all aggressive here beyond stock Android.
Nothing arrives at all. Check the URL for a typo in the key, and confirm you enabled Log to custom URL rather than only configuring it. GPSLogger has a log viewer that shows the HTTP response.
Positions are wildly inaccurate. The phone is falling back to network positioning indoors. Set Location provider preference to GPS and expect gaps where there is no sky view — see GPS accuracy.
Slow first position after unlocking. A cold start; see A-GPS. Normal, and it resolves within a minute outdoors.
An old Android phone with GPSLogger is a genuinely capable tracker — better GPS than most budget hardware, and free. Its limits are battery life and the fact that someone has to carry it.
For a child’s backpack or a vehicle it works well. For a trailer left in a yard for a month, you want dedicated hardware. See OsmAnd for an alternative app, or Traccar Client if you already use it.
Compatibility last verified 7 August 2026. Manufacturers change firmware and command syntax — if something here is wrong, the device's own documentation wins.
Draw a boundary, assign your device, set the hours it should be active. Seven-day free trial.