# Full Data Loader — User Data Onboarding

Created: 27.07.2023&#x20;

Updated: 27.07.2023&#x20;

Author: Alexander Pushkin

{% hint style="info" %}
To onboard data, please contact the team working on your project.
{% endhint %}

## Data Onboarding Goals and Objectives

Onboarding user data allows for the improvement of segmentation in the personalization platform. You can onboard the information available in CRM and/or DMP. For example: RFM segmentation or segmentation based on loyalty program data. The onboarded data will be accessible in the audience creation screen of the Gravity Field platform, allowing you to create audiences by combining onboarded data with behavioral data already collected by the platform.

Additionally, some values from the onboarded data can be used directly in the personalization platform. For instance, you can onboard a user's pet's name into the platform and use it as a variable in personalization campaigns.

{% hint style="warning" %}
Onboarding personal user data into the platform is not allowed.
{% endhint %}

## Onboarding Options

User data can be onboarded into the Gravity Field personalization platform by uploading a CSV file to a dedicated secure folder on our server.

## Business Process

Before onboarding data, please provide a sample of the data (up to 1000 rows) for validation. Based on the sample, we will prepare a data schema according to which future uploads will need to be performed. Columns that should be available for use in campaigns (all existing columns are automatically available for use when building audiences) should be specified.

After the schema is approved on both ends, we will provide access to the folder where data files should be uploaded.

### Update Frequency

When uploading a CSV, synchronization is initiated by uploading the file, but it may take some time (up to an hour) depending on the file size. You can determine the frequency of data uploads yourself (it is recommended to upload data once a day at night).

## Technical Requirements

### General Requirements

* Use UTF-8 encoding.
* The first column should contain the user identifier (the same one that is used in identification events on the website/app).
* Transmission of personal user data that allows you to identify a specific user is not allowed (e.g., you can transmit the user's first name without the last name and age, but you cannot transmit phone numbers or email addresses).
* A decimal separator is a period.
* The following formats can be used in the data:
  * String
  * Date (in the dateTtime+offset format, following ISO 8601)
  * Array
* The separator for array elements is a pipe (<mark style="color:red;">`|`</mark>), and this symbol should not appear anywhere else in the file, except within arrays.

### CSV File Requirements

* The file format is CSV, comma separated.
* CSV upload does not allow incremental updates. Each uploaded file must contain a complete set of data.
* The filename should end with <mark style="color:red;">`customer_data.csv`</mark>.

### Sample CSV File

{% file src="<https://3786223776-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FgMtBULwktLmojWzNHUD1%2Fuploads%2FBokvEL4CPNodx9XVLDrz%2Fuser_data_example_customer_data.csv?alt=media&token=911ec755-fdb7-4103-991c-3642cd56a22d>" %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://developer.gravityfield.ai/lang/en/implementation/full-data-loader-user-data-onboarding.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
