ページの <body> タグ内であれば、どこでも zaraz.set() を使えます。
zaraz.set(key, value, [options])zaraz.set() は、zaraz.track() を使うたびに手動で設定せず、すべてのイベントで変数を使えるようにしたい場合に便利です。この例では、システム上のユーザーに一意の識別子があり、それをツールへ送りたいとします。zaraz.track() の呼び出しが多数あり、すべてがこの 1 つのパラメーターを共有します。
zaraz.track("form completed", {userId: "ABC-123"})zaraz.track("button clicked", {userId: "ABC-123", value: 200})zaraz.track("cart viewed", {items: 3, userId: "ABC-123"})ここでは、すべてのイベントが userId キーを収集しており、そのキーを設定するコードが繰り返されています。zaraz.set() を使うと、ページ読み込み時に一度だけキーを設定して、繰り返しを避けられます。Zaraz は、以降のすべての zaraz.track() 呼び出しにこのキーを付けます。
上記のデータを例にすると、zaraz.track() の呼び出しより前に zaraz.set("userId", "ABC-123") を一度使えば、すべての zaraz.track() 呼び出しから userId キーを外せます。
別の例です。
zaraz.set('product_name', 't-shirt', {scope: 'page'})zaraz.set() で送ったキーは、zaraz.track() の eventProperties にあるキーと同じように、ツールのアクション内で使えます。そのため、上記の product キーには、Cloudflare ダッシュボードの変数 Track Property name: からアクセスでき、名前を product_name に設定します。Zaraz はそれを t-shirt に置き換えます。
[options] 引数は任意のオブジェクトで、文字列値を持つ scope プロパティを含められます。このプロパティはキーの寿命、つまり Zaraz が zaraz.track() 呼び出しにキーを付け続ける期間を決めます。使える値は次のとおりです。
page: 現在のページのコンテキストだけにキーを設定します。session: セッション全体でキーを保持します。persist: セッションをまたいでキーを保存します。これがデフォルトで、値の保存にlocalStorageを使います。
前の例では、{scope: 'page'} により、現在のページ内のすべての zaraz.track() 呼び出しで product_name プロパティを使えます。訪問者がほかのページへ移動したあとの呼び出しには影響しません。
変数を解除するには、undefined を設定します。その変数は含まれていたすべてのスコープから削除され、以降の zaraz.track 呼び出しには自動では送られません。例:
zaraz.set('product_name', undefined)