メインコンテンツへスキップ
このガイドでは、Kameleoonが提供するさまざまな実装オプションについて説明します。実装プロセスはシンプルで、通常はページのHTMLソースコードにJavaScriptタグをインストールするだけですが、いくつかの重要な詳細を理解しておく必要があります。具体的には、タグを配置する場所、各実装のトレードオフ、そしてブラウザがKameleoonアプリケーションファイルをロードしてパースするタイミングです。正しい構成により、パフォーマンスを最適化し、プラットフォームが正常に機能することを保証します。 以下の実装方法を確認して、要件に最適なものを判断してください。WebサイトにKameleoonを基本的に実装するには、簡易実装ガイドに従ってください。
実装方法を選択したら、Kameleoonプロジェクト用に構成してください。Kameleoonは構成に基づいて適切なインストールタグを自動生成します。プロジェクトを構成するには、このガイドの手順に従ってください。
Slackコミュニティに参加して、製品機能に関する質問や最新の更新情報にアクセスしてください。

インストールタグと機能

次の表は、各実装オプションの機能とパフォーマンス特性をまとめたものです。各行は異なる実装オプションを表し、ブラウザがKameleoon JavaScriptアプリケーションファイルをどのようにロードするかを示します。列は、パフォーマンス、フリッカー、統合セッションデータ、タグマネージャーの互換性などの要素を強調しています。 このガイドの後のセクションでは、これらの特性についての詳細な説明と、開始するためのコードスニペットを提供します。
実装方法フリッカーページロードのブロック可能性優先スクリプトロードITPの影響を受けるタグマネージャーで使用
アンチフリッカー付き非同期ロードなしなしありなしなし
非同期ロードありなしあり(タグマネージャーでインストールしない場合)なしあり
同期ロードなしありありなしなし
すべての実装方法がサブドメイン間でのセッションデータ統合をサポートしていることに注意してください。

特性と機能

このセクションでは、前述の表に記載された特性と機能について定義し説明します。

フリッカー

フリッカー(または「フリッカー効果」)は、JavaScriptベースのA/Bテストソリューションで発生する一般的な問題で、実験のバリエーションがロードされる前に元のページコンテンツが一瞬表示される現象です。フリッカー列は、その実装方法がこの問題を引き起こす可能性があるかどうかを示します。詳細については、Kameleoonのフリッカー管理ドキュメントを参照してください。

ページロードのブロック可能性

ページロードのブロック可能性は、KameleoonのコンテンツデリバリーネットワークCDN(または、Kameleoonファイルをホストする自社のCDN/サーバー)が応答しなくなった場合に、Webサイトのロードプロセスが停止するかどうかを示します。JavaScriptファイル(同期ロード)方式のみがこのリスクを抱えています。他のすべての方法では、ホスティングサーバーが利用できない場合でもWebサイトは完全に機能し続けます。

優先スクリプトロード

ブラウザがHTMLページをロードする際、静的リソース(JavaScriptファイル、CSSスタイル、Iframe、画像)を使用する前にダウンロードする必要があります。ブラウザは通常、これらのリソースをネットワークキューに配置し、特定の優先順位でダウンロードします。 このプロセスには2つの重要な要素が影響します。
  • ブラウザはリソースをダウンロードする前に「発見」する必要があります。
  • 主要なブラウザは、JavaScriptを介して動的にロードされるスクリプトよりも、静的に含まれるスクリプトに高い優先度を割り当てます。
たとえば、JSファイルを高い優先度でロードするには、次の方法を使用します。
<script type="text/javascript" src="resources/scripts/example.js" async></script>
次の方法は避けてください。
<script type="text/javascript" >
  var scriptNode = document.createElement("script");
  scriptNode.type = "text/javascript";
  scriptNode.src = "resources/scripts/example.js";
  document.head.appendChild(scriptNode);
</script>
ブラウザベンダーによって明示的に文書化されているわけではありませんが、経験的な証拠から、HTMLパーサーは動的なDOM変更によって追加されたリソースよりも、発見されたリソースに高い優先度を与えることが示唆されます。
優先スクリプトロードは、Kameleoonアプリケーションファイルをブラウザのネットワークキューの先頭に配置し、優先されないセットアップよりも高速にロードされるようにします。Kameleoonではこのオプションを使用するべきです。他のリソースが若干遅延する可能性がありますが、A/Bテストは重要な機能であり、ページ表示に影響を与えずに後でロードできる分析ツールとは異なり、即座にロードされる必要があります。タグマネージャー経由でKameleoonをインストールする場合を除き、現在のすべてのKameleoon実装方法は優先スクリプトロードを提供します。

ITPの影響を受ける

AppleのIntelligent Tracking Prevention(ITP) for Safari(デスクトップおよびモバイル)は、不要なサードパーティ追跡を防止します。Mozillaも同様の技術をFirefoxに実装しました。ITPは主に、複数のWebサイト間でユーザーを追跡する広告トラッカーをブロックします。 KameleoonはITP制限に対するソリューションを提供します。バージョン2.3(2020年3月)以降、このソリューションには追加の構成手順が必要です。詳細については、ITP管理に関する記事を参照してください。

タグマネージャーで使用

タグマネージャーで使用は、実装方法がタグ管理システム(TMS)をサポートするかどうかを示します。Kameleoonは主要なTMSプラットフォームすべてで動作します。ただし、TMSを使用するのではなく、Kameleoonをページのソースコードに直接インストールする必要があります。Kameleoonのフリッカー管理ガイドで説明されているように、直接インストールはフリッカー効果の防止に役立ちます。

サブドメイン間での統合セッションデータの追跡

Kameleoonはサブドメイン間でセッションデータを統合し、複数のサブドメインにまたがるユーザーセッションを1つのセッションにリンクします。たとえば、訪問者がportal.myecommercesite.comでセッションを開始し、transaction-engine.myecommercesite.comへ続けると、Kameleoonはこれを1つの連続した訪問として扱います。 この機能により、サブドメイン間で正確なデータ収集が確保されます。統合セッションデータがないと、Kameleoonは別のサブドメインへ移動した訪問者を新しい訪問者として扱い、収集されたデータ(ページビューやサイト滞在時間など)をリセットします。このリセットにより、予期しないターゲティング結果が生じる可能性があります。 たとえば、4回目のページビューでトリガーされるパーソナライゼーションがあるとします。訪問者が最初のWebサイトで3ページを閲覧し、別のサブドメインで4ページ目をロードします。
  • 統合セッションデータあり: パーソナライゼーションは期待通りにトリガーされます。
  • 統合セッションデータなし: 新しいドメインでのページビューが新しい訪問の最初のページビューとしてカウントされ、パーソナライゼーションはトリガーされません。