Want to save this article for later?
With Geo-Radius Targeting, you can identify and message users based on their proximity to a specific address. This is great for businesses that have local offerings and need to send highly relevant messages to their users based on something nearby.
Say for example you want to notify users about an event or offer in their immediate vicinity. Create a new Push Campaign and under “Filter by Common Properties” select Geography Radius. Drop a pin or type in an address and we target every user whose last known location was within 2KM (or whatever distance you choose).
You can select a single address or multiple addresses. If you select multiple addresses, our query will identify all users who are within the specified radius of Either Address 1 OR Address 2. The ability to select multiple addresses is great for businesses with multiple locations they intend to target around.
Take a look at this short video to see it in action.
Geo-Radius Targeting relies on the user location as of the last time your App was launched.
There is no way for CleverTap to automatically identify the user’s location at App Launch time on iOS. To enable Geo-Radius Targeting, the user location must be provided by the App and passed to the SDK using setLocation:
With setLocation, you determine the granularity and frequency of updates for the user’s location based on the accuracy you require in your Geo-Radius Campaigns.
When permitted, the CleverTap SDK automatically collects and sets the device location. The application is responsible for requesting the user’s permission to use location. If this permission is granted, location is accessible to CleverTap.
On Android, location is provided to the application via the Android Location API. The Android Location API provides two options:
Unless your application is dependent on extremely accurate location data, we recommend selecting the Coarse_Location option since it has better battery performance characteristics. The accuracy of course location is roughly one city block.
The location is updated in CleverTap each time the application is launched and each time the user performs an action in the App (or every 20 minutes if there is no activity in the App).
For more frequent location updates, the App can pass the location to the SDK using updateLocation:
clevertap = CleverTapAPI.getInstance(getApplicationContext()); clevertap.updateLocation(location); //android.location.Location