
user.started_trip
user.updated_trip
user.approaching_trip_destination
user.arrived_at_trip_destination
user.stopped_trip
Quickstart
First, sign up for Radar and get an API key. Then, create a destination geofence. From there, integrate the SDK and callRadar.startTrip()
. Radar will generate trip events with ETAs to the destination geofence.
Starting trips
When it’s time to start a trip (e.g., when a user taps “I’m on my way” for a pickup, or when a delivery starts), start a trip with trip options (including an external ID for the trip, a destination geofence, a travel mode, and any custom metadata) and tracking options to be used during the trip (usuallyRadarTrackingOptions.CONTINUOUS
).
As the trip progresses, the status will update from started
to approaching
(based on the Approaching threshold on the Settings page), then arrived
(on destination geofence entry).
Updating trips
As the trip progresses, you can update the trip metadata (e.g., when a parking space is assigned for a pickup) or the trip status (e.g., to manually advance the status toapproaching
or arrived
). This can be done either using the SDK or the API.
Stopping trips
Finally, when the trip is complete (e.g., when an order is picked up or a delivery is dropped off), stop the trip. This can be done either using the SDK or the API. You can set trips to expire after a set period if not manually stopped using the Expiration threshold on the Settings page. If tracking was started before the trip was started, the previous tracking options will be restored. Otherwise, tracking will be stopped.Trip events
Radar calculates ETAs and generates events when trips are updated:user.started_trip
user.updated_trip
user.approaching_trip_destination
(configurable ETA threshold)user.arrived_at_trip_destination
(destination geofence entered)user.stopped_trip
Anomaly detection
Wrong destination arrival detection
The wrong destination arrival detection feature identifies when a user on a trip may have entered a different destination than the one intended. Specifically, it triggers an event when the user enters a geofence that shares the sametag
as the destination geofence, but possesses a different externalId
.
To enable this feature, navigate to the Settings page and enable the user.arrived_at_wrong_trip_destination
event under Trips section.
Delay detection
Delay detection identifies trips at risk of being delayed or incomplete. To enable this feature, configure a Delay threshold on the Settings page under Trips. IfscheduledArrivalAt
is set for a trip, delay information is captured in the trip’s delay
field. The scheduledArrivalTimeDelay
is the predicted arrival delay from the scheduledArrivalAt
time in minutes. The delayed
flag is true
when scheduledArrivalTimeDelay
exceeds the delay threshold.
Display live trips and ETAs
In the Radar trip tracking dashboard
The trip tracking dashboard is available on the Enterprise plan.

In your own UI
Poll the list trips API to retrieve active trips for a specific destination geofence, including ID, custom metadata, and ETA. For example, you might poll the list trips API from an internal dashboard. Or, listen for trip events sent to a webhook. From there, forward trip information, including ID, custom metadata, and ETA, to other systems. For example, you might set up a webhook that sends ETA to an order management or kitchen display system.Analytics
Radar offers analytics on trip data and location opt-in rates from users in your project. Analytics on trip data can be found on the Analytics page and grouped under the Trips tab. Analytics on location permission opt-in rates is grouped under the Permissions tab. Read more about Permissions here.How to filter your data
The Filters button at the top of the page offers ways to look at more granular views of your trip data. The filters will apply to the statistics cards and graphs as well as the data in the By Destination table. Date range: A date range can be selected from the drop-down date picker. Make sure that the date in the left-hand box falls before the date in the right-hand box. When accessing the Analytics page, the default date range encompasses all trip data in your project, meaning that you’ll see a default range from the date of your earliest trip to yesterday. All trip analytics are updated nightly and trip analytics from today will not be shown in the Analytics page until tomorrow. Destination Geofence tag: Each geofence has a geofence tag. You can find the tag to a specific geofence in the “Tag” column on the Geofences page in the sidebar, or you can navigate to the trips page in the sidebar and click on the external ID listed under “Destination”, which will show the details of the destination geofence. This field can be used alone or in tandem with the Destination Geofence External ID field. Destination Geofence external ID: Each geofence has an external ID. You can find the external ID for a specific geofence in the “External ID” column on the Geofences page in the sidebar, or you can navigate to the Trips page and click on the external ID listed under “Destination”. This field can be used alone or in tandem with the Destination Geofence Tag field. Travel mode: Select a specific mode of travel to filter all trip data in the Analytics view to only a specific mode. If there is no mode selected, all trip data, regardless of travel mode, will be shown. Trip analytics apply to the environment in which you view the metrics. For example, when viewing the metrics in the test environment, the metrics only include trip data from the test environment.Trips overview
Median wait time
: the median duration between the moment when a user arrives at a destination (user.arrived_at_trip_destination
) and the moment when the trip is marked complete (completed
). This statistic omits trips which are missing an arrival timestamp.Number of trips
: the total count of all live trips for a specific project which have a status ofcompleted
.Median trip time
: the median duration between the moment when the user starts a trip (user.started_trip
) and the moment when they arrive at the destination (user.arrived_at_trip_destination
). This statistic omits trips which are missing an arrival timestamp.Repeat customers
: the total number of your users who have completed more than one trip.
Number of days | Time grouping |
---|---|
2 | Hour |
21 | Day |
60 | Week |
60+ | Month |
By destination table
The By Destination table groups your trip data by individual destination geofence and allows you to identify your slowest and fastest stores by wait time as well as your most popular stores by the number of trips made to the store. By default, the By Destination table is sorted alphabetically based on the Destination column. To toggle the sort order of the column, click the column header. The table has 6 sortable headers:Destination
: the description of the individual destination geofence.Tag
: the geofence tag associated with the unique geofence destination listed in the destination column. Clicking on a tag filters the entire Analytics page for only geofences that contain that tag.Geofence ID
: the geofence ID of the unique geofence destination listed in the destination column.Wait Time
: the median wait time of all qualifying trips to that destination, given the filters applied.Trips Completed
: the number of completed trips to that destination, given the filters applied.Trip Time
: the median trip time of all qualifying trips to that destination, given the filters applied.
Filter by destination
: This will filter the entire analytics page to only include this single destination.View destination
: This will bring you to the destination geofence’s detail page.
Calculations
Wait time and trip time are only calculated for trips that have a status ofcompleted
and have timestamp entries for started_at
, arrived_at
, and completed_at
. Reminder that all trip analytics are updated nightly and trip analytics from today will not be shown in the Analytics page until tomorrow.