Order and customer data format

Pass the fields below using the POST /cdp/api/v1/counter/{counterId}/data/simple_orders 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.
  • 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.
  • 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. 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. You can use the number 79995551111 to test your hashing algorithm. The expected hash for this number is f09f2c3d48f31e2a802944ade2e5aec5.

Note

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".

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 doesn't complete any goals.

    • SPAM: Spam. Similar to canceled orders, doesn't complete any goals.

    • Similar to the statuses above, you can pass the ID of your JavaScript event goals. This completes the transmitted goal.

      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.

  • 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 reports to show how much money orders from advertising channels brought. It's shown 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

    When a cost is specified, the revenue generated from completed goals within the order is calculated as revenue-cost.

  • 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.

    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.

Learn more