---
metadata:
  - name: generator
    content: Diplodoc Platform v5.54.1
alternate:
  - https://yandex.com/dev/metrika/en/data-import/simple-orders-data.md
  - https://yandex.com/dev/metrika/ru/data-import/simple-orders-data.md
  - href: en/data-import/simple-orders-data.md
    type: text/markdown
    title: Markdown version
  - href: ../llms.txt
    type: text/markdown
    title: llms.txt
---
> **Documentation Index:** Fetch the complete configuration index at https://yandex.com/dev/metrika/en/llms.txt

# Order and customer data format

Pass the fields below using the [POST /cdp/api/v1/counter/{counterId}/data/simple_orders](https://yandex.com/dev/metrika/en/management/openapi/schema/uploadSimpleOrders.md) method.

Required columns:

- `create_date_time`: Date and time of order creation in the tag's time zone. You can't change the creation date once the order data is sent. Learn more about the [date and time format](https://yandex.com/dev/metrika/en/data-import/date.md).
- `id`: Order ID in your CRM. Transmitting the `id` allows you to update order statuses and reassign orders from one customer to another. Orders that are transmitted without an `id` are attributed to the session closest in time to the order's creation date, which may result in duplicates.

At least one of the following columns is required:

- `client_ids`: List of ClientIDs. For more information, see [Preparing data to be linked to sessions](https://yandex.com/dev/metrika/en/data-import/simple-orders-prep.md#data).
- `emails`: List of client's email addresses. A string in Latin including the @ symbol and domain name. You can't use uppercase letters. Example: `mail@yandex.ru`.
- `phones`: List of client's phone numbers. A numeric string containing a mobile phone number with a country code. You can't use spaces or extra characters. Example: `79995551111`.
- `emails_md5`: List of client's email addresses that are [md5 hashed](https://yandex.com/dev/metrika/en/data-import/hashing.md). You can use the email address `mail@yandex.ru` to test your hashing algorithm. The expected hash for this address is `3c56ff8fef0f6c65b36b2d25720fe276`.
- `phones_md5`: List of client's phone numbers that are [md5 hashed](https://yandex.com/dev/metrika/en/data-import/hashing.md). You can use the number `79995551111` to test your hashing algorithm. The expected hash for this number is `f09f2c3d48f31e2a802944ade2e5aec5`.

{% note info %}

To transmit one or more phone numbers or email addresses, enclose them in quotation marks. When passing multiple values, separate them with a comma. If you're transmitting hashed phone numbers and email addresses, hash each phone number and email address separately, enclose the resulting hashes in quotation marks, and separate them with commas, without spaces.
Example: `"79876543210,79991234567"` or `"mail@example.com,mail2@example.com"`.

{% endnote %}

Optional columns:

- `client_uniq_id`: ID of the customer linked to the order in CRM.
- `order_status`: Order status type. An arbitrary string. You can change the status.

    Possible values:

    - `PAID`: Paid (used by default if you don't transmit order statuses). Transmitting this status completes the goals **CRM: Order created** and **CRM: Order paid**.
    - `IN_PROGRESS`: In progress. Transmitting this status completes the goal **CRM: Order created**.
    - `CANCELLED`: Canceled. Transmitting this status counts toward the **CRM: Order canceled** metric.
    - `SPAM`: Spam. Transmitting this status counts toward the **CRM: Spam order** metric.
    - Similar to the statuses above, you can pass the ID of your **JavaScript event** goals. This completes the transmitted goal.

     {% cut "Example" %}

     If you're using a **Qualified lead** **JavaScript event** goal with the ID `kval_lead`, you can transmit this ID as the order status to complete the corresponding goal for the order.

     {% endcut %}

- `revenue`: Revenue. Total value of the order. A decimal number. Pass the revenue from the order. This value is used in [End-to-end analytics](https://yandex.com/dev/metrika/en/stat/presets/preset_cdp_orders.md) reports to show how much money orders from advertising channels brought. You can see the value in the “Revenue” metric.
- `cost`: Cost price. A decimal number. You can pass the production cost of orders to factor in the profit in End-to-end analytics reports. The profit is calculated using the formula: `Revenue - Cost`.
  
  {% note info %}
  
  When a cost is specified, the revenue generated from completed goals within the order is calculated as revenue-cost.
  
  {% endnote %}

- `currency`: Order currency, represented by a three-letter ISO 4217 currency code. If this parameter is omitted, rubles (RUB) are always used by default.
- `goals`: Additional order goals. In addition to the main goal, which is achieved when transmitting the corresponding `order_status` (`IN_PROGRESS`, `PAID`, or JavaScript IDs), with its revenue calculated as revenue-cost, you can also pass additional JavaScript goal IDs with the option to transmit the associated revenue amount.
  
  {% cut "Example" %}
  
  An order's "goals" field contains the following values: "branch1:15000,order_placed,cash_payment:15000".

  This string includes three JavaScript goal IDs from the tag:

  Payment at Branch #1 (`branch1`) for 15,000 rubles.

  Order placement (`order_placed`) without specifying the amount. The revenue for this goal is calculated using the formula: revenue-cost (if specified for the order).

  Cash payment (`cash_payment`) of 15,000 rubles.
  
  {% endcut %}

## Learn more

- [Date and time format](https://yandex.com/dev/metrika/en/data-import/date.md)
- [Customer data format](https://yandex.com/dev/metrika/en/data-import/contacts-data.md)
