# Відстеження та згода

> Передавайте параметри кампанії та атрибуції до оформлення замовлення й керуйте повідомленням про умови, яке відображається покупцям, що купують уперше.

## Параметри відстеження

`tprm` — це об’єкт параметрів, що передається до оформлення замовлення, де вони фіксуються для створеного замовлення. Використовуйте його, щоб пов’язувати продажі з кампанією, сторінкою або каналом продажів.

```js
const entase = new Entase({
  pk: 'YOUR_PUBLISHABLE_KEY',
  tprm: { utm_source: 'newsletter', utm_campaign: 'spring-season' }
});
```

Змінюйте їх у будь-який момент – використовуються значення, задані на момент виклику `book()`:

```js
entase.setTracking({ utm_source: 'facebook', sgm: 'SEGMENT_CODE' });
entase.getTracking();  // { utm_source: 'facebook', sgm: 'SEGMENT_CODE' }
```

`setTracking()` **замінює** весь об’єкт, а не об’єднує його з наявним. Щоб додати один параметр, розгорніть поточний набір:

```js
entase.setTracking({ ...entase.getTracking(), utm_content: 'sidebar' });
```

### Передавання параметрів із власної URL-адреси

Клієнт не зчитує рядок запиту вашої сторінки. Якщо відвідувач переходить на `yoursite.com/concert?utm_source=facebook` і ви хочете, щоб ця атрибуція була в замовленні, передайте її самостійно:

```js
const params = new URLSearchParams(window.location.search);
const forward = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'sgm'];

const tprm = {};
forward.forEach(key => { if (params.has(key)) tprm[key] = params.get(key); });

const entase = new Entase({ pk: 'YOUR_PUBLISHABLE_KEY', tprm });
```

Віджет для вбудовування робить це автоматично для фіксованого списку параметрів. Дивіться [Розширені параметри вбудовування](/developers/js-client/embed-advanced-options.md).

### Сегменти

`sgm` передає код сегмента, який групує продажі за каналом або кампанією у вашій статистиці. Сегменти створюються у вашому обліковому записі Entase, а не тут – дивіться [Огляд сегментів](/organizers/segments/segments-overview.md) і [Створення та керування сегментами](/organizers/segments/creating-and-managing-segments.md).

## Згода

Під час оформлення замовлення покупцям, які купують уперше, пропонується прийняти повідомлення про умови Entase. Після прийняття відповідь зберігається в cookie, а під час наступних відвідувань цей крок пропускається, зокрема на інших сайтах, що використовують Entase.

Ви можете відстежувати це:

```js
entase.on('checkout.consent', payload => {
  if (payload.data.consent) console.log('accepted');
});
```

### Пропуск кроку

`collectConsent: false` приховує повідомлення:

```js
const entase = new Entase({ pk: 'YOUR_PUBLISHABLE_KEY', collectConsent: false });
```

Або для одного бронювання:

```js
entase.book('EVENT_ID', { collectConsent: false });
```

Робіть це лише тоді, коли ваш власний процес оформлення замовлення вже отримує еквівалентну згоду – вимога не зникає через приховування повідомлення. За замовчуванням залишайте її увімкненою.

Збережене прийняття повторно перевіряється за датою останньої зміни умов, тому відвідувача, який прийняв старішу версію, буде запитано знову. Приховування повідомлення також вимикає цю перевірку.
