# Проследяване и съгласие

> Предавайте параметрите за кампании и атрибуция към плащането и управлявайте известието за условията, показвано на купувачите за първи път.

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

`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. След приемане отговорът се съхранява в бисквитка и стъпката се пропуска при следващи посещения, включително на други сайтове, използващи 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 });
```

Правете това само когато вашият собствен процес на плащане вече събира еквивалентното съгласие – изискването не отпада, защото известието е скрито. По подразбиране го оставете включено.

Съхраненото приемане се проверява отново спрямо датата на последната промяна в условията, така че посетител, който е приел по-стара версия, бива помолен отново. Скриването на известието скрива и това.
