> ## Documentation Index
> Fetch the complete documentation index at: https://radarlabs-rob-onesignal-api-migration.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Braze

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

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

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

## Configuration

On the Braze *API Keys* page under *Rest API Keys*, create and copy a new workspace API key with `users.track` permissions. Under *Identification*, copy your iOS and Android app identifiers.

Then, on the Radar [Integrations page](https://dashboard.radar.com/integrations#braze) under *Braze*, set *Enabled* to *Yes* and paste your API key and app identifiers. Note that you can set separate API keys and app identifiers for the *Test* and *Live* environments. Finally, if your account is not on `https://rest.iad-01.braze.com`, select the appropriate *API Endpoint*.

Whenever events are generated, Radar will send custom events and user attributes to Braze. Events and user attributes from iOS devices will be sent using your iOS app identifiers, and events and user attributes from Android devices will be sent using your Android app identifiers.

By default, Radar `userId` maps to Braze `external_id` for logged in users. However, you can track logged out users or specify custom mappings by setting Radar `metadata.brazeAlias` or `metadata.brazeExternalId`. If you set `metadata.brazeAlias`, you must also add a matching alias in Braze with label `radarAlias`.

<CodeGroup>
  ```swift Swift theme={null}
  // track logged out users with alias (deviceId recommended, not required if not tracking logged out users)
  Radar.setMetadata(["brazeAlias": deviceId])AppDelegate.braze?.user.addAlias(deviceId, withLabel: "radarAlias")
  // track logged in users with custom external_id mapping (not required if using default mapping)
  Radar.setMetadata(["brazeExternalId": userId])AppDelegate.braze?.changeUser(userId: userId)
  ```

  ```kotlin Kotlin theme={null}
  // track logged out users with alias (deviceId recommended, not required if not tracking logged out users)
  Radar.setMetadata(JSONObject().put("brazeAlias", deviceId))Braze.getInstance(context).currentUser?.addAlias(deviceId, "radarAlias")
  // track logged in users with custom external_id mapping (not required if using default mapping)
  Radar.setMetadata(JSONObject().put("brazeExternalId", userId))Braze.getInstance(context).changeUser(userId)
  ```
</CodeGroup>

## Verify integration data delivery

To test that the integration is configured correctly and can deliver data, use the [Simulator](https://dashboard.radar.com/geofencing/simulate) to generate events. Click *View* on an event row and scroll down to the *Logs* section on the details page to verify delivery. Perform a similar process via a test app build with Radar location tracking enabled by spoofing location or moving into the relevant boundary.

<img src="https://mintcdn.com/radarlabs-rob-onesignal-api-migration/G_tTAoNTWT6PwE7W/images/verify_integration_braze.gif?s=ccc822b07e8b0ce8295c7867fc538edd" alt="Verify Integration Braze Gi" width="1578" height="781" data-path="images/verify_integration_braze.gif" />

All integration delivery can be monitored via the integration's event logs by clicking *View event logs* on the [Integrations page](https://dashboard.radar.com/integrations#braze).

## Example use cases

### Send a personalized push notification when a user arrives at a store

1. Create [Geofences](/geofencing/geofences) in Radar with the geofence tag set to `store`. The geofence tag will be used to trigger messages for the subset of geofence entries where this tag is present.
2. Set up a Braze campaign triggered from the Radar geofence entry event, the `entered_geofence` custom event in Braze, and add property filtering where `geofence_tag` is `store`. These same events can be used as part of a Braze [Canvas](https://www.braze.com/docs/user_guide/engagement_tools/canvas) and the event properties can be used in message personalization with [Liquid](https://www.braze.com/docs/user_guide/personalization_and_dynamic_content/liquid).

<img src="https://mintcdn.com/radarlabs-rob-onesignal-api-migration/-4YHFKRfDxNQelhF/images/braze_radar_entered_geofence.png?fit=max&auto=format&n=-4YHFKRfDxNQelhF&q=85&s=2ad12e916c74aa1fa1195d802781cbe7" alt="Braze Radar Entered Geofence Pn" width="2048" height="866" data-path="images/braze_radar_entered_geofence.png" />

### Message all users nearby a store

1. Create [Geofences](/geofencing/geofences) in Radar to represent nearby store boundaries with geofence tag set to `nearby-store`. The geofence tag will be used to target messages for the subset of geofences where this tag is present.
2. Set up a Braze campaign targeted with the `radar_geofence_tags` user attribute that Radar sends. This will be an array of all geofences the user is currently in, so set the attribute to include the value of `nearby-store`. Additional attribute filtering can be performed for more complex targeting, including how recently the location was updated via the `radar_updated_at` user attribute.

<img src="https://mintcdn.com/radarlabs-rob-onesignal-api-migration/-4YHFKRfDxNQelhF/images/braze_radar_targeted_messaging.png?fit=max&auto=format&n=-4YHFKRfDxNQelhF&q=85&s=fc4b53e9c3f5a7e0be4615cd7dda4267" alt="Braze Radar Targeted Messaging Pn" width="2048" height="850" data-path="images/braze_radar_targeted_messaging.png" />

### In-app messaging

To trigger in-app messaging from the user state detected on app open, custom events need to deliver through Braze's SDK rather than via Radar's server to server integration with Braze. To support this, implement custom logic in the SDK leveraging Radar's location update listener, on [iOS](/sdk/ios#install-sdk) or [Android](/sdk/android), to send foreground detections to Braze. The example code below assumes you are calling Radar.trackOnce() on application launch. See the [iOS](/sdk/ios) and [Android](/sdk/android) tracking references if needed.

<CodeGroup>
  ```swift Swift theme={null}
  import RadarSDK
  import Appboy_iOS_SDK

  @UIApplicationMain
  class AppDelegate: UIResponder, UIApplicationDelegate, RadarDelegate {
    func didUpdateLocation(_ location: CLLocation, user: RadarUser) {
      if user.foreground && user.source == RadarLocationSource.foregroundLocation {
        if let geofences = user.geofences {
          var customEventProperties = [String: [String]]()
          customEventProperties["radar_geofence_descriptions"] = geofences.compactMap({ $0.__description })
          customEventProperties["radar_geofence_tags"] = geofences.compactMap({ $0.tag })
          customEventProperties["radar_geofence_external_ids"] = geofences.compactMap({ $0.externalId })
          Appboy.sharedInstance()?.logCustomEvent("radar_fg_geofences_entered", withProperties: customEventProperties)
        }
        if let place = user.place {
          var customEventProperties = [String: Any]()
          customEventProperties["radar_place_name"] = place.name
          customEventProperties["radar_place_categories"] = place.categories
          customEventProperties["radar_place_chain_slug"] = place.chain?.slug ?? ""
          Appboy.sharedInstance()?.logCustomEvent("radar_fg_place_entered", withProperties: customEventProperties)
        }
      }
      return
    }
  }
  ```

  ```kotlin Kotlin theme={null}
  class MyRadarReceiver: RadarReceiver() {
    override fun onLocationUpdated(context: Context, location: Location, user: RadarUser) {
      val userGeofences = user.geofences
      val userPlace = user.place

      if (userGeofences != null && userGeofences.isNotEmpty()) {
        val eventPropertiesJson = JSONObject()
        eventPropertiesJson.put("geofenceTags", userGeofences.map { it.tag })
        eventPropertiesJson.put("geofenceDescriptions", userGeofences.map { it.description })
        eventPropertiesJson.put("geofenceExternalIds", userGeofences.map { it.externalId })
        val eventProperties = BrazeProperties(eventPropertiesJson)
        Braze.getInstance(context).logCustomEvent("radar_fg_geofences_entered", eventProperties)
      }

      if (userPlace != null) {
        val eventPropertiesJson = JSONObject()
        eventPropertiesJson.put("placeChainSlug", userPlace.chain?.slug ?: "")
        eventPropertiesJson.put("placeName", userPlace.name)
        eventPropertiesJson.put("placeCategories", userPlace.categories.toList())
        val eventProperties = BrazeProperties(eventPropertiesJson)
        Braze.getInstance(context).logCustomEvent("radar_fg_place_entered", eventProperties)
      }
    }
  }
  ```
</CodeGroup>

### Connected content

[Radar APIs](/api) can be used in Braze connected content. See Braze's [documentation](https://www.braze.com/docs/partners/message_personalization/location/radar/#connected-content) for a connected content example. Use the [API explorer](https://dashboard.radar.com/maps/api-explorer) in the dashboard to test relevant APIs.

## User mapping

Note that Radar uses the special string `"(null)"` to represent `null` user attribute values.

| Radar User Field                       | Braze User Attribute                          | Type           | Example Value                              | Context Type                       |
| -------------------------------------- | --------------------------------------------- | -------------- | ------------------------------------------ | ---------------------------------- |
| `metadata.brazeExternalId` or `userId` | `external_id`                                 | string         | `"1"`                                      |                                    |
| `metadata.brazeAlias`                  | `radarAlias`                                  | string         | `"10974a2ee035770b9"`                      |                                    |
| `location`                             | `current_location`                            | location       | `(39.525665, -76.350663)`                  |                                    |
| `_id`                                  | `radar_id`                                    | string         | `"5b2c0906f5874b001aecfd8d"`               |                                    |
| `updatedAt`                            | `radar_updated_at`                            | timestamp      | `"2018-06-22T15:23:39.000Z"`               |                                    |
| `locationAuthorization`                | `radar_location_authorization`                | string         | `"GRANTED_FOREGROUND"`                     |                                    |
| `locationAccuracyAuthorization`        | `radar_location_accuracy_authorization`       | string         | `"FULL"`                                   |                                    |
| `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](/geofencing/geofences) |
| `geofences[*].description`             | `radar_geofence_descriptions`                 | array\[string] | `["Store #123"]`                           | [Geofences](/geofencing/geofences) |
| `geofences[*].tag`                     | `radar_geofence_tags`                         | array\[string] | `["store"]`                                | [Geofences](/geofencing/geofences) |
| `geofences[*].externalId`              | `radar_geofence_external_ids`                 | array\[string] | `["123"]`                                  | [Geofences](/geofencing/geofences) |
| `place._id`                            | `radar_place_id`                              | string         | `"59302bcf8f27e8a156bd4f91"`               | [Places](/geofencing/places)       |
| `place.name`                           | `radar_place_name`                            | string         | `"Starbucks"`                              | [Places](/geofencing/places)       |
| `place.categories`                     | `radar_place_categories`                      | array\[string] | `["food-beverage", "cafe", "coffee-shop"]` | [Places](/geofencing/places)       |
| `place.chain.slug`                     | `radar_place_chain_id`                        | string         | `"starbucks"`                              | [Places](/geofencing/places)       |
| `place.chain.name`                     | `radar_place_chain_name`                      | string         | `"Starbucks"`                              | [Places](/geofencing/places)       |
| `country.code`                         | `radar_region_country_code`                   | string         | `"US"`                                     | [Regions](/geofencing/regions)     |
| `country.name`                         | `radar_region_country_name`                   | string         | `"United States"`                          | [Regions](/geofencing/regions)     |
| `state.code`                           | `radar_region_state_code`                     | string         | `"MD"`                                     | [Regions](/geofencing/regions)     |
| `state.name`                           | `radar_region_state_name`                     | string         | `"Maryland"`                               | [Regions](/geofencing/regions)     |
| `dma.code`                             | `radar_region_dma_code`                       | string         | `"26"`                                     | [Regions](/geofencing/regions)     |
| `dma.name`                             | `radar_region_dma_name`                       | string         | `"Baltimore"`                              | [Regions](/geofencing/regions)     |
| `postalCode.code`                      | `radar_region_postal_code`                    | string         | `"21014"`                                  | [Regions](/geofencing/regions)     |
| `trip.externalId`                      | `radar_trip_external_id`                      | string         | `"299"`                                    | [Trip Tracking](/geofencing/trips) |
| `trip.destinationGeofenceTag`          | `radar_trip_destination_geofence_tag`         | string         | `"store"`                                  | [Trip Tracking](/geofencing/trips) |
| `trip.destinationGeofenceExternalId`   | `radar_trip_destination_geofence_external_id` | string         | `"123"`                                    | [Trip Tracking](/geofencing/trips) |
| `beacons[*]._id`                       | `radar_beacon_ids`                            | array\[string] | `["5b2c0906f5874b001aecfd8f]"`             | [Beacons](/geofencing/beacons)     |
| `beacons[*].description`               | `radar_beacon_descriptions`                   | array\[string] | `["Store #123 - Drive-Thru"]`              | [Beacons](/geofencing/beacons)     |
| `beacons[*].tag`                       | `radar_beacon_tags`                           | array\[string] | `["drive-thru"]`                           | [Beacons](/geofencing/beacons)     |
| `beacons[*].externalId`                | `radar_beacon_external_ids`                   | array\[string] | `["123"]`                                  | [Beacons](/geofencing/beacons)     |

## Event mapping

| Radar Event                         | Context Type                       | Braze Event                    |
| ----------------------------------- | ---------------------------------- | ------------------------------ |
| `user.entered_geofence`             | [Geofences](/geofencing/geofences) | `entered_geofence`             |
| `user.exited_geofence`              | [Geofences](/geofencing/geofences) | `exited_geofence`              |
| `user.dwelled_in_geofence`          | [Geofences](/geofencing/geofences) | `dwelled_in_geofence`          |
| `user.entered_place`                | [Places](/geofencing/places)       | `entered_place`                |
| `user.exited_place`                 | [Places](/geofencing/places)       | `exited_place`                 |
| `user.entered_region_country`       | [Regions](/geofencing/regions)     | `entered_country`              |
| `user.exited_region_country`        | [Regions](/geofencing/regions)     | `exited_country`               |
| `user.entered_region_state`         | [Regions](/geofencing/regions)     | `entered_state`                |
| `user.exited_region_state`          | [Regions](/geofencing/regions)     | `exited_state`                 |
| `user.entered_region_dma`           | [Regions](/geofencing/regions)     | `entered_dma`                  |
| `user.exited_region_dma`            | [Regions](/geofencing/regions)     | `exited_dma`                   |
| `user.started_trip`                 | [Trip Tracking](/geofencing/trips) | `started_trip`                 |
| `user.updated_trip`                 | [Trip Tracking](/geofencing/trips) | `updated_trip`                 |
| `user.approaching_trip_destination` | [Trip Tracking](/geofencing/trips) | `approaching_trip_destination` |
| `user.arrived_at_trip_destination`  | [Trip Tracking](/geofencing/trips) | `arrived_at_trip_destination`  |
| `user.stopped_trip`                 | [Trip Tracking](/geofencing/trips) | `stopped_trip`                 |
| `user.entered_beacon`               | [Beacons](/geofencing/beacons)     | `entered_beacon`               |
| `user.exited_beacon`                | [Beacons](/geofencing/beacons)     | `exited_beacon`                |

### entered\_geofence

| Radar Event Field          | Braze 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](/geofencing/regions) is enabled, Radar will also send the following attributes:

| Radar Event Field | Braze 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"`         |

### exited\_geofence

| Radar Event Field          | Braze 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](/geofencing/regions) is enabled, Radar will also send the following attributes:

| Radar Event Field | Braze 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"`         |

### dwelled\_in\_geofence

| Radar Event Field          | Braze 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](/geofencing/regions) is enabled, Radar will also send the following attributes:

| Radar Event Field | Braze 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"`         |

### entered\_place

| Radar Event Field             | Braze 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](/geofencing/regions) is enabled, Radar will also send the following attributes:

| Radar Event Field | Braze 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"`         |

### exited\_place

| Radar Event Field             | Braze 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](/geofencing/regions) is enabled, Radar will also send the following attributes:

| Radar Event Field | Braze 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"`         |

### entered\_country

| Radar Event Attribute | Braze 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`            |

### exited\_country

| Radar Event Attribute | Braze 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`            |

### entered\_state

| Radar Event Attribute | Braze 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`        |

### exited\_state

| Radar Event Attribute | Braze 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`        |

### entered\_dma

| Radar Event Attribute | Braze 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`        |

### exited\_dma

| Radar Event Attribute | Braze 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`        |

### started\_trip

| Radar Event Attribute                | Braze 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`        |

### updated\_trip

| Radar Event Attribute                | Braze 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`        |

### approaching\_trip\_destination

| Radar Event Attribute                | Braze 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`        |

### arrived\_at\_trip\_destination

| Radar Event Attribute                | Braze 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`        |

### stopped\_trip

| Radar Event Attribute                | Braze 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`        |

### entered\_beacon

| Radar Event Attribute    | Braze 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`                       |

### exited\_beacon

| Radar Event Attribute    | Braze 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"`                     |
| `duration`               | `radar_duration`             | number (minutes) | `1.42`                       |
| `foreground`             | `foreground`                 | boolean          | `true`                       |
