---
title: "rym: Загрузка оффлайн конверсий в Яндекс.Метрику"
output: rmarkdown::html_vignette
vignette: >
  %\VignetteIndexEntry{rym: Загрузка оффлайн конверсий в Яндекс.Метрику}
  %\VignetteEngine{knitr::rmarkdown}
  %\VignetteEncoding{UTF-8}
---

```{r, include = FALSE}
knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>"
)
```

Начиная с версии `rym 1.0.0` у вас появилась загружать в Яндекс.Метрику данные об оффлайн конверсиях. Для этого в пакет были добавлены 5 функций.

* `rym_enable_offline_conversion()` - Включить учёт оффлайн конверсий
* `rym_disable_offline_conversion()` - Выключить учёт оффлайн конверсий
* `rym_allow_offline_conversion()` - Возвращает дату и время, начиная с которого конверсии могут быть привязаны к визитам для указанного счетчика.
* `rym_get_uploadings_offline_conversions()` - Возвращает список загрузок оффлайн конверсий
* `rym_upload_offline_conversion()` - Загрузка оффлайн конверсий в Яндекс.Метрику

## Подготовка Яндекс.Метрики к загрузке оффлайн конверсий
Для того, что бы вы могли начать загрузку оффлайн конверсий вам необходимо выполнить несколько действий.

### Создать цель в Яндекс Метрике
Первый шаг - создание цели, которую в дальнейшем мы будет подгружать, для этого используйте функцию `rym_add_goal()`.

```{r eval=FALSE}
# создаём цель
rym_add_goal(123456789, 
             name = 'Заказ оплачен',
             type = 'action',
             conditions = list(type = 'exact', 
                               url  = 'order_confirmed'),
             login = 'yandex_login')
```

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

### Проверка готовности Метрики к загрузке конверсий
Учтенный Метрикой визит может быть дополнен информацией о конверсии в течение 21 дня. Период учета конверсий увеличивается постепенно с момента включения опции.

Включить опцию можно либо в интерфейсе Метрики (На странице Настройка → Загрузка данных), либо с помощью функции `rym_enable_offline_conversion()`.

Чтобы проверить, можно ли загружать данные и за какой период, используйте функцию `rym_allow_offline_conversion()`.

```{r eval=FALSE}
# оффлайн конверсии
rym_enable_offline_conversion(123456789, 
                              login = 'yandex_login') 

# проверка можно ли загружать данные и за какой период
rym_allow_offline_conversion(123456789, 
                             login = 'yandex_login')
```

При необходимости вы можете отключить опцию загрузки оффлайн конверсий функцией `rym_disable_offline_conversion()`.

### Подготовка данных для загрузки в Яндекс.Метрику
Перед загрузкой данных по оффлайн конверсиям в Яндекс.Метрику, вам необходимо привести их к нужному формату.

Датафрейм должен содержать следующие столбцы:

#### Обязательные поля
* UserId | ClientId | Yclid - Идентификатор посетителя сайта или рекламной кампании в Директе *(пример: 12345)*.
* Target - Идентификатор цели, заданный при создании цели *(пример: order_confirmed)*.
* DateTime - Время, в которое произошла конверсия в формате Unix Time Stamp. Указывайте время в часовом поясе UTC+0. *(пример: 1481718166)*.

#### Необязательные поля
* Price - Ценность цели *(пример: 1000)*.
* Currency - Трехбуквенный [код валюты по ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) *(пример: RUB)*.

Пример файла можно скачать по [этой ссылке](https://download.cdn.yandex.net/from/yandex.ru/support/ru/metrica/files/offline-conversions.csv).

## Загрузка оффлайн конверсий в Яндекс Метрику
Теперь вы можете использовать функцию `rym_upload_offline_conversion()` для загрузки оффлайн конверсий в Яндекс.Метрику.

```{r eval=FALSE}
rym_upload_offline_conversion(12345, 
                              data = conv_data,
                              client.id.type = "CLIENT_ID",
                              login = 'yandex_login')
```

Обработка данных может занимать до 24 часов, после чего загруженные данные появятся в отчётах Яндекс.Метрики.

## Получить список загрузок оффлайн конверсий
Посмотреть список загрузок, и их статусы можно с помощью функции `rym_get_uploadings_offline_conversions()`.

```{r eval=FALSE}

uploads <- rym_get_uploadings_offline_conversions(
              counter = 123456789,
              login   = 'yandex_login')
```

## Ссылки
* [Отслеживание конверсий](https://yandex.ru/dev/metrika/doc/api2/practice/conversion-docpage/)
* [Передача офлайн-конверсий](https://yandex.ru/dev/metrika/doc/api2/practice/offline-conv-docpage/)
* [Загрузка офлайн-конверсий](https://yandex.ru/dev/metrika/doc/api2/management/offline_conversion/upload-docpage/)
* [Оффлайн конверсии: Передача и обработка данных](https://yandex.ru/support/metrica/data/offline-conversion_data.html)