JavaScript API
JavaScript‑SDK PRMOnline (track.js
) позволяет собирать данные о реферальном трафике и конверсиях на любой странице.
Библиотека добавляет в глобальную область функцию prmo()
, которую вызывают короткими командами.
Вызовы, сделанные до загрузки основного скрипта, автоматически ставятся в очередь.
Подключение скрипта
Подробнее о том, где взять ваш персональный скрипт и как его подключить, читайте в разделе про JS-скрипт.
Пример установки скрипта:
<script>
! function(e, r, t, n, o) {
e.prmo = e.prmo || function() {
e.prmo.q = e.prmo.q || [], e.prmo.q.push(arguments)
},
n = r.getElementsByTagName(t)[0],
(o = r.createElement(t)).async = !0,
o.src = "https://c1.prmonline.ru/js/track_un_v7.js",
n.parentNode.insertBefore(o, n)
}(window, document, "script");
prmo('config', 'TTL', 30);
prmo('init', 'XDdHbxkNJMsJ');
prmo('track', 'FOLLOW');
</script>
Описание методов
-
Изменение конфигурации
Изменение параметров запуска скрипта. Вызывается до
init
.Вызов
prmo('config', param, value)
Возможные параметры
Параметр Возможные значения Назначение TTL
int > 0, количество дней Срок жизни cookies (по умолчанию 60 дней) FORMS
false
Отключить авто‑добавление скрытых полей в <form>
UTM_redirect
true
Активировать режим эмуляции UTM-меток (полезно для повышения совместимости, refLinkId будет сохраняться как utm_campaign
)refLinkParam
string Альтернативное имя параметра вместо reflinkid
/rl
(используется при изменении шаблона формирования ссылки)Пример
prmo('config', 'TTL', 90); prmo('config', 'UTM_redirect', true);
-
Инициация скрипта
Запускает сессию трекинга:
-
Читает query‑строку и cookies → сохраняет
_p_rlid
,_p_pid
,_p_uid
. -
При необходимости добавляет скрытые поля
refLinkId
иuserId
во все формы. -
Разрешает дальнейшие вызовы
track
.
Вызов
prmo('init', key)
Пример
prmo('init', 'XDdHbxkNJMsJ'); // сгенерированный ключ вы можете найте в кабинете администратора в разделе "Настройки" - "Интеграции" - "JS-код"
-
-
Изменение статуса (устарело)
Упрощенный вариант для передачи изменения статуса лида.
prmo('track', event, once)
-
Передача события
Объектный вызов, поддерживающий как изменение статуса, так и начисление вознаграждения.
По умолчанию запрещен прием статусов через JS API. Чтобы передать событие по какому-либо статусу, необходимо сначала активировать прием событий по этому статусу в кабинете администратора в Настройки → Интеграции → JS-код → Настроить
Вызов
prmo('trackEx', action)
Возможные ключи объекта
action
event * (string) – статус лида, которые требуется установить при событии once (bool) – предотвратить повторную отправку (по умолчанию - TRUE) sum (number) – сумма транзакции tranId (string) – номер заказа / транзакции для дудепликации начислений (только при начислении вознаграждения) tranComment (string) – комментарий транзакции (используется при начислении вознаграждения) name (string) – имя лида offer (string) – идентификатор оффера (используется для переопределения оффера для расчета) comment (string) – комментарий лида user (string) – уникальный идентификатор клиента; если не передан, то будет использоваться userId cf_* (any) – передача значения в кастом-поле, вместо * необходимо указать ID поля из PRMonline (cf_5690="gold" и т. д.)
Пример
prmo('trackEx', { event : 'PURCHASE', // Статус лида /* дополнительные атрибуты */ name : 'Иван', // → firstname=Иван offer : 'promo‑25', // → offerIdent=promo‑25
sum : 3000, // cумма транзакции/сделки (может быть передано только для событий PURCHASE и PURCHASE_CONFIRM) tranComment : 'Оплата за февраль', // комментарий транзакции (используется только если начисляется вознаграждение) cf_5492 : 'XL' });
Тестирование и отладка
-
Добавьте
?prmonline_check=1
в URL — появится синее модальное окно, подтверждающее, что скрипт найден. -
Добавьте
&debug=1
— включится подробный лог в консоли.
Примеры использования
Google Tag Manager - Простой вызов
1. Определите или создайте триггер, по которому должен происходить вызов события (например, передать событие "Заявка")
2. Создайте новый тег
3. Выберите Пользовательский HTML и вставьте вызов функции:
prmo('track', 'NEW');
4. Выберите желаемый триггер и опубликуйте тег
Google Tag Manager - Передача из Data Layer
Если сайт уже пушит события в dataLayer, то используйте их для отправки события:
Создайте ещё один Custom HTML‑тег для отправки события в PRMonline:
Срабатывание — на целевое событие, например, покупку.
Tilda - Передача события при отправке формы
Добавьте на страницу или в head код, который будет выполнять отправку события после отправки формы. Приведенный ниже фрагмент срабатывает на отправку формы form697157838
, получает объект с полями формы и выполняет отправку события NEW в PRMonline c передачей имени из формы.
<script>
$(document).ready(function(){
$('#form697157838').on('tildaform:aftersuccess', function() {
let p__fd = $('#form697157838').serializeArray().reduce((obj, item) => ({ ...obj, [item.name]: item.value }), {});
prmo('trackEx', {
name: p__fd.Name,
event: 'NEW'
});
})
})
</script>
Cookies
Скрипт использует куки для работы. Список куки в таблице ниже:
Имя | Назначение |
---|---|
_p_rlid |
refLinkId |
_p_pid |
partnerId |
_p_uid |
userId |
_p_<event> |
блок повторной отправки, если once=true |