---
schema_version: "1"
id: fee0039a19dac939da73457d9f329e847f6854b958c0c3547a53b59fedc9f757
title: Mobile Schema Support in Data 360
collection: developer
version: current
locale: en-us
portal_url: https://docs.salesforce.com/developer/current/en-us/data-cloud/data-cloud-engagement-mobile-sdk/guides/c360a-api-engagement-mobile-sdk-mobile-schema-support.md
canonical_url: https://developer.salesforce.com/docs/data/data-cloud-engagement-mobile-sdk/guide/c360a-api-engagement-mobile-sdk-mobile-schema-support.html
source_site: developer.salesforce.com
content_type: documentation
content_hash: 2daf7c9d4b503588128016be706870fae46f3a4e92be44cf1e386ee546bf7b5c
products:
  - Data 360 Engagement Mobile SDK
  - Data 360 Developer Documentation
---
# Mobile Schema Support in Data 360

To use a unified data model across Salesforce, use the Mobile Connector Schema when configuring a Mobile Connector.

Download the [Mobile Connector](https://cdn.c360a.salesforce.com/cdp/schemas/250/mobile-connector-schema.json) schema.

Event schema mappings:

- Engagement
  - [Cart Schema](https://developer.salesforce.com/docs/data/data-cloud-engagement-mobile-sdk/guide/c360a-api-engagement-mobile-sdk-cart-schema.md)
  - [Catalog Schema](https://developer.salesforce.com/docs/data/data-cloud-engagement-mobile-sdk/guide/c360a-api-engagement-mobile-sdk-catalog-schema.md)
  - [Order Schema](https://developer.salesforce.com/docs/data/data-cloud-engagement-mobile-sdk/guide/c360a-api-engagement-mobile-sdk-order-schema.md)
  - [Custom Event Schema](https://developer.salesforce.com/docs/data/data-cloud-engagement-mobile-sdk/guide/c360a-api-engagement-mobile-sdk-custom-event-schema.md)
  - [Consent Schema](https://developer.salesforce.com/docs/data/data-cloud-engagement-mobile-sdk/guide/c360a-api-engagement-mobile-sdk-consent-schema.md)
  - [Behavior Schema](https://developer.salesforce.com/docs/data/data-cloud-engagement-mobile-sdk/guide/c360a-api-engagement-mobile-sdk-behavior-schema.md)
- Profile
  - [Contact Point Email Schema](https://developer.salesforce.com/docs/data/data-cloud-engagement-mobile-sdk/guide/c360a-api-engagement-mobile-sdk-contact-point-email-schema.md)
  - [Contact Point Phone Schema](https://developer.salesforce.com/docs/data/data-cloud-engagement-mobile-sdk/guide/c360a-api-engagement-mobile-sdk-contact-point-phone-schema.md)
  - [Contact Point Address Schema](https://developer.salesforce.com/docs/data/data-cloud-engagement-mobile-sdk/guide/c360a-api-engagement-mobile-sdk-contact-point-address-schema.md)
  - [Party Identification Schema](https://developer.salesforce.com/docs/data/data-cloud-engagement-mobile-sdk/guide/c360a-api-engagement-mobile-sdk-party-identification-schema.md)
  - [Identity Schema](https://developer.salesforce.com/docs/data/data-cloud-engagement-mobile-sdk/guide/c360a-api-engagement-mobile-sdk-identity-schema.md)

## Translating SDK Events to Mobile Connector Schemas

Understanding how the events from the Engagement Mobile SDK are converted into data that can be ingested into Data 360 can be useful for troubleshooting instrumentation code and for extending your schema to capture extra data not covered by the Recommended Schema.

The Data 360 event beacon requires fields to be present on all events.

| Source Event Property     | Target Schema Developer Name | Field Type | Description                                                                                                                                                                            |
| ------------------------- | ---------------------------- | ---------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| \<Automatically Assigned> | `eventId`                    | text       | **Required**. Typically, the primary key for the engagement events.                                                                                                                    |
| \<Automatically Assigned> | `dateTime`                   | date       | **Required**. Used for data partitioning for engagement events. ISO8601 supported format.                                                                                              |
| \<Automatically Assigned> | `eventType`                  | text       | **Required**. The `developerName` of an event defined in the [Web Connector schema](https://help.salesforce.com/s/articleView?id=c360_a_mobile_web_sdk_schema_quick_guide.htm&type=5). |
| \<Automatically Assigned> | `sessionId`                  | text       | **Required**. The identifier of the session.                                                                                                                                           |
| \<Automatically Assigned> | `deviceId`                   | text       | **Required**. Typically, the primary key for profile events.                                                                                                                           |
| \<Automatically Assigned> | `category`                   | text       | **Required**. Possible values are: <ul><li>`Engagement`</li><li>`Profile`</li></ul>                                                                                                    |

The Data 360 Module for the Engagement Mobile SDK automatically sets these fields on events sent to Data 360.

## Automatic Population of the Data 360 Module for Engagement Mobile SDK Fields

These fields are automatically attached to all profile and engagement events. To enable attaching location data to events, learn more with [Location Tracking](https://developer.salesforce.com/docs/data/data-cloud-engagement-mobile-sdk/guide/c360a-api-engagement-mobile-sdk-location-tracking.md).

| Source Event Property     | Target Schema Developer Name | Field Type | Description                                                                                               |
| ------------------------- | ---------------------------- | ---------- | --------------------------------------------------------------------------------------------------------- |
| \<Automatically Assigned> | `channel`                    | text       | The SDK event channel. For Engagement Mobile SDK the value is `mobile`.                                   |
| \<Automatically Assigned> | `longitude`                  | number     | The longitudinal coordinate in decimal degrees reported by the device at the time the event was captured. |
| \<Automatically Assigned> | `latitude`                   | number     | The latitudinal coordinate in decimal degrees reported by the device at the time the event was captured.  |

## Schema Field Naming Rules

In order for events to be properly ingested, the data format used with a Data 360 event beacon is a flattened JSON structure that imposes certain limitations on how fields are named. The Data 360 Module for the Engagement Mobile SDK transforms all event data before sending to conform to these naming rules. We recommend keeping field names simple and avoid nested data, when possible.

- CamelCase

  - : Field names constructed using snake case or all capitalized, the field name is transformed to camel case and the casing is normalized. For instance, the field name `PROMO_CODE` is referenced in the schema as `promoCode`.

- Special Characters and Extra Spacing

  - : Field names consist of extra spacing or special characters are removed. For instance, the field name `special #size's` is transformed to `specialSizes`.

- Nested Properties

  - : The schema names for nested attribute arrays are attribute is constructed using the parent child relationship. For instance, the schema name `paperColor` inside `giftWrapOptions` is referenced in the schema as `giftWrapOptionsPaperColor`.

    ```nolang
    "giftWrapOptions": {
      "paperColor": "green"
    }
    ```

- Array Values

  - : If an array is a simple string array such as `"list": ["aaa", "bbb"]`, the schema name references the particular elements in numeric order. For instance, `"list0": "aaa"`, `"list1": "bbb"`.
