> ## Documentation Index
> Fetch the complete documentation index at: https://radarlabs-joeross-add-chain-to-chain-list.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# MoEngage

import Tabs from "@theme/Tabs";
import TabItem from "@theme/TabItem";
import InlineTabs from "../../src/components/InlineTabs";
import InlineTabItem from "../../src/components/InlineTabItem";

<Info>
  The MoEngage integration is available on the [**Enterprise plan**](https://radar.com/pricing).
</Info>

Radar can send events and user attributes to [MoEngage](https://www.moengage.com/).

Use the MoEngage integration to send location-triggered and location-targeted messages to increase engagement and conversion.

## Configuration

On the MoEngage *APIs* page, copy both your Workspace ID and Data API Key.

Then, on the Radar [Integrations page](https://radar.com/dashboard/integrations#moengage) under *MoEngage*, set *Enabled* to *Yes* and paste your Workspace ID and Data API key into their respective fields. Finally, if your account is not on `https://api-01.moengage.com`, select the appropriate *API Endpoint*.

Whenever events are generated, Radar will send custom events and user attributes to MoEngage.

Set `metadata[moengage:customer_id]` to map Radar users to their respective MoEngage User. For example:

<CodeGroup>
  ```swift Swift theme={null}
  Radar.setMetadata(["moengage:customer_id": "example@radar.com"])
  ```

  ```kotlin Java theme={null}
  Radar.setMetadata(JSONObject().put("moengage:customer_id", "example@radar.com"))
  ```
</CodeGroup>

## User mapping

| Radar User Field | MoEngage User Attribute | Type | Example Value | Context Type |
| - | - | - | - | - |
| `metadata[moengage:customer_id]` | `ID` | string | `"example@radar.com"` | |
| `_id` | `radar_id` | string | `"5b2c0906f5874b001aecfd8d"` | |
| `locationAuthorization` | `radar_location_authorization` | string | `"GRANTED_FOREGROUND"` | |
| `locationAccuracyAuthorization` | `radar_location_accuracy_authorization` | string | `"FULL"` | |
| `updatedAt` | `radar_updated_at` | timestamp | `"25 Jul 2025, 10:36:17 am"` | |
| `segments[*].externalId` | `radar_segment_external_ids` | array\[string] | `["starbucks-visitors"]` | |
| `topChains[*].slug` | `radar_top_chain_slugs` | array\[string] | `["starbucks", "walmart"]` | |
| `topChains[*].externalId` | `radar_top_chain_external_ids` | array\[string] | `["123", "456"]` | |
| `geofences[*]._id` | `radar_geofence_ids` | array\[string] | `["5b2c0906f5874b001aecfd8e"]` | [Geofences](/geofences) |
| `geofences[*].description` | `radar_geofence_descriptions` | array\[string] | `["Store #123"]` | [Geofences](/geofences) |
| `geofences[*].tag` | `radar_geofence_tags` | array\[string] | `["store"]` | [Geofences](/geofences) |
| `geofences[*].externalId` | `radar_geofence_external_ids` | array\[string] | `["123"]` | [Geofences](/geofences) |
| `place._id` | `radar_place_id` | string | `"59302bcf8f27e8a156bd4f91"` | [Places](/places) |
| `place.name` | `radar_place_name` | string | `"Starbucks"` | [Places](/places) |
| `place.categories` | `radar_place_categories` | array\[string] | `["food-beverage", "cafe", "coffee-shop"]` | [Places](/places) |
| `place.chain.slug` | `radar_place_chain_id` | string | `"starbucks"` | [Places](/places) |
| `place.chain.name` | `radar_place_chain_name` | string | `"Starbucks"` | [Places](/places) |
| `country.code` | `radar_region_country_code` | string | `"US"` | [Regions](/regions) |
| `country.name` | `radar_region_country_name` | string | `"United States"` | [Regions](/regions) |
| `state.code` | `radar_region_state_code` | string | `"MD"` | [Regions](/regions) |
| `state.name` | `radar_region_state_name` | string | `"Maryland"` | [Regions](/regions) |
| `dma.code` | `radar_region_dma_code` | string | `"26"` | [Regions](/regions) |
| `dma.name` | `radar_region_dma_name` | string | `"Baltimore"` | [Regions](/regions) |
| `postalCode.code` | `radar_region_postal_code` | string | `"21014"` | [Regions](/regions) |
| `trip.externalId` | `radar_trip_external_id` | string | `"299"` | [Trips](/trip-tracking) |
| `trip.destinationGeofenceTag` | `radar_trip_destination_geofence_tag` | string | `"store"` | [Trips](/trip-tracking) |
| `trip.destinationGeofenceExternalId` | `radar_trip_destination_geofence_external_id` | string | `"123"` | [Trips](/trip-tracking) |
| `beacons[*]._id` | `radar_beacon_ids` | array\[string] | `["5b2c0906f5874b001aecfd8f]"` | [Beacons](/beacons) |
| `beacons[*].description` | `radar_beacon_descriptions` | array\[string] | `["Store #123 - Drive-Thru"]` | [Beacons](/beacons) |
| `beacons[*].tag` | `radar_beacon_tags` | array\[string] | `["drive-thru"]` | [Beacons](/beacons) |
| `beacons[*].externalId` | `radar_beacon_external_ids` | array\[string] | `["123"]` | [Beacons](/beacons) |

## Event mapping

| Radar Event | Context Type | MoEngage Event |
| - | - | - |
| `user.entered_geofence` | [Geofences](/geofences) | `[Radar] Geofence Entered` |
| `user.exited_geofence` | [Geofences](/geofences) | `[Radar] Geofence Exited` |
| `user.dwelled_in_geofence` | [Geofences](/geofences) | `[Radar] Dwelled in Geofence` |
| `user.entered_place` | [Places](/places) | `[Radar] Place Entered` |
| `user.exited_place` | [Places](/places) | `[Radar] Place Exited` |
| `user.entered_region_country` | [Regions](/regions) | `[Radar] Country Entered` |
| `user.exited_region_country` | [Regions](/regions) | `[Radar] Country Exited` |
| `user.entered_region_state` | [Regions](/regions) | `[Radar] State Entered` |
| `user.exited_region_state` | [Regions](/regions) | `[Radar] State Exited` |
| `user.entered_region_dma` | [Regions](/regions) | `[Radar] DMA Entered` |
| `user.exited_region_dma` | [Regions](/regions) | `[Radar] DMA Exited` |
| `user.started_trip` | [Trip Tracking](/trip-tracking) | `[Radar] Started Trip` |
| `user.updated_trip` | [Trip Tracking](/trip-tracking) | `[Radar] Updated Trip` |
| `user.approaching_trip_destination` | [Trip Tracking](/trip-tracking) | `[Radar] Approaching Trip Destination` |
| `user.arrived_at_trip_destination` | [Trip Tracking](/trip-tracking) | `[Radar] Arrived at Trip Destination` |
| `user.stopped_trip` | [Trip Tracking](/trip-tracking) | `[Radar] Stopped Trip` |
| `user.entered_beacon` | [Beacons](/beacons) | `[Radar] Beacon Entered` |
| `user.exited_beacon` | [Beacons](/beacons) | `[Radar] Beacon Exited` |

### \[Radar] Geofence Entered

| Radar Event Field | MoEngage Event Property | Type | Example Value |
| - | - | - | - |
| `geofence._id` | `geofence_id` | string | `"5b2c0906f5874b001aecfd8e"` |
| `geofence.description` | `geofence_description` | string | `"Store #123"` |
| `geofence.tag` | `geofence_tag` | string | `"store"` |
| `geofence.externalId` | `geofence_external_id` | string | `"123"` |
| `geofence.metadata[{key}]` | `geofence_metadata_{key}` | type | `{value}` |
| `confidence` | `confidence` | string | `"high"` |
| `foreground` | `foreground` | boolean | `true` |

If [Regions](/regions) is enabled, Radar will also send the following attributes:

| Radar Event Field | MoEngage Event Property | Type | Example Value |
| - | - | - | - |
| `country.code` | `country_code` | string | `"US"` |
| `country.name` | `country_name` | string | `"United States"` |
| `state.code` | `state_code` | string | `"MD"` |
| `state.name` | `state_name` | string | `"Maryland"` |
| `dma.code` | `dma_code` | string | `"26"` |
| `dma.name` | `dma_name` | string | `"Baltimore"` |
| `postalCode.code` | `postal_code` | string | `"21014"` |

### \[Radar] Geofence Exited

| Radar Event Field | MoEngage Event Property | Type | Example Value |
| - | - | - | - |
| `geofence._id` | `geofence_id` | string | `"5b2c0906f5874b001aecfd8e"` |
| `geofence.description` | `geofence_description` | string | `"Store #123"` |
| `geofence.tag` | `geofence_tag` | string | `"store"` |
| `geofence.externalId` | `geofence_external_id` | string | `"123"` |
| `geofence.metadata[{key}]` | `geofence_metadata_{key}` | type | `{value}` |
| `confidence` | `confidence` | string | `"high"` |
| `duration` | `duration` | number (minutes) | `42.1` |
| `foreground` | `foreground` | boolean | `true` |

If [Regions](/regions) is enabled, Radar will also send the following attributes:

| Radar Event Field | MoEngage Event Property | Type | Example Value |
| - | - | - | - |
| `country.code` | `country_code` | string | `"US"` |
| `country.name` | `country_name` | string | `"United States"` |
| `state.code` | `state_code` | string | `"MD"` |
| `state.name` | `state_name` | string | `"Maryland"` |
| `dma.code` | `dma_code` | string | `"26"` |
| `dma.name` | `dma_name` | string | `"Baltimore"` |
| `postalCode.code` | `postal_code` | string | `"21014"` |

### \[Radar] Dwelled in Geofence

| Radar Event Field | MoEngage Event Property | Type | Example Value |
| - | - | - | - |
| `geofence._id` | `geofence_id` | string | `"5b2c0906f5874b001aecfd8e"` |
| `geofence.description` | `geofence_description` | string | `"Store #123"` |
| `geofence.tag` | `geofence_tag` | string | `"store"` |
| `geofence.externalId` | `geofence_external_id` | string | `"123"` |
| `geofence.metadata[{key}]` | `geofence_metadata_{key}` | type | `{value}` |
| `confidence` | `confidence` | string | `"high"` |
| `duration` | `duration` | number (minutes) | `5` |
| `foreground` | `foreground` | boolean | `true` |

If [Regions](/regions) is enabled, Radar will also send the following attributes:

| Radar Event Field | MoEngage Event Property | Type | Example Value |
| - | - | - | - |
| `country.code` | `country_code` | string | `"US"` |
| `country.name` | `country_name` | string | `"United States"` |
| `state.code` | `state_code` | string | `"MD"` |
| `state.name` | `state_name` | string | `"Maryland"` |
| `dma.code` | `dma_code` | string | `"26"` |
| `dma.name` | `dma_name` | string | `"Baltimore"` |
| `postalCode.code` | `postal_code` | string | `"21014"` |

### \[Radar] Place Entered

| Radar Event Field | MoEngage Event Property | Type | Example Value |
| - | - | - | - |
| `place._id` | `place_id` | string | `"59302bcf8f27e8a156bd4f91"` |
| `place.name` | `place_name` | string | `"Starbucks"` |
| `place.chain.slug` | `place_chain_id` | string | `"starbucks"` |
| `place.chain.name` | `place_chain_name` | string | `"Starbucks"` |
| `place.chain.externalId` | `place_chain_external_id` | string | `"123"` |
| `place.chain.metadata[{key}]` | `place_chain_metadata_{key}` | type | `{value}` |
| `place.categories` | `place_categories` | string (comma-separated) | `"food-beverage,cafe,coffee-shop"` |
| `confidence` | `confidence` | string | `"high"` |
| `foreground` | `foreground` | boolean | `true` |

If [Regions](/regions) is enabled, Radar will also send the following attributes:

| Radar Event Field | MoEngage Event Property | Type | Example Value |
| - | - | - | - |
| `country.code` | `country_code` | string | `"US"` |
| `country.name` | `country_name` | string | `"United States"` |
| `state.code` | `state_code` | string | `"MD"` |
| `state.name` | `state_name` | string | `"Maryland"` |
| `dma.code` | `dma_code` | string | `"26"` |
| `dma.name` | `dma_name` | string | `"Baltimore"` |
| `postalCode.code` | `postal_code` | string | `"21014"` |

### \[Radar] Place Exited

| Radar Event Field | MoEngage Event Property | Type | Example Value |
| - | - | - | - |
| `place._id` | `place_id` | string | `"59302bcf8f27e8a156bd4f91"` |
| `place.name` | `place_name` | string | `"Starbucks"` |
| `place.chain.slug` | `place_chain_id` | string | `"starbucks"` |
| `place.chain.name` | `place_chain_name` | string | `"Starbucks"` |
| `place.chain.externalId` | `place_chain_external_id` | string | `"123"` |
| `place.chain.metadata[{key}]` | `place_chain_metadata_{key}` | type | `{value}` |
| `place.categories` | `place_categories` | string (comma-separated) | `"food-beverage,cafe,coffee-shop"` |
| `confidence` | `confidence` | string | `"high"` |
| `duration` | `duration` | number (minutes) | `42.1` |
| `foreground` | `foreground` | boolean | `true` |

If [Regions](/regions) is enabled, Radar will also send the following attributes:

| Radar Event Field | MoEngage Event Property | Type | Example Value |
| - | - | - | - |
| `country.code` | `country_code` | string | `"US"` |
| `country.name` | `country_name` | string | `"United States"` |
| `state.code` | `state_code` | string | `"MD"` |
| `state.name` | `state_name` | string | `"Maryland"` |
| `dma.code` | `dma_code` | string | `"26"` |
| `dma.name` | `dma_name` | string | `"Baltimore"` |
| `postalCode.code` | `postal_code` | string | `"21014"` |

### \[Radar] Country Entered

| Radar Event Field | MoEngage Event Property | Type | Example Value |
| - | - | - | - |
| `region.code` | `region_code` | string | `"US"` |
| `region.name` | `region_name` | string | `"United States"` |
| `confidence` | `confidence` | string | `"high"` |
| `foreground` | `foreground` | boolean | `true` |

### \[Radar] Country Exited

| Radar Event Field | MoEngage Event Property | Type | Example Value |
| - | - | - | - |
| `region.code` | `region_code` | string | `"US"` |
| `region.name` | `region_name` | string | `"United States"` |
| `confidence` | `confidence` | string | `"high"` |
| `foreground` | `foreground` | boolean | `true` |

### \[Radar] State Entered

| Radar Event Field | MoEngage Event Property | Type | Example Value |
| - | - | - | - |
| `region.code` | `region_code` | string | `"MD"` |
| `region.name` | `region_name` | string | `"Maryland"` |
| `confidence` | `confidence` | string | `"high"` |
| `foreground` | `foreground` | boolean | `true` |

### \[Radar] State Exited

| Radar Event Field | MoEngage Event Property | Type | Example Value |
| - | - | - | - |
| `region.code` | `region_code` | string | `"MD"` |
| `region.name` | `region_name` | string | `"Maryland"` |
| `confidence` | `confidence` | string | `"high"` |
| `foreground` | `foreground` | boolean | `true` |

### \[Radar] DMA Entered

| Radar Event Field | MoEngage Event Property | Type | Example Value |
| - | - | - | - |
| `region.code` | `region_code` | string | `"26"` |
| `region.name` | `region_name` | string | `"Baltimore"` |
| `confidence` | `confidence` | string | `"high"` |
| `foreground` | `foreground` | boolean | `true` |

### \[Radar] DMA Exited

| Radar Event Field | MoEngage Event Property | Type | Example Value |
| - | - | - | - |
| `region.code` | `region_code` | string | `"26"` |
| `region.name` | `region_name` | string | `"Baltimore"` |
| `confidence` | `confidence` | string | `"high"` |
| `foreground` | `foreground` | boolean | `true` |

### \[Radar] Started Trip

| Radar Event Attribute | MoEngage Event Property | Type | Example Value |
| - | - | - | - |
| `trip.externalId` | `trip_external_id` | string | `"299"` |
| `trip.metadata[{key}]` | `trip_metadata_{key}` | type | `{value}` |
| `trip.destinationGeofenceTag` | `trip_destination_geofence_tag` | string | `"store"` |
| `trip.destinationGeofenceExternalId` | `trip_destination_geofence_external_id` | string | `"123"` |
| `foreground` | `foreground` | boolean | `true` |

### \[Radar] Updated Trip

| Radar Event Attribute | MoEngage Event Property | Type | Example Value |
| - | - | - | - |
| `trip.externalId` | `trip_external_id` | string | `"299"` |
| `trip.metadata[{key}]` | `trip_metadata_{key}` | type | `{value}` |
| `trip.destinationGeofenceTag` | `trip_destination_geofence_tag` | string | `"store"` |
| `trip.destinationGeofenceExternalId` | `trip_destination_geofence_external_id` | string | `"123"` |
| `foreground` | `foreground` | boolean | `true` |

### \[Radar] Approaching Trip Destination

| Radar Event Attribute | MoEngage Event Property | Type | Example Value |
| - | - | - | - |
| `trip.externalId` | `trip_external_id` | string | `"299"` |
| `trip.metadata[{key}]` | `trip_metadata_{key}` | type | `{value}` |
| `trip.destinationGeofenceTag` | `trip_destination_geofence_tag` | string | `"store"` |
| `trip.destinationGeofenceExternalId` | `trip_destination_geofence_external_id` | string | `"123"` |
| `foreground` | `foreground` | boolean | `true` |

### \[Radar] Arrived at Trip Destination

| Radar Event Attribute | MoEngage Event Property | Type | Example Value |
| - | - | - | - |
| `trip.externalId` | `trip_external_id` | string | `"299"` |
| `trip.metadata[{key}]` | `trip_metadata_{key}` | type | `{value}` |
| `trip.destinationGeofenceTag` | `trip_destination_geofence_tag` | string | `"store"` |
| `trip.destinationGeofenceExternalId` | `trip_destination_geofence_external_id` | string | `"123"` |
| `foreground` | `foreground` | boolean | `true` |

### \[Radar] Stopped Trip

| Radar Event Attribute | MoEngage Event Property | Type | Example Value |
| - | - | - | - |
| `trip.externalId` | `trip_external_id` | string | `"299"` |
| `trip.metadata[{key}]` | `trip_metadata_{key}` | type | `{value}` |
| `trip.destinationGeofenceTag` | `trip_destination_geofence_tag` | string | `"store"` |
| `trip.destinationGeofenceExternalId` | `trip_destination_geofence_external_id` | string | `"123"` |
| `foreground` | `foreground` | boolean | `true` |

### \[Radar] Beacon Entered

| Radar Event Attribute | MoEngage Event Property | Type | Example Value |
| - | - | - | - |
| `beacon._id` | `beacon_id` | string | `"5b2c0906f5874b001aecfd8f"` |
| `beacon.description` | `radar_beacon_description` | string | `"Store #123 - Drive-Thru"` |
| `beacon.tag` | `radar_beacon_tag` | string | `"drive-thru"` |
| `beacon.externalId` | `radar_beacon_external_id` | string | `"123"` |
| `beacon.metadata[{key}]` | `radar_beacon_metadata_{key}` | type | `{value}` |
| `confidence` | `confidence` | string | `"high"` |
| `foreground` | `foreground` | boolean | `true` |

### \[Radar] Beacon Exited

| Radar Event Attribute | MoEngage Event Property | Type | Example Value |
| - | - | - | - |
| `beacon._id` | `beacon_id` | string | `"5b2c0906f5874b001aecfd8f"` |
| `beacon.description` | `radar_beacon_description` | string | `"Store #123 - Drive-Thru"` |
| `beacon.tag` | `radar_beacon_tag` | string | `"drive-thru"` |
| `beacon.externalId` | `radar_beacon_external_id` | string | `"123"` |
| `beacon.metadata[{key}]` | `radar_beacon_metadata_{key}` | type | `{value}` |
| `confidence` | `confidence` | string | `"high"` |
| `foreground` | `foreground` | boolean | `true` |
