英語からAIを使用して翻訳されました
この文書はAI技術を使用して翻訳されたことにご注意ください。正確性を維持するよう努めていますが、一部の詳細が元のテキストを完全に反映していない場合があります。情報に不明な点がある場合は、英語版を参照してください。
この記事は、当社の app.contentsquare.com プラットフォームの顧客に適用されます。どのプラットフォームを使用しているかわからない場合は、ブラウザのURLを確認してください。 insights.hotjar.com が表示される場合は、代わりに この記事 をご覧ください。
Optimizelyは、コンテンツ管理、ABテスト、およびAI主導のパーソナライズを1つのソリューションに統合した包括的なデジタル体験プラットフォームです。これにより、チームはすべてのチャネルでデジタル体験を作成、テスト、最適化でき、企業はパーソナライズされたコンテンツを提供し、エンゲージメントとコンバージョンを促進するデータに基づいた決定を下すことができます。
始める前に
この統合により、OptimizelyのABテストおよびそれにさらされたバリアントグループに基づいてユーザーをセグメント化し、比較することができます。
最後に、Optimizelyの実験に基づいてユーザー調査をターゲットにすることができます。
以下のデータを収集します:
| キー | 値 | データタイプ |
| AB_OP_{キャンペーン名またはID} | {campaignID} | テキスト |
| AB_OP_SS_{機能キー} | {variationKey} | テキスト |
実装
Optimizely機能実験(サーバーサイド)
React SDK を使用して、通知リスナーを利用する必要があります。これにはonDecisionコールバック関数があります。
React SDKコードに、統合コメント内に表示されているコードの部分を追加します。onDecisionの外にあるコードとonDecision関数内のコードの両方を追加する必要があります:
import { enums } from "@optimizely/react-sdk";
// サードパーティの分析統合をここにインポートします
///////////////////////////////////////////
// 決定通知リスナーを設定します //
///////////////////////////////////////////
/*
*名前: Optimizely機能実験サーバーサイドテストCS統合開始
*バージョン: 1.0.0
*/
function csCallback() {
if (!disableCallback) {
disableCallback = true;
if (window.CS_CONF) {
CS_CONF.integrations = CS_CONF.integrations || [];
CS_CONF.integrations.push("Optimizely機能実験 - v1.0.0");
}
}
}
let disableCallback = false;
window._uxa = window._uxa || [];
_uxa.push(["afterPageView", csCallback]);
function onDecision({ type, userId, attributes, decisionObject }) {
if (type === "flag") {
const csPrefix = "AB_OP_SS_";
const csKey = csPrefix + decisionObject.decisionInfo["flagKey"];
const csValue = decisionObject.decisionInfo["variationKey"];
window._uxa = window._uxa || [];
window._uxa.push(["trackDynamicVariable", { key: csKey, value: csValue }]);
}
}
//Optimizely機能実験サーバーサイドテストCS統合終了
const notificationId = optimizelyClient.notificationCenter.addNotificationListener(enums.NOTIFICATION_TYPES.DECISION, onDecision);
すべての実験がアクティブになると、Optimizelyの通知リスナーが実行され、Optimizelyから実験データを取得してContentsquareに転送します。
Optimizely Web(クライアントサイド)の場合
実装手順
統合をリクエストする方法のセクションに移動して、この統合を有効にするための指示を確認してください。完了したら、ここに戻ることができます。
Optimizelyフルスタック(サーバーサイド) - 非推奨
これが機能するためには、Optimizelyのフルスタック通知リスナーを使用する必要があります。(この機能がOptimizelyによって廃止されることを認識しており、彼らの新しい機能実験機能のサポートを提供する予定です。)
これらのリスナーは、Optimizelyの実験およびバリアントデータを取得し、Contentsquareに送信します。OptimizelyのフルスタッククライアントサイドSDK(JavaScript、React、React Native)を使用します。この統合では、サーバーサイドのOptimizelyフルスタックSDKはサポートされていません。
OptimizelyのcreateInstance()メソッドを呼び出した直後に、このコードを実行します:
/*
*名前: OptimizelyフルスタックサーバーサイドテストCS統合開始
*バージョン: 1.0.0
*/
var optimizelyEnums = require("@optimizely/optimizely-sdk").enums;
function onDecision(decisionObject) {
function callback(context) {
if (!disableCallback) {
disableCallback = true;
if (window.CS_CONF) {
CS_CONF.integrations = CS_CONF.integrations || [];
CS_CONF.integrations.push("Optimizelyフルスタック - v1.0.0");
}
}
}
var disableCallback = false;
_uxa.push(["afterPageView", callback]);
var csPrefix = "AB_OP_SS_",
csKey,
csValue;
csKey = csPrefix + decisionObject.experiment.key;
csValue = decisionObject.variation.key;
window._uxa = window._uxa || [];
window._uxa.push(["trackDynamicVariable", { key: csKey, value: csValue }]);
}
// OptimizelyClientをあなたのOptimizely SDKインスタンスの名前に置き換えます(createInstanceが使用されている場所)
optimizelyClient.notificationCenter.addNotificationListener(optimizelyEnums.NOTIFICATION_TYPES.ACTIVATE, onDecision);
//OptimizelyフルスタックサーバーサイドテストCS統合終了
すべての実験がアクティベートされると(メソッド activate() または isFeatureEnabled が呼び出されると)、Optimizelyの通知リスナーが実行され、Optimizelyから実験データを取得し、それをContentsquareに転送します。
動作確認
Chrome拡張機能を使用して、結果がContentsquareに送信されているか確認できます。