Track Work with Geotags

Introduction

Geotags help you tag the geolocation of work done by app users on a timeline. As app users move about performing actions in the app, the time and location of those actions get geotagged along with associated metadata. Geotags track deviations from expectations and help you take action in real-time through application workflows. Geotags are organized chronologically in the app user’s timeline and aggregated for a group of users. Deviations are classified as driver or address issue, and pinged back to your servers for updating the address book. With Geotags, your operations can track that things are happening at the right time and place as expected, and proactively improve when they don’t. Scoreboards and insights help understand deviations, routes, durations and distances by cohorts of ops groups, type of work, region and more. Simply add the SDK to your driver app, call the geotag method with expected location and metadata, and unlock the power of Geotags. Our team will be with you at every step to get you to production successfully.

Create Geotags

Use the geotags SDK method to tag the geolocation of actions in the user's app. HyperTrack SDK provides Geotags on iOS and Android.

Every important app action that is performed by your app user can be captured as a geotag with a payload that represents it.

HyperTrack platform will process geotags sent from your mobile app in the cloud and process them in real-time with analysis for location accuracy.

Additionally, even if your app user's device is temporarily disconnected due to a network loss, geotags generated by your users will be captured offline and sent to HyperTrack once connection is restored.

important

Geotags are generated in the mobile app through the HyperTrack SDK. Your app is the source of truth for geotagging.

Payload structure

Geotag payload can be a JSON string describing a note your app user may make.

For example, to represent a customer visit, you may want to create this payload as shown below:

{
"product_id": "Kent Ace",
"action": "sold",
"quantity": 5,
"customer_name": "Amit K"
}

As you create a geotag in your app, you do not need to worry about getting location and timing to compose customer event marker payload. HyperTrack will process your geotag payload for location and provide you with distance tracking between geotags.

Examples

The examples below demonstrate how to accomplish this for both iOS and Android with the example payload as discussed:

// create new geotag payload
Map<String,Object> payload = new HashMap<>();
// add event details from the example above
payload.put("product_id", "Kent Ace");
payload.put("action", "sold");
payload.put("quantity", 5);
payload.put("customer_name", "Amit K");
sdkInstance.addGeotag(payload);

Set expected location

Optionally, you can specify an expected location longitude and latitude for a geotag.

This will allow you to measure deviation between actual and expected locations, and measure address accuracy and app user behavior.

In the Dashboard, you can see a geotag with an expected location as described in the next section below.

Please see examples below:

// create new geotag payload
Map<String,Object> payload = new HashMap<>();
// add event details from the example above
payload.put("product_id", "Kent Ace");
payload.put("action", "sold");
payload.put("quantity", 5);
payload.put("customer_name", "Amit K");
val expectedLocation = Location("any")
expectedLocation.longitude = -90.0260493
expectedLocation.latitude = 35.0476912
sdkInstance.addGeotag(payload, expectedLocation);

Consume Geotags

HyperTrack ops view will display geotags in app user timelines. These are fully embeddable views that you can integrate directly into your ops dashboard.

In the map view, once you select the device you are interested in the left column, please click on the pop-up icon next to it to get to a single device view window.

Each geotag is denoted as a blue dotted marker in both your device history timeline as well as on the map itself. Once you zoom in and click on the blue dot you are interested in, you can see the geotags with sales rep visit notes. Each blue dot represents a geotag your app user made from the app by sending a geotag to HyperTrack.

Geotag in Dashboard

This view demonstrates how your a geotag will be displayed by HyperTrack after it's delivered from your user's mobile app. HyperTrack also provides location and timestamp in addition to the payload data from the example above.

If your app sends a geotag with an expected location, you can view the geotagged location and deviation from expected location as shown in the image below.

Geotag with expected location in Dashboard

Map view

Geotags generated by your app users are aggregated and presented in Geotags map view in your ops view. Geotags map view provides an aggregate of the total number of geotags created for selected days. The view is organized by day and timezone.

Aggragate Geotags View

Geotags can be sorted by creation time (time), route duration, route distance from previous geotag, and deviation from expected location.

Aggragate Geotags View sort

Geotags may be filtered by geotag metadata.

Aggragate Geotags View filter

Scoreboard

Geotags generated by your app users can be viewed via Scoreboard in HyperTrack Dashboard as shown in the screenshot below. The Scoreboard charts show geotag counts, average route time and distances.

Scoreboards Geotags ViewScoreboards Geotags ViewScoreboards Geotags View

Insights

Geotags generated by your app users are aggregated and presented in Insights.

Geotags Insights provide aggregates of the geotags that have been logged by your app users in the selected time range. You can also see your geotags’ metadata so that you can sort and make groups using these values. Group by geotag metadata to slice your data by the attributes that segment the key moments of your day-to-day operations. An additional group-by tag of ‘App User’ is provided to slice your data by user.

Insights Geotags View

Webhooks

If your app business workflow requires real-time integration of app user's notes as they take place, you may use HyperTrack webhooks feature to get this information.

Please review an example payload as shown below.

You can see that not only you get back payload data your app user generated from the mobile app, but also route_to data which contain distance in meters, duration in seconds, start_location from the previous geotag event for which distance and duration is generated, as well as recorded_at timestamp which captures the time this geotag was received from your user's app.

Plus, you get location that HyperTrack captures for you when your app user generates a note in the app.

{
"created_at": "2019-07-01T14:01:00.000000Z",
"recorded_at": "2019-07-01T14:00:00.000000Z",
"data": {
"metadata": {
"product_id": "Kent Ace",
"action": "sold",
"quantity": 5,
"customer_name": "Amit K"
},
"route_to":{
"distance": 238,
"duration": 63,
"start_location": {
"geometry": {
"coordinates": [
-6.271,
57.6398983
],
"type": "Point"
},
"recorded_at": "2019-07-01T13:52:08.213000Z"
}
}
},
"location": {
"type": "Point",
"coordinates": [
-6.2755,
57.6398983
]
},
"device_id": "00112233-4455-6677-8899-AABBCCDDEEFF",
"type": "geotag",
"version": "2.0.0"
}

Questions?

If you have questions or comments on any of the topics above, please do not hesitate to contact us.