メインコンテンツへスキップ
Kameleoon がバックエンドサーバーに保存するデータ(主に分析およびレポート用)について知るには、データ収集(バックエンド)の記事を参照してください。

はじめに

他の Web 解析ソリューションと同様に、Kameleoon は訪問された URL、ブラウザのバージョン、ウェブサイト滞在時間などのデータを収集します。実験およびパーソナライゼーションプラットフォームとして、Kameleoon は最小限のレイテンシで実験およびパーソナライゼーションキャンペーンをトリガーするため、これらのデータへのリアルタイムかつ永続的なアクセスも必要とします。 JavaScript ランタイム環境はページが変わるたびにリセットされるため、メモリだけにこれらのデータを保存することはできません。代わりに、Kameleoon は異なる Web ページ(URL)間でデータを読み書きします。 各ページの読み込み時にバックエンドサーバーからデータを取得することは 1 つの代替案ですが、このアプローチには 2 つの欠点があります。
  • パフォーマンスコスト:各ページの読み込み時に追加のサーバー呼び出しが発生する。
  • スケーラビリティコスト:頻繁なサーバーリクエストは大規模な運用時にパフォーマンスを低下させる。
ローカルストレージはより効率的なアプローチです。Kameleoon はブラウザに直接データを保存できます。

データ保存メカニズムとしてのローカルストレージ

Kameleoon は以下の 2 つの理由により、データの保存に Cookie を使用しません。
  • Cookie は大量のデータを保存することを想定して設計されていません。
  • ブラウザは画像のような静的リソースのリクエストを含むすべての HTTP リクエストに対して Cookie を送信するため、帯域使用量が増え、パフォーマンスが低下します。
代わりに Kameleoon は、ほとんどのブラウザがサポートする標準的な Web 技術である Local Storage を使用します。Cookie と同様に動作しますが、はるかに大きなストレージ容量(ブラウザにもよりますが通常は数 MB)をサポートします。 Cookie と比較して、Local Storage には次のような特性があります。
  • Local Storage には JavaScript のみが書き込めます。サーバーは書き込めません。
  • JavaScript のみが Local Storage からデータを読み取れます。
  • ブラウザは Local Storage のデータをリモートの HTTP サーバーに送信することがないため、よりセキュアです。
ただし、Local Storage には 1 つの重要な制限があります。それは、正確に 1 つのサブドメインにスコープが限定されているという点です。

統一されたセッションデータに関する Local Storage の制限

Cookie の場合、http://www.example.com 上のスクリプトが buy.example.com からアクセス可能な Cookie を作成できますが、Local Storage はサブドメインおよびプロトコル単位で分割されています。 たとえば、Eコマースサイトが https://www.randomshop.com でホストされていて、コンバージョンファネルが https://transaction.randomshop.com で動作している場合、これら 2 つのサブドメイン間で Local Storage がデータを共有することはできません。これにより、カスタマージャーニー全体で実験のバリエーションに不整合が生じ、ユーザー体験と実験の妥当性の両方に影響を及ぼす可能性があります。 Kameleoon はサブドメインをまたいでセッションデータを統合する仕組みを提供します。詳細については、サブドメイン間でセッションデータを統一するを参照してください。

収集されるデータの一覧

このページでは 2 つのカテゴリのデータを扱います。
  1. すべての訪問者に対して収集・保存されるデータ(オプトアウトした訪問者を除く)。
  2. Kameleoon のユーザーがプラットフォーム上で実験を構築する際に 内部利用のために収集されるデータ
データプライバシーの観点では、最初のカテゴリ に注目してください。2 番目のカテゴリは少数の内部従業員にのみ適用されます。
Kameleoon は常にお客様のドメインに関連付けられた ファーストパーティ のコンテキストでデータを保存します。Kameleoon は Kameleoon 所有のドメインにサードパーティデータを 決して 保存しません。

すべての訪問者について保存されるデータ

Local Storage に保存されるデータ

Local Storage には組み込みの有効期限メカニズムがありません。これを回避するため、Kameleoon は次の 2 つのフィールドでデータを保存することにより、有効期限をエミュレートします。
  • "value": 保存される情報。
  • "expirationDate": Kameleoon がデータの使用を停止する時点を定義するタイムスタンプ。
