概要
ウェブサイトやモバイルアプリで実験を起動する前に、Kameleoon スクリプトをインストールする必要があります。一意のプロジェクトコードを含むこのスクリプトは、ソースコードの<head> タグに追加する必要があります。
パッケージで許可されている場合は、Kameleoon アカウントから複数のサイトやアプリを管理できます。これは、ステージングまたはプリプロダクション環境でのテストに役立ちます。
プロジェクトを作成すると、セットアップフォームが 4 つのステップをガイドします。インストール方法によって表示されるオプションが決まります:
クロスドメイントラッキングを有効にすると、チェックリストには Kameleoon の静的 HTML ファイルをメインドメインでホストするタスクも含まれます。
プロジェクト構成
Kameleoon アプリ で、Admin > Projects をクリックするとプロジェクトのリストが表示されます。デフォルトでは、サインアップ時に入力したウェブサイトまたはモバイルアプリ用のプロジェクトがあります。既存のプロジェクトを構成する
プロジェクトのインストール設定を変更するには:- Admin > Projects をクリックします。
- プロジェクトの行にある Edit をクリックし、Setup タブをクリックします。
- Installation method または Technical configuration セクションで、Edit をクリックします。3 ステップのセットアップフォームが開きます。
新しいプロジェクトを作成する
新しいプロジェクトを作成するには:- Admin > Projects をクリックし、New project をクリックします。
- Web Experimentation を選択します。同じプロジェクトからフィーチャーフラグや SDK 実験も実行する場合は All campaign types を選択します。プロジェクトを作成した後は、タイプを変更できません。Next をクリックします。
- メインプロジェクトドメインを入力し、色を選択して、オプションで名前、説明、タグを追加し、Next をクリックします。
- インストール方法と、コードスニペットの場合はローディングモードを選択し、Next をクリックします。
- 動的ウェブサイトのサポート(コードスニペットのみ)、リソースホスティング、ドメインを構成し、Next をクリックします。インストール方法として Shopify を選択した場合、Kameleoon はこのステップをスキップします。
- チェックリストのタスクを完了し、Complete setup をクリックします。
追加のプロジェクトを作成する能力は Kameleoon パッケージによって異なります。
実装設定を選択する
セットアップフォームの Installation method ステップで、Kameleoon のインストール方法と、ウェブサイトでの Kameleoon の読み込み方法を選択します。タグマネージャーを使用した Kameleoon のインストール方法やカスタムスクリプトタイプの実装方法など、技術的な詳細については、標準実装 の記事を参照してください。同意
ウェブサイトに Kameleoon スクリプトをインストールする前に、セットアップが組織の同意管理ポリシーに準拠していることを確認してください。 Consent Management Platform(CMP)を使用している場合は、Kameleoon と統合して、実験とデータ収集がいつアクティベートされるかを制御できます。 詳細については、Kameleoon の 同意管理の記事 を参照してください。ドメインとサブドメイン
Kameleoon スクリプトを読み込み、その機能にアクセスできるドメインとサブドメインを定義できます。- Technical configuration ステップの Domains and subdomains で、クロスドメイントラッキング用にドメインを許可リストに追加するため、ドメインを入力して Add domain をクリックします。
- これにより、Kameleoon のグラフィックエディタを使用したり、ドメイン間で訪問者データを保存/取得したりできます。
- リストにないドメインで Kameleoon を使用しようとすると、ブラウザのセキュリティポリシー(CORS)により読み込みが失敗します。
クロスドメイントラッキング
クロスドメイントラッキングを使用すると、次のことが可能になります:- 異なるドメインとサブドメイン間で同じ訪問者を追跡する(例:
example.comとexample.org)。 - ドメイン間を移動するユーザーを “新規訪問者” として再分類することを避ける。
- プロパティ間で一貫したパーソナライゼーションと実験エクスペリエンスを提供する。
複数のドメインにわたってセッションデータを統合する予定がある場合は、クロスドメイントラッキングを有効にする必要があります。有効にするには、Domains and subdomains の下にある Track visitors across listed subdomains をオンにします。
認可
サブドメインをターゲットにしている場合は、次の 2 つの HTTP ヘッダー設定を確認してください:- Kameleoon iframe をホストするページに X-Frame-Options レスポンスヘッダーを設定しない
- Content Security Policy で Kameleoon リソースを許可する
Safari でのクロスサイトトラッキングを制限する Apple の Intelligent Tracking Prevention(ITP)について詳しくは、この ITP ドキュメント で学んでください。
リソースホスティング
Kameleoon が公開リソースをホストするか、自分でセルフホストするかを選択できます。- Technical configuration ステップの Resource hosting で、Self-host the script file、Self-host images、または両方をオンにします。
- Content Delivery Network(CDN)またはサーバーの URL を Script file URL、Image base URL、または両方に入力します。
Kameleoon スクリプトをインストールする
プロジェクトのメインドメインを定義した後、Kameleoon はインストール用のスクリプトを生成します。スクリプトは、Setup タブと、Checklist ステップの Add JavaScript snippet to your website タスクで確認できます。- Copy をクリックしてコードスニペットをコピーします。
- サイトのソースコードの
<head>タグの直後 に貼り付けます。 - 更新したページを保存してサーバーにアップロードします。
- Kameleoon で Mark as completed をクリックします。
ページの読み込みプロセスでできるだけ早くスクリプトをインストールしてください。
フリッカリングの防止
ウェブページが読み込まれると、ユーザーはバリエーションが適用される前に元のバージョンを一瞬見ることがあります。この一瞬の閃きはフリッカーエフェクトまたはフリッカリングと呼ばれます。フリッカリングはバリエーションの変更が遅延したときに発生し、オリジナルと変更されたコンテンツの間で目に見える切り替わりを作り出します。フリッカリングは、特に A/B テストで、ユーザーエクスペリエンスと実験の信頼性に影響を与える可能性があります。フリッカリングを避けるためのガイドライン
実装
Kameleoon スクリプトを<head> タグのできるだけ高い位置に配置してください。スクリプトが 1 秒以内、理想的には 500 ms 以下で読み込まれることを確認してください。Kameleoon の読み込み時間を確認するには、ブラウザの開発者ツールの Network タブを使用してください。


