Web SDK ベストプラクティス (レガシー)
このページは、以前のバージョンの Rokt Web SDK に適用されます。現在のバージョンについては、現在の開始ガイドを参照してください。
ウェブサイトの速度はビジネスにとって非常に重要であり、当社の技術はサイト全体での顧客体験の向上に焦点を当てています。そのため、ペー ジのパフォーマンスは当社のソリューションの中核となる要素です。エンゲージメントを成功裏に向上させ、コンバージョン率を最大化するためには、ページの読み込み時間を最小限に抑えるためのいくつかのアプローチを取っています。
サードパーティ統合とパフォーマンス
ページ上で使用するすべてのツールとサービスの配置と読み込み優先度を理解することが重要です。ウェブページに追加されるサードパーティの統合は、全体の読み込み時間に影響を与えます。
Rokt の統合は、特に顧客体験を向上させ、ページからの追加価値を引き出すように設計されています。他の一般的に使用されるサードパーティの統合は、トラッキングや分析に重点を置いており、顧客体験に直接影響を与えるものではありません。
ページから最大の価値を引き出すためには、Rokt のような顧客中心のサービスがトラッキングや他のバックグラウンドサービスよりも先にトリガーされることを確認することが重要です。
Rokt との統合のベストプラクティスアプローチは次のとおりです:
- 他のサードパーティ統合の_前に_ページの
<head>内に統合ランチャースクリプトの読み込みを配置する。 - データ属性が利用可能になったらすぐに Rokt の配置をトリガーする。
例
<!DOCTYPE html>
<html lang="en">
<head>
<!-- メ タタグ -->
<!-- パート #1 - Web SDK の読み込み -->
<script type="module">
window.RoktLauncherScriptPromise = new Promise((resolve, reject) => {
const target = document.head || document.body;
const script = document.createElement("script");
script.type = "text/javascript";
script.src = "https://apps.rokt.com/wsdk/integrations/launcher.js";
script.fetchPriority = "high";
script.crossOrigin = "anonymous";
script.async = true;
script.id = "rokt-launcher";
script.addEventListener('load', () => resolve());
script.addEventListener('error', (error) => reject(error));
target.appendChild(script);
});
</script>
<!-- 他のスクリプトとメタタグ -->
</head>
<body>
<!-- HTMLコンテンツをここに記述 -->
<!-- Part #2 - データ属性が利用可能になったら、以下のスクリプトを実行してRoktプレースメントを表示 -->
<script type="module">
await window.RoktLauncherScriptPromise;
const launcher = await window.Rokt.createLauncher({
accountId: "rokt-account-id",
sandbox: true,
});
await launcher.selectPlacements({
attributes: {
email: "",
firstname: "",
lastname: "",
confirmationref: "",
billingzipcode: "",
amount: "",
paymenttype: "",
ccbin: "",
mobile: "",
country: "",
language: "",
currency: "",
billingaddress1: "",
billingaddress2: "",
age: "",
gender: "",
cartItems: JSON.stringify(cartItems),
},
});
</script>
<!-- HTMLコンテンツをここに記述 -->
</body>
</html>
Google Analyticsのようなバックグラウンドサービスの場合、これらの統合をページの下部に配置し、非同期でロードするのが最適なアプローチです。このアプローチは、これらのリソースが遅くロードされても、顧客体験に影響を与えないようにすることを目的としています。
非同期 vs 同期
ウェブページは、ヘッドとボディで構成されています。ボディ内のすべての要素はブラウザによってレンダリングされ、ヘッドはスクリプトやスタイルシートなどの外部リソースを読み込むために使用されます。ページがブラウザで読み込まれると、ブラウザは上から下へとHTMLを読み始めます。ヘッドセクションには、すべての外部リソースが完全に読み込まれるまで何も表示されないという特別な特性があります。これが同期読み込みで す。
しかし、この機能を変更して、すべての外部リソースが読み込まれるのを待たずに特定の要素を読み込むことができます。これが非同期読み込みとして知られています。
Roktスクリプトは、Roktをサイトに追加するの例に従って非同期で読み込まれます。これにより、ページ全体の読み込みが速くなります。ブラウザはRoktリソースの読み込みが完了するのを待たずにページを顧客に表示するため、顧客体験が中断されず、Roktの配置が準備ができたときに表示されます。
アップセルや支払いオプションの提供など、Roktがトランザクションフローに不可欠なより深い統合の場合、クライアントはRoktを同期読み込みに切り替えることができ、Roktコンテンツが完全に読み込まれるとページが表示されるようにします。
同期ロード
リソースが同期的にロードされる場合のページの例は以下の通りです:
<html>
<head>
<script src="a.js" />
<script src="b.js" />
<script src="c.js" />
<script src="d.js" />
<script src="e.js" />
</head>
<body>
Your content
</body>
</html>
すべてのリソースが同期的である場合、要素は順番にロードされます:

非同期ロード
スクリプトを非同期でロードすることには、ページの速度を低下させないという利点がありますが、ページ上のコンテンツがポップアップしたり、元のページコンテンツがロードされる際にちらつきが発生する可能性があります。
スクリプトが非同期でロードされる場合のページの例は以下の通りです:
<html>
<head>
<script src="a.js" />
<script async src="rokt.js" />
<script src="c.js" />
<script src="d.js" />
<script src="e.js" />
</head>
<body>
Your content
</body>
</html>
スクリプトが非同期の場合、他のスクリプトと同時にロードされます:

この場合、Roktは他のリソースのロードを妨げません。Roktスクリプトと他のページリソースは同時にロードされるため、ページ全体のロードが速くなります。ブラウザはRoktリソースのロードが完了するのを待たずにページを表示するため、ユーザー体験が中断されることはなく、Roktの配置は準備ができたときに表示されます。
タグマネージャーを通じてRoktを読み込む
お客様に最高の体験を提供するために、Rokt SDKをページのHTMLに直接配置して起動することをお勧めします。
タグマネージャーを通じてRoktを読み込みたい場合、Google Tag Manager、Tealium、Segment、およびAdobe Experience Platformを使用した統合をサポートしています。