Source: https://developers.woosmap.com/products/geofencing-sdk/tracking-profiles/tracking-profiles/

> For clean Markdown of any page, append `.md` to the page URL.

> For a complete documentation index, see https://developers.woosmap.com/llms.txt

# What is a tracking profiles



## User Location Tracking

The Woosmap Geofencing SDK allows the tracking of users’ location data (latitude and longitude) by leveraging upon the
native location capacity of each platform, Android or iOS.

When a user opens your app integrating the SDK, a modal popup is displayed to let him share his location. When the user
allows the sharing, the device gathers information about all available sources of location information including Global
Positioning System (GPS), nearby Wi-Fi hotspots, cell towers, and IP Address. This is commonly referred to as “Location
Services”. 

The SDK crosses the differences between Android and iOS and offers a simpler and customizable way to interact with those
services.

## Preset Tracking Profiles

According to in-app location collection parameters and allowed permissions from the user, location services may collect
regularly with a higher accuracy, when the app is in use or not, and draining more battery. Depending on your use case,
it can be required to get the best accuracy as possible with real-time updates but most often, it is not - or not at
every moment of the customer journey. The SDK lets developers activate the most appropriate tracking profile from three
different pre-built options.

![Woosmap Tracking Profiles](/assets/images/geofencing-sdk/tracking_profile-final.jpg)

- **Passive Tracking**: with lower accuracy and lower frequency of location updates and low power battery usage.

- **Visits Tracking**: tracking medium accuracy, useful to track user’s stops and Zone of Interest.

- **Live Tracking**: with higher accuracy and higher frequency of location updates and draining the battery more quickly.

Tracking Profiles can be adapted and toggled during the customer journey from one to the other. For example, a fast-food
chain app might want to set a Live Tracking profile when a user has just finalized a Click & Collect order, then stop
tracking when he picked up the order.

> 
> ### Android Battery Optimization
>
> If you are developing your application on Android and want to further optimize battery usage, we recommend using the `optimalPassiveTracking` profile. With this profile,
>
> - The SDK triggers updates only when movement exceeds a set distance.  
> - **Default threshold:** 50 meters  
> - **Customize with:**
>
>```java
>WoosmapSettings.setDistanceDisplacementFilter(int meters);
>```

## Custom Tracking Profile

It is now possible to use your own tracking profile by creating a Json file and play with tracking parameters to build a suitable profile. In addition you can externalize the Json file to make it dynamic and adjust some parameters without release a new version of your mobile application.