同意
同意ポリシーが consent required に設定されている場合、訪問者がまだ同意していないときは 初回ページビュー でフリッカリングが発生する可能性があります。このフリッカリングは、同意が不明なときに Kameleoon を部分的または完全にブロックすることを選択した場合に発生します。 フリッカリングを防ぐには、Kameleoon をブロックしないようにする必要があります。これにより、訪問者のランディングページで同意が与えられる前に実験を表示できます。このアプローチは、GDPR、CCPA、英国、カナダ、米国の他の主要なフレームワークなどのプライバシー規制に完全準拠しています。同意が付与される前に、追跡またはデータ保存(cookies/localStorage)は行われないためです。
利用可能なオプションを確認するには、以下のスクリーンショットを参照してください。

ターゲティング
ページ読み込み時に利用可能な情報を使用する
最高のパフォーマンスのために、ページ読み込み時にすぐに利用可能なデータに基づいてターゲティングを行ってください。例えば:- ページ URL
- ブラウザの種類
- デバイスの種類
cookies/localStorage
dataLayer 変数など、遅れて読み込まれる要素のターゲットを避けてください。これらは非同期で読み込まれる可能性があるため、ターゲティングに使用するとバリエーションの実行が遅れる可能性があります。セグメントがカスタム JS 条件、または dataLayer 自体に依存するカスタムデータに依存している場合、フリッカリングも発生する可能性があります。
フリッカリングを最小化するには、ターゲティングに使用される条件がページのライフサイクルでできるだけ早く解決されるようにしてください。
Segment Builder のすべてのターゲティング条件について詳しくは、この 記事を参照してください。
バリエーションコード
視覚的変更には JavaScript の代わりに CSS を使用する
JavaScript の代わりに CSS を使用することで、より高速でスムーズなレンダリングが保証されます。CSS は次のように使用するべきです:- 要素の非表示または変更
- ブロックの入れ替え
- スタイルやテキストの変更
Activation API で JavaScript の実行を最適化する
JavaScript が必要な場合は、Kameleoon の Activation API を使用して、バリエーションが適切なタイミングで適用されるようにします:runWhenConditionTrue: 特定の条件が満たされたときにコードを実行します。runWhenElementPresent: ターゲット要素がページに読み込まれるとすぐにバリエーションが表示されることを保証します。これらのメソッドを使用すると、非同期に読み込まれる要素による遅延を回避できます。
シングルページアプリケーションの処理
実験がシングルページアプリケーション(SPA)または動的に更新されるページで実行される場合、特別な実装手順が必要です。ベストプラクティスについては、SPA で実験を設定するための この ガイドに従ってください。FAQ
問題: フレーム内での表示を拒否(X-Frame-Options)
問題: フレーム内での表示を拒否(X-Frame-Options)
フレーム内での表示を拒否 エラーは、クロスドメイントラッキングを有効にしている場合に発生します。メインドメインで静的 iframe をホストする必要があります。Kameleoon iframe の仕組みiframe は、ホストドメインの
localStorage への読み書きを通じてサブドメイン間のデータ一貫性を確保します。Kameleoon は追加のサーバーコールなしに同じ訪問者を追跡できます。詳細については、サブドメイン間でのセッションデータの統合 を参照してください。Kameleoon は iframe を 3 つの対策で保護しています:- アクセス制限:
allowedDomains変数内のドメインのみが iframe をリクエストできます。 - サイトコード検証: 指定されたサイトコードのみが iframe をリクエストできます。
- プレフィックス付きストレージ: Kameleoon は
kameleoonでプレフィックスが付いたエントリにのみアクセスします。
X-Frame-Options ヘッダーは、クリックジャッキングを防ぐためにブラウザがフレーム内のページをレンダリングするのを防ぎます。詳細については、Mozilla ドキュメント を参照してください。クロスドメイントラッキングを有効にするには、X-Frame-Options ヘッダーを設定しないでください。ホストされた iframe ファイルにドメインの制限リストを提供することで iframe を保護できます。問題: スクリプトの読み込みを拒否
問題: スクリプトの読み込みを拒否
https://xxxxxx.kameleoon.eu/kameleoon.js スクリプトが Content Security Policy(CSP) に違反しているというエラーが表示される場合があります。サイトが CSP ヘッダーでリソースを制限している場合は、Kameleoon リソースを許可するようポリシーを更新してください。許可する Kameleoon ドメインの完全なリスト を参照してください。Kameleoon はすべての Web ブラウザで動作しますか?
Kameleoon はすべての Web ブラウザで動作しますか?
サポートされる Web ブラウザKameleoon は一部の古いブラウザをサポートしません。訪問者がサポートされていないブラウザを使用している場合、実験ではなくオリジナルのページが表示されます。元のページへのフォールバックは実験結果に悪影響を及ぼしません。Kameleoon スクリプトがサポートするブラウザ:
- Chrome
- Firefox
- Microsoft Edge
- Opera
- Safari
Kameleoon スクリプトのキャッシュ有効期限(TTL)はどれくらいですか?
Kameleoon スクリプトのキャッシュ有効期限(TTL)はどれくらいですか?
訪問者がウェブサイトに到達すると、ブラウザはサイトコードと Kameleoon スクリプトをダウンロードします。ページの読み込み時間は、コードの長さと外部リソースに依存します。キャッシュは、静的リソースをブラウザキャッシュに保存することで、その後のアクセスのパフォーマンスを向上させます。キャッシュはユーザーエクスペリエンスを向上させますが、キャッシュに古いバージョンのスクリプトを持つリピーター訪問者に新しい実験を遅らせる可能性があります。この問題を解決するために、Kameleoon スクリプトには キャッシュ有効期限(TTL: Time-to-live) フラグが含まれています。このフラグにより、ブラウザは 1.5 時間ごとに新しいバージョンのスクリプトをダウンロードするよう指示されます。
一部のモバイルブラウザは、ブラウザポリシーに応じてパフォーマンスを最適化するために TTL 設定を無視する場合があります。
フリッカーエフェクトとは何ですか?
フリッカーエフェクトとは何ですか?
フリッカーエフェクト(またはフリッカリング)は、訪問者がバリエーションが読み込まれる前にオリジナルのページが一瞬表示されるときに発生します。フリッカリングは Kameleoon スクリプトがページコンテンツの後に読み込まれると発生する可能性があります。その場合、ブラウザはバリエーションの変更を最後に適用します。フリッカリングを減らすには、HTML
<head> のできるだけ高い位置に Kameleoon スクリプトを配置してください。完全なガイドについては、フリッカリングの防止 を参照してください。Kameleoon は他のサイト上のスクリプトと競合する可能性がありますか?
Kameleoon は他のサイト上のスクリプトと競合する可能性がありますか?
Kameleoon が他のスクリプトと競合する可能性は非常に低いです。Kameleoon は純粋な JavaScript を使用しており、jQuery は必要ないため、jQuery を使用するサイトとの競合を回避します。サーバーサイド言語から独立して動作し、グローバル JavaScript 変数を避けて非互換性のリスクを最小化します。jQueryウェブサイトで jQuery を使用している場合、Kameleoon は jQuery と競合しません。ただし、Kameleoon は jQuery でも使用される CSS セレクターエンジンである Sizzle ライブラリを使用しています。実験を作成する際に Sizzle を使用できます。