外部ログ用のセッションリプレイURLの取得
このページの内容
外部ログ記録用のセッションリプレイURLの取得について
クアルトリクスプラットフォーム内で セッションリプレイを表示するだけでなく、特定のユーザーセッションをロギングシステム(SplunkやDatadogなど)、エラー追跡ツール(New Relicなど)、またはカスタマーサポートチケットに直接リンクさせたい場合もあるでしょう。
シンプルなクアルトリクスAPIを活用することで、訪問者の現在のセッションに固有のセッション再生URLをプログラムで取得し、エンジニアリングチームに渡してデバッグとトラブルシューティングを効率化できます。これにより、次のような一般的なユースケースが可能になります。
- 断続的に発生するサイトエラーのデバッグ:Splunk、LogRocket、New RelicなどのツールにURLを渡し、サーバー側のログとクライアント側の視覚的な動作を関連付けます。
- カスタマーサポート:ZendeskやSalesforceなどのCRM経由で生成されたチケットに、リプレイリンクを自動的に含めます。
注意:カスタムコーディング機能は現状有姿で提供されており、実装にはプログラミングの知識が必要です。Qualtricsサポートでは、カスタムコーディングに関するサポートやコンサルティングを提供していません。いつでも、 熱心なユーザーが集まるコミュニティで質問することもできます。カスタムコーディングサービスの詳細については、 クアルトリクスのアカウントエグゼクティブまでお問い合わせください。
前提条件
このAPIを使用する前に、以下をご確認ください。
- デジタルエクスペリエンス分析が組織で有効化されています。
- セッションリプレイは、digitalプロジェクト内でアクティブになっています。
- ウェブサイトに クアルトリクスプロジェクトのJavaScriptコードが正しく導入されています。
- 貴社のエンジニアリングチームは、digitalプロジェクト内で「APIにアクセス」 ユーザー権限と「セッション」 共有権限を持つクアルトリクスのユーザーアカウントにアクセスできます。
APIの実装
技術的な詳細については、 QualtricsのAPIドキュメントをご覧ください。
URLを取得して外部ツールに送信するには、クアルトリクスJavaScript(QSI)とセッションリプレイ(SR)のモジュールが読み込まれていることを確認するチェックで呼び出しをラップする必要があります。
例:エラー追跡ツールへのログ記録
貴社のサイトでJavaScriptエラーが発生した場合、エラーレポートにセッションリプレイのURLを添付することで、エンジニアはクラッシュに至るまでのユーザーの行動を正確に確認できます。
window.addEventListener('error', function() {
if (window.QSI && QSI.API) {
const replayUrl = QSI.API.SessionRecording.getSessionSync().playbackUrl;
// 例:Sentryなどのツールやカスタムロガーに送信
console.log("エラーが検出されました。セッションリプレイはこちらで表示: " + replayUrl);
// myLoggingTool.captureMessage("User Error", { extra: { sessionUrl: replayUrl } });
}
});例:サポートフォームにURLを保存する
サイトでユーザーが「お問い合わせ」または「バグレポート」フォームを送信した場合、再生URLを非表示フィールドに設定することで、サポート担当者がすぐに状況を把握できるようになります。サポートフォームにクアルトリクスのアンケートを使用している場合、再生URLは自動的に取得されますのでご注意ください。
const form = document.querySelector('#support-form');
form.addEventListener('submit', function() {
if (window.QSI && QSI.API.SessionRecording.getSessionSync()) {
const replayUrl = QSI.API.SessionRecording.getSessionSync().playbackUrl;
document.querySelector('#hidden-replay-input').value = replayUrl || "No replay available";
}
});例:セッション情報をデータレイヤーにプッシュする
サードパーティの分析プラットフォームを使用している場合、セッションIDとリプレイURLをそのシステムにプッシュすることで、プラットフォーム間でクアルトリクスのセッションリプレイを簡単に相関させることができます。
// クアルトリクスの読み込みを待機します
window.addEventListener('qsi_js_loaded', async function() {
試す {
// セッションが初期化されるのを待ってセッション情報を取得します
const セッション = 待機 window.QSI.API.SessionRecording.getSession();
// dataLayerが存在しない場合は初期化します
window.dataLayer = window.dataLayer || [];
// Google dataLayerにセッション情報をプッシュします
window.dataLayer.push({
イベント dxa_session_started
'dxa_session_id': session.sessionId,
'dxa_playback_url': session.playbackUrl
});
} 把握する (エラー) {
console.error('DXAセッション情報の取得に失敗しました:', error);
}
});重要な留意事項
タイミング
QSI.API.SessionRecording.getSessionSync()APIは、セッションが開始される前の、ページの読み込み直後に呼び出された場合、「null」を返します。 このAPIは、イベントリスナー(ボタンのクリックやエラーのトリガーなど)内で呼び出すことをお勧めします。
QSI.API.SessionRecording.getSession() はセッションが開始されるのを待機しますが、解決されない可能性があることに注意してください。例えば、ユーザーが同意したときにページが開始 API を呼び出すのを待つようにプロジェクトが設定されていて、ユーザーが実際に同意しなかった場合、getSession() は完了しません。
プライバシーと権限
- アクセス制御:digitalプロジェクトで「セッション」 権限を持つクアルトリクスユーザーのみが、URL経由でセッションを閲覧できます。権限のないユーザーがリンクをクリックすると、クアルトリクスアカウントへのログインを求められます。アカウントに適切なアクセス権がある場合にのみ、セッションが表示されます。
- マスキング:このURLで表示される再生には、プロジェクト設定で構成されたすべてのデータ マスキングルール(PII保護)が引き続き適用されます。
- サンプリング:プロジェクトの サンプリングレートに基づいてユーザーがレコーディングからサンプリングアウトされた場合、APIはURLを返しません。
トラブルシューティング
このセクションでは、よくある問題とその原因について説明します。
| 問題 | 考えられる原因 |
|---|---|
| APIが 「null」を返す | ユーザーはレコーディングの対象としてサンプリングされなかったか、レコーディングがまだ開始されていません。 |
| 「QSIが定義されていません」というエラー | クアルトリクスのJavaScriptコードが読み込まれていません。スクリプトがページ上にあること、および関数を呼び出す前に window.QSI を確認していることを確認してください。詳細については、 APIの準備ができたことを検出するを参照してください。 |
| リンクを開くと「Not Found」ページが表示されます | セッションの保持期間の制限により有効期限が切れたか、記録が短すぎるために破棄された可能性があります。 |
素晴らしい! フィードバックありがとうございます!
フィードバックありがとうございます!