# トラッキングと同意

> キャンペーンおよびアトリビューションのパラメータをチェックアウトに引き継ぎ、初回購入者に表示する利用規約に関する通知を管理します。

## トラッキングパラメータ

`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()` はオブジェクトをマージするのではなく、オブジェクト全体を**置き換え**ます。パラメータを1つ追加するには、現在のセットをスプレッドします。

```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 });
```

または、1件の予約に対して指定できます。

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

独自のチェックアウトフローですでに同等の同意を取得している場合にのみ、これを行ってください – 通知を非表示にしても、要件がなくなるわけではありません。デフォルトでは有効のままにしてください。

保存された同意は、利用規約が最後に変更された日付に照らして再確認されます。そのため、古いバージョンに同意した訪問者には再度確認が求められます。通知を非表示にすると、この再確認も行われません。
