Skip to main content
You must have an Enterprise plan to use the Radar integration.

Introduction

Radar is a comprehensive location platform that offers geofencing, geocoding, and maps to power location-based experiences across millions of devices worldwide. Its core products include Geofences, Trip Tracking, and Geo APIs.

MoEngage and Radar

The integration between MoEngage and Radar leverages the power of location-based data to enhance your marketing campaigns. You can use Radar’s Geo APIs to show nearby places in MoEngage campaigns, providing users with relevant and contextual information. With this integration, you can:
  • Send location-triggered and location-targeted messages to increase engagement and conversion.
  • Synchronize user attributes and events from Radar to MoEngage.
  • Automate campaigns when a user is near a physical store.
  • Track a user’s journey to trigger campaigns based on their trip data.

Use cases

Integrating Radar with MoEngage helps you solve the following use cases:
  • Location-triggered engagement: When users enter or exit a geofence around your physical store, trigger a personalized campaign — such as a promotional message or a special offer — that encourages them to visit.
  • Location-targeted campaigns: Send location-based messages to users who are near a specific store or event to drive engagement and conversion with relevant, contextual information.
  • Sync user and event data: Automatically sync user attributes and events from Radar to MoEngage. This gives you a unified user profile across both platforms that you can use for targeted marketing.

Integration

Prerequisites

Step 1: Configure MoEngage in Radar