例:
kameleoonLegalConsent: {"value": {"AB_TESTING": true, "PERSONALIZATION": true},"expirationDate":1545297630228}
キー説明有効期間
kameleoonVisitorCode一意の Kameleoon visitorCode 識別子。365 日
kameleoonData訪問者およびセッションデータ(例:閲覧履歴、セッション情報)。Kameleoon は単純なエンコード方式を用いてこのデータを Local Storage に保存します。このキーに含まれる全データの一覧は以下に記載されています。365 日
kameleoonExperiment-${experimentId}実験のバリエーション割り当てと割り当てられたバリエーション ID(「Reference」、バリエーション ID、トラフィック除外が設定されている場合は「none」)、および Kameleoon がバリエーションを割り当てた日付。30 日(再訪時に更新)
kameleoonPersonalization-${personalizationId}この訪問者へのパーソナライゼーションのバリエーション割り当て。30 日(再訪時に更新)
kameleoonGlobalPersonalizationExpositionすべてのパーソナライゼーションに対する訪問者のグローバル露出ステータス。"false" の値はこの訪問者にパーソナライゼーションを一切表示しません。"true" の値は、訪問者が必要なターゲティング条件を満たした場合に露出を許可します。デフォルトでは、グローバルなトラフィック除外は適用されません。この値は プロジェクト設定 で構成できます。365 日
kameleoonLegalConsentKameleoon の利用に関する法的同意。値のフォーマット例:{"AB_TESTING": true, "PERSONALIZATION": false} または {"PERSONALIZATION": true}365 日
kameleoonOpenTabs同じウェブサイト上で開いているタブの ID。365 日
KameleoonProducts_device_id訪問者の一意のデバイス ID。Product Recommendation アドオンを利用している場合にのみ、Kameleoon はこのキーを保存します。365 日
kameleoonRequestEventsページが即座にリロードされた場合に Kameleoon が送信できなかった失敗したリクエスト。この挙動は Safari に特有のものです。ページがリロードされると削除されます。
kameleoonData キーには各訪問につき以下のデータが保存されます(このデバイスのみ、またはクロスデバイス履歴の調整を使用する場合はすべての訪問)。
  • カスタムデータ
  • デバイスタイプ(モバイル、タブレット、デスクトップ)
  • オペレーティングシステム
  • ブラウザ名およびバージョン
  • 画面サイズ
  • ウィンドウサイズ
  • ブラウザのタイムゾーン
  • ブラウザの言語
  • オリジナルのリファラー(獲得チャネル)
  • 閲覧されたページ数
  • 訪問されたページのタイトルおよび URL
  • ウェブサイト滞在時間
  • 訪問の開始時刻と終了時刻
  • 開いているタブの数
  • 広告ブロッカーがアクティブかどうか
  • コンバージョン一覧(クリック、トランザクション、その他のイベント)
  • 訪問者が見たパーソナライゼーションおよび A/B 実験の一覧
  • 現在の気象条件(ターゲティング条件がアクティブな場合):気温、風、雨、その他の条件
  • 日の入り時刻(気象ターゲティング条件がアクティブな場合。一部の気象条件で必要なため)
  • 天気予報(ターゲティング条件がアクティブな場合):気温、風、雨、その他の条件
  • 位置情報(位置情報または気象ターゲティング条件がアクティブな場合)
  • IP アドレス(ターゲティング条件がアクティブな場合)
  • サードパーティ DMP または CRM からの外部セグメンテーションデータ
  • 閲覧された商品(Product Targeting アドオンが有効化されている場合)

Session Storage に保存されるデータ

キー説明有効期間
kameleoonDisabledForVisit現在の訪問について Kameleoon を無効化します。訪問全体で Kameleoon を無効化する タイムアウトオプションを有効にした場合、Kameleoon がこのキーを設定します。セッション継続期間
kameleoonAnalyticsTrackingTimesWeb 解析インテグレーションを使用する際に Kameleoon が行うサードパーティ解析トラッキング呼び出しの数を最適化します。セッション継続期間
kameleoonTabIdブラウザのタブを区別し、複数のトリガーイベントにわたって同じページ URL の冗長なトラッキングを防ぐ、一意の 8 桁の識別子。セッション継続期間
kameleoonActiveScriptスクリプトがページにインストールされたことを確認すると、Kameleoon がこの値を設定します。セッションストレージの値
Kameleoon は 1 つの Cookie のみ を使用してランダムに生成された 訪問者識別子 を保存します。Kameleoon CDN も、アプリケーションファイルを配信する際にオプションの Cookie を設定する場合があります(アプリケーションファイルをセルフホスティングしている場合を除く)。Kameleoon Product Recommendation アドオンを利用している場合、Kameleoon は追加で 2 つの Cookie を保存します。これらのデータポイントを代わりに Local Storage に保存する Cookie レスオプションを有効化するには、カスタマーサクセスマネージャーにお問い合わせください。
キー説明有効期間
KameleoonProducts_session_code一意のセッション識別子。セッション継続期間
KameleoonProducts_session_last_act最後のアクティビティのタイムスタンプ。1 時間

Kameleoon の内部利用のみのために保存される一時データ

キー説明有効期間
kameleoonSimulationParametersKameleoon シミュレーションモードは、サブドメイン間でシミュレーションを有効にするためにこの Cookie を使用します。これがない場合、サイトにサブドメインがあるとシミュレーションが正しく動作しません。すべてのシミュレーションクエリパラメータは、JSON.stringify を使って URL エンコードされた JSON 形式で含める必要があります。例:
KEY - kameleoonSimulationParameters, VALUE - {"kameleoon-experiment-id":"266118","kameleoon-simulation":"true","kameleoon-language":"en"}1 時間、ただしシミュレーションを閉じると即座に削除されます。

Local Storage に保存されるデータ

キー説明有効期間
kameleoonSimulationシミュレーション目的に必要なデータ。1 時間
kameleoonSimulationShortURLシミュレーションの短縮 URL。1 時間
kameleoonSimulationVisitorDataシミュレーション目的で使用される、訪問者およびその訪問に関するすべての仮想データ。1 時間

Session Storage に保存されるデータ

キー説明有効期間
kameleoonFullApplicationCodeシミュレーションに必要な Kameleoon のコードベース全体。本番用のアプリケーションファイルはサイズ最適化のためすべてのコードを含んでいないため、Kameleoon はフルバージョンをここに保存します。1 時間
kameleoonVariation-${variationId}プレビューまたはシミュレーション目的のためのバリエーションコードとデータ。1 時間
kameleoonRedirectionURLKameleoon がリダイレクト実験をトリガーした際のページの絶対 URL。Kameleoon は無限リダイレクトループを防ぐためにこれを保存します。訪問者が別のページに遷移すると削除されます。