---
metadata:
  - name: generator
    content: Diplodoc Platform v5.54.1
alternate:
  - https://yandex.com/dev/metrika/en/management/offline-conv.md
  - https://yandex.com/dev/metrika/ru/management/offline-conv.md
  - href: ru/management/offline-conv.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/ru/llms.txt

# Передача офлайн-конверсий

О том, что такое офлайн-конверсии и какие бизнес-задачи можно решить, отслеживая их, см. в разделе [Офлайн-конверсии и звонки](https://yandex.com/dev/metrika/ru/management/conversion.md).

## Шаг 1. Подготовка данных {#data}

1. Подготовьте [специальные идентификаторы](https://yandex.com/dev/metrika/ru/management/conversion.md#cpec-ids) — `ClientID`, `UserID`, `yclid` или `PurchaseId`.

   {% note info %}

   Хотя бы один из этих идентификаторов обязателен для передачи. Без него конверсия не будет привязана к визиту.

   {% endnote %}
1. Создайте цель [JavaScript-событие](https://yandex.ru/support/metrica/general/goal-js-event.html) с помощью метода [POST /management/v1/counter/{counterId}/goals](https://yandex.com/dev/metrika/ru/management/openapi/goal/addGoal.md). В качестве идентификатора цели укажите событие, которое нужно отслеживать (например, подтверждение заказа — «order_confirmed»). Этот идентификатор понадобится при формировании CSV-файла.

   {% note info %}

   При создании цели «JavaScript-событие» обязательно используйте условие «совпадает».

   {% endnote %}

   Можно использовать ранее созданную цель, если конверсия по этой цели совершается и на сайте, и вне его и вы хотите получать общую статистику.

## Шаг 2. Подготовка данных о конверсиях {#csv}

Данные о конверсиях передаются в CSV-формате. Вы можете передать их несколькими способами:

{% list tabs %}

- CSV-файл (рекомендуемый)

  В файле укажите данные, которые хотите передать в Метрику. [Пример файла](https://download.cdn.yandex.net/from/yandex.ru/support/ru/metrica/files/offline-conversions.csv).

- multipart/form-data
  
  В первой строке необходимо передать названия колонок.

{% endlist %}

#|
|| **Колонки** | **Описание** ||
|| **Обязательные** ||
|| `Target` | Идентификатор цели. ||
|| `DateTime` | Дата и время конверсии в формате [Unix Time Stamp](http://www.unixtimestamp.com/index.php).

В DateTime можно указывать только прошедшее время. Если на момент загрузки файла время из DateTime еще не наступило, возникнет ошибка. ||
|| **Обязательные для привязки к визиту** — укажите хотя бы один из этих идентификаторов. ||
|| `UserId` | Идентификатор посетителя сайта, назначенный владельцем сайта. ||
|| `ClientId` | Идентификатор посетителя сайта, назначенный Яндекс Метрикой. ||
|| `Yclid` | Идентификатор клика по рекламному объявлению Яндекс Директа, назначается Яндекс Директом. Передается в URL объявления. ||
|| `PurchaseId` | Идентификатор покупки электронной коммерции назначенный владельцем сайта. ||
|| **Необязательные** ||
|| `Price` | Цена (ценность) цели, десятичным разделителем является точка (.). ||
|| `Currency` | Валюта в трехбуквенном формате ISO 4217. ||
|#

## Шаг 3. Передача данных {#upload}

{% note info %}

Сформируйте CSV-файл с информацией и передайте его с помощью данного метода. Также рекомендуем генерировать запросы к API в автоматическом режиме с помощью модулей языка программирования.

{% endnote %}

{% note info %}

Данные появятся в отчетах Метрики в течение 3 часов после их загрузки.

{% endnote %}

C помощью метода [POST /management/v1/counter/{counterId}/offline_conversions/upload](https://yandex.com/dev/metrika/ru/management/openapi/offline_conversions/upload_1.md). Укажите во входных данных OAuth-токен и номер счетчика.

{% list tabs %}

- PHP
  
  ```php translate=no
  $counter = "";            // Specify the counter ID
  $token = "";              // Specify the OAuth token
  
  $curl = curl_init("https://api-metrika.yandex.net/management/v1/counter/$counter/offline_conversions/upload");
  
  curl_setopt($curl, CURLOPT_POST, true);
  curl_setopt($curl, CURLOPT_POSTFIELDS, array('file' => new CurlFile(realpath('file.csv'))));
  curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
  curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
  curl_setopt($curl, CURLOPT_HTTPHEADER, array("Content-Type: multipart/form-data", "Authorization: OAuth $token"));
  
  $result = curl_exec($curl);
  
  echo $result;
  
  curl_close($curl);
  ```

- Python

  ```python translate=no
  import requests
  
  counter = 123456
  token = "token"
  
  file = open("offline-conversions.csv", "r").read()
  
  url = "https://api-metrika.yandex.net/management/v1/counter/{}/offline_conversions/upload".format(counter)
  headers = {
   "Authorization": "OAuth {}".format(token)
  }
  
  req = requests.post(url, headers=headers, files={"file":file})
  ```

{% endlist %}

## Что делать дальше? {#other}

Отслеживайте статус загрузки конверсий с помощью метода [GET /management/v1/counter/{counterId}/offline_conversions/uploading/{id}](https://yandex.com/dev/metrika/ru/management/openapi/offline_conversions/findById_1.md).

## Узнайте больше

- [Пример использования цели в отчете](https://yandex.com/dev/metrika/ru/stat/examples.md#conv)