To connect MoEngage to Radar, perform the following steps:
  1. On the MoEngage UI, navigate to Settings > Account > APIs.
  2. Copy the value under Workspace ID (formerly App ID).
  3. In the API keys section, copy the API key on the Data tile. MoEngage Settings page showing the Workspace ID and Data API key fields
  4. On the Radar dashboard, navigate to the Integrations page and click MoEngage.
  5. Set the Enabled option to Yes, then paste your Workspace ID and Data API Key into their respective fields.
  6. Select the API Endpoint that matches your MoEngage data center (for example, if your account is not on https://api-01.moengage.com, choose the correct endpoint). After this configuration, Radar automatically sends custom events and user attributes to MoEngage in real time.
  7. Set the moengage:customer_id metadata key on each Radar user to map them to the corresponding MoEngage user profile:
    Radar.setMetadata(JSONObject().put("moengage:customer_id", "[email protected]"))
    

Send Users and Events to MoEngage

This section outlines how user attributes and events flow from Radar to MoEngage.

User Attribute Mapping

The following table shows how Radar user fields map to MoEngage user attributes:
Radar User FieldMoEngage User AttributeTypeExample Value
metadata[moengage:customer_id]IDstring"[email protected]"
_idradar_idstring"5b2c0906f5874b001aecfd8d"
locationAuthorizationradar_location_authorizationstring"GRANTED_FOREGROUND"
locationAccuracyAuthorizationradar_location_accuracy_authorizationstring"FULL"
updatedAtradar_updated_attimestamp"25 Jul 2025, 10:36:17 am"
segments[*].externalIdradar_segment_external_idsarray[string]["starbucks-visitors"]
topChains[*].slugradar_top_chain_slugsarray[string]["starbucks", "walmart"]
topChains[*].externalIdradar_top_chain_external_idsarray[string]["123", "456"]
geofences[*]._idradar_geofence_idsarray[string]["5b2c0906f5874b001aecfd8e"]
geofences[*].descriptionradar_geofence_descriptionsarray[string]["Store #123"]
geofences[*].tagradar_geofence_tagsarray[string]["store"]
geofences[*].externalIdradar_geofence_external_idsarray[string]["123"]
place._idradar_place_idstring"59302bcf8f27e8a156bd4f91"
place.nameradar_place_namestring"Starbucks"
place.categoriesradar_place_categoriesarray[string]["food-beverage", "cafe", "coffee-shop"]
place.chain.slugradar_place_chain_idstring"starbucks"
place.chain.nameradar_place_chain_namestring"Starbucks"
country.coderadar_region_country_codestring"US"
country.nameradar_region_country_namestring"United States"
state.coderadar_region_state_codestring"MD"
state.nameradar_region_state_namestring"Maryland"
dma.coderadar_region_dma_codestring"26"
dma.nameradar_region_dma_namestring"Baltimore"
postalCode.coderadar_region_postal_codestring"21014"
trip.externalIdradar_trip_external_idstring"299"
trip.destinationGeofenceTagradar_trip_destination_geofence_tagstring"store"
trip.destinationGeofenceExternalIdradar_trip_destination_geofence_external_idstring"123"
beacons[*]._idradar_beacon_idsarray[string]["5b2c0906f5874b001aecfd8f"]
beacons[*].descriptionradar_beacon_descriptionsarray[string]["Store #123 - Drive-Thru"]
beacons[*].tagradar_beacon_tagsarray[string]["drive-thru"]
beacons[*].externalIdradar_beacon_external_idsarray[string]["123"]

Event Attribute Mapping

The following tables show how Radar event fields map to MoEngage user attributes: Event Mapping
Radar EventContext TypeMoEngage Event
user.entered_geofenceGeofences[Radar] Geofence Entered
user.exited_geofenceGeofences[Radar] Geofence Exited
user.dwelled_in_geofenceGeofences[Radar] Dwelled in Geofence
user.entered_placePlaces[Radar] Place Entered
user.exited_placePlaces[Radar] Place Exited
user.entered_region_countryRegions[Radar] Country Entered
user.exited_region_countryRegions[Radar] Country Exited
user.entered_region_stateRegions[Radar] State Entered
user.exited_region_stateRegions[Radar] State Exited
user.entered_region_dmaRegions[Radar] DMA Entered
user.exited_region_dmaRegions[Radar] DMA Exited
user.started_tripTrip Tracking[Radar] Started Trip
user.updated_tripTrip Tracking[Radar] Updated Trip
user.approaching_trip_destinationTrip Tracking[Radar] Approaching Trip Destination
user.arrived_at_trip_destinationTrip Tracking[Radar] Arrived at Trip Destination
user.stopped_tripTrip Tracking[Radar] Stopped Trip
user.entered_beaconBeacons[Radar] Beacon Entered
user.exited_beaconBeacons[Radar] Beacon Exited
[Radar] Geofence Entered
Radar Event FieldMoEngage Event PropertyTypeExample Value
geofence._idgeofence_idstring"5b2c0906f5874b001aecfd8e"
geofence.descriptiongeofence_descriptionstring"Store #123"
geofence.taggeofence_tagstring"store"
geofence.externalIdgeofence_external_idstring"123"
geofence.metadata[{key}]geofence_metadata_{key}type{value}
confidenceconfidencestring"high"
foregroundforegroundbooleantrue
If Regions is enabled, Radar sends the following attributes:
Radar Event FieldMoEngage Event PropertyTypeExample Value
country.codecountry_codestring"US"
country.namecountry_namestring"United States"
state.codestate_codestring"MD"
state.namestate_namestring"Maryland"
dma.codedma_codestring"26"
dma.namedma_namestring"Baltimore"
postalCode.codepostal_codestring"21014"
[Radar] Geofence Exited
Radar Event FieldMoEngage Event PropertyTypeExample Value
geofence._idgeofence_idstring"5b2c0906f5874b001aecfd8e"
geofence.descriptiongeofence_descriptionstring"Store #123"
geofence.taggeofence_tagstring"store"
geofence.externalIdgeofence_external_idstring"123"
geofence.metadata[{key}]geofence_metadata_{key}type{value}
confidenceconfidencestring"high"
durationdurationnumber (minutes)42.1
foregroundforegroundbooleantrue
If Regions is enabled, Radar sends the following attributes:
Radar Event FieldMoEngage Event PropertyTypeExample Value
country.codecountry_codestring"US"
country.namecountry_namestring"United States"
state.codestate_codestring"MD"
state.namestate_namestring"Maryland"
dma.codedma_codestring"26"
dma.namedma_namestring"Baltimore"
postalCode.codepostal_codestring"21014"
[Radar] Dwelled in Geofence
Radar Event fieldMoEngage Event propertyTypeExample Value
geofence._idgeofence_idstring"5b2c0906f5874b001aecfd8e"
geofence.descriptiongeofence_descriptionstring"Store #123"
geofence.taggeofence_tagstring"store"
geofence.externalIdgeofence_external_idstring"123"
geofence.metadata[{key}]geofence_metadata_{key}type{value}
confidenceconfidencestring"high"
durationdurationnumber (minutes)5
foregroundforegroundbooleantrue
If Regions is enabled, Radar sends the following attributes:
Radar Event FieldMoEngage Event PropertyTypeExample Value
country.codecountry_codestring"US"
country.namecountry_namestring"United States"
state.codestate_codestring"MD"
state.namestate_namestring"Maryland"
dma.codedma_codestring"26"
dma.namedma_namestring"Baltimore"
postalCode.codepostal_codestring"21014"
[Radar] Place Entered
Radar Event FieldMoEngage Event PropertyTypeExample Value
place._idplace_idstring"59302bcf8f27e8a156bd4f91"
place.nameplace_namestring"Starbucks"
place.chain.slugplace_chain_idstring"starbucks"
place.chain.nameplace_chain_namestring"Starbucks"
place.chain.externalIdplace_chain_external_idstring"123"
place.chain.metadata[{key}]place_chain_metadata_{key}type{value}
place.categoriesplace_categoriesstring (comma-separated)"food-beverage,cafe,coffee-shop"
confidenceconfidencestring"high"
foregroundforegroundbooleantrue
If Regions is enabled, Radar sends the following attributes:
Radar Event FieldMoEngage Event PropertyTypeExample Value
country.codecountry_codestring"US"
country.namecountry_namestring"United States"
state.codestate_codestring"MD"
state.namestate_namestring"Maryland"
dma.codedma_codestring"26"
dma.namedma_namestring"Baltimore"
postalCode.codepostal_codestring"21014"
[Radar] Place Exited
Radar Event FieldMoEngage Event PropertyTypeExample Value
place._idplace_idstring"59302bcf8f27e8a156bd4f91"
place.nameplace_namestring"Starbucks"
place.chain.slugplace_chain_idstring"starbucks"
place.chain.nameplace_chain_namestring"Starbucks"
place.chain.externalIdplace_chain_external_idstring"123"
place.chain.metadata[{key}]place_chain_metadata_{key}type{value}
place.categoriesplace_categoriesstring (comma-separated)"food-beverage,cafe,coffee-shop"
confidenceconfidencestring"high"
durationdurationnumber (minutes)42.1
foregroundforegroundbooleantrue
If Regions is enabled, Radar sends the following attributes:
Radar Event FieldMoEngage Event PropertyTypeExample Value
country.codecountry_codestring"US"
country.namecountry_namestring"United States"
state.codestate_codestring"MD"
state.namestate_namestring"Maryland"
dma.codedma_codestring"26"
dma.namedma_namestring"Baltimore"
postalCode.codepostal_codestring"21014"
[Radar] Country Entered
Radar Event FieldMoEngage Event PropertyTypeExample Value
region.coderegion_codestring"US"
region.nameregion_namestring"United States"
confidenceconfidencestring"high"
foregroundforegroundbooleantrue
[Radar] Country Exited
Radar Event FieldMoEngage Event PropertyTypeExample Value
region.coderegion_codestring"US"
region.nameregion_namestring"United States"
confidenceconfidencestring"high"
foregroundforegroundbooleantrue
[Radar] State Entered
Radar Event FieldMoEngage Event PropertyTypeExample Value
region.coderegion_codestring"MD"
region.nameregion_namestring"Maryland"
confidenceconfidencestring"high"
foregroundforegroundbooleantrue
[Radar] State Exited
Radar Event FieldMoEngage Event PropertyTypeExample Value
region.coderegion_codestring"MD"
region.nameregion_namestring"Maryland"
confidenceconfidencestring"high"
foregroundforegroundbooleantrue
[Radar] DMA Entered
Radar Event FieldMoEngage Event PropertyTypeExample Value
region.coderegion_codestring"26"
region.nameregion_namestring"Baltimore"
confidenceconfidencestring"high"
foregroundforegroundbooleantrue
[Radar] DMA Exited
Radar Event FieldMoEngage Event PropertyTypeExample Value
region.coderegion_codestring"26"
region.nameregion_namestring"Baltimore"
confidenceconfidencestring"high"
foregroundforegroundbooleantrue
[Radar] Started Trip
Radar Event AttributeMoEngage Event propertyTypeExample Value
trip.externalIdtrip_external_idstring"299"
trip.metadata[{key}]trip_metadata_{key}type{value}
trip.destinationGeofenceTagtrip_destination_geofence_tagstring"store"
trip.destinationGeofenceExternalIdtrip_destination_geofence_external_idstring"123"
foregroundforegroundbooleantrue
[Radar] Updated Trip
Radar Event attributeMoEngage Event PropertyTypeExample Value
trip.externalIdtrip_external_idstring"299"
trip.metadata[{key}]trip_metadata_{key}type{value}
trip.destinationGeofenceTagtrip_destination_geofence_tagstring"store"
trip.destinationGeofenceExternalIdtrip_destination_geofence_external_idstring"123"
foregroundforegroundbooleantrue
[Radar] Approaching Trip Destination
Radar Event AttributeMoEngage Event PropertyTypeExample Value
trip.externalIdtrip_external_idstring"299"
trip.metadata[{key}]trip_metadata_{key}type{value}
trip.destinationGeofenceTagtrip_destination_geofence_tagstring"store"
trip.destinationGeofenceExternalIdtrip_destination_geofence_external_idstring"123"
foregroundforegroundbooleantrue
[Radar] Arrived at Trip Destination
Radar Event AttributeMoEngage Event PropertyTypeExample Value
trip.externalIdtrip_external_idstring"299"
trip.metadata[{key}]trip_metadata_{key}type{value}
trip.destinationGeofenceTagtrip_destination_geofence_tagstring"store"
trip.destinationGeofenceExternalIdtrip_destination_geofence_external_idstring"123"
foregroundforegroundbooleantrue
[Radar] Stopped Trip
Radar Event AttributeMoEngage Event PropertyTypeExample Value
trip.externalIdtrip_external_idstring"299"
trip.metadata[{key}]trip_metadata_{key}type{value}
trip.destinationGeofenceTagtrip_destination_geofence_tagstring"store"
trip.destinationGeofenceExternalIdtrip_destination_geofence_external_idstring"123"
foregroundforegroundbooleantrue
[Radar] Beacon Entered
Radar Event AttributeMoEngage Event PropertyTypeExample Value
beacon._idbeacon_idstring"5b2c0906f5874b001aecfd8f"
beacon.descriptionradar_beacon_descriptionstring"Store #123 - Drive-Thru"
beacon.tagradar_beacon_tagstring"drive-thru"
beacon.externalIdradar_beacon_external_idstring"123"
beacon.metadata[{key}]radar_beacon_metadata_{key}type{value}
confidenceconfidencestring"high"
foregroundforegroundbooleantrue
[Radar] Beacon Exited
Radar Event AttributeMoEngage Event PropertyTypeExample Value
beacon._idbeacon_idstring"5b2c0906f5874b001aecfd8f"
beacon.descriptionradar_beacon_descriptionstring"Store #123 - Drive-Thru"
beacon.tagradar_beacon_tagstring"drive-thru"
beacon.externalIdradar_beacon_external_idstring"123"
beacon.metadata[{key}]radar_beacon_metadata_{key}type{value}
confidenceconfidencestring"high"
foregroundforegroundbooleantrue

Display Nearby Places in MoEngage Campaigns

Use the Radar Geo APIs to enrich your campaigns with dynamic, location-based information — such as displaying nearby places directly inside a campaign message. This involves setting up a MoEngage Content API that calls the Radar Search Places API.

Step 1: Set up a MoEngage Content API

To set up a MoEngage Content API, perform the following steps:
  1. On the MoEngage UI, navigate to Settings > Advanced settings > Content API.
  2. Click + Add content API in the upper-right corner. The Add content API dialog box appears. MoEngage Content API list with the Add content API button highlighted
  3. Configure the API endpoint URL:
    1. In the API name box, type a descriptive name for the API (for example, RadarNearbyPlaces).
    2. Under Method, select GET.
    3. In the URL box, paste the Radar Search Places endpoint with the user’s latitude and longitude as parameters:
      https://api.radar.io/v1/search/places?near={{UserAttribute['Latitude']}},{{UserAttribute['Longitude']}}&chains=starbucks&limit=5
      
      The endpoint URL varies depending on your use case. For all supported parameters, see the Radar Search Places API reference.
  4. In the URL Parameters section, specify your chains.
    If your project has a chain mapping, use the mapped ID instead of the chain slug.
  5. Under Headers, provide the required key-value pair (for example, Authorization: <your-api-key>). MoEngage Add content API dialog with URL parameters and headers configured for Radar
  6. Under the Dynamic values section, define keys and their corresponding values.
  7. Click Save.
For more information about Content APIs, see Content APIs.

Step 2: Display Places Inside MoEngage Campaigns

After setting up the Content API, use it in your campaigns to display nearby places:
  1. In step 2 of campaign creation, type @. The Personalization dialog box appears.
  2. In the Select attribute list, click the Radar Nearby Places Content API you configured in the previous step.
  3. Use the MoEngage Templating Language to parse the API response and include the content in your campaign. The Jinja snippet below iterates through the list of places and prints their names:
    {% set response = ContentApi.RadarNearbyPlaces({"params":{"near":"{{UserAttribute['Latitude']}},{{UserAttribute['Longitude']}}","chains":"target,walmart"},"static_params":{},"dynamic_params":{},"request_body":{}}) %}
    {% for place in response.places %}
    {{ place.name }}
    {% endfor %}
    
  4. Click Preview to see your campaign rendered with real-time personalization. MoEngage campaign preview showing nearby places returned by the Radar Content API