外部ログ用のセッションリプレイURLの取得

スイート
Customer Experience Strategy & Research
製品
Qualtrics

このページの内容

外部ログ記録用のセッションリプレイURLの取得について

クアルトリクスプラットフォーム内で セッションリプレイを表示するだけでなく、特定のユーザーセッションをロギングシステム(SplunkやDatadogなど)、エラー追跡ツール(New Relicなど)、またはカスタマーサポートチケットに直接リンクさせたい場合もあるでしょう。

シンプルなクアルトリクスAPIを活用することで、訪問者の現在のセッションに固有のセッション再生URLをプログラムで取得し、エンジニアリングチームに渡してデバッグとトラブルシューティングを効率化できます。これにより、次のような一般的なユースケースが可能になります。 

  • 断続的に発生するサイトエラーのデバッグ:Splunk、LogRocket、New RelicなどのツールにURLを渡し、サーバー側のログとクライアント側の視覚的な動作を関連付けます。
  • カスタマーサポート:ZendeskやSalesforceなどのCRM経由で生成されたチケットに、リプレイリンクを自動的に含めます。

注意:カスタムコーディング機能は現状有姿で提供されており、実装にはプログラミングの知識が必要です。Qualtricsサポートでは、カスタムコーディングに関するサポートやコンサルティングを提供していません。いつでも、 熱心なユーザーが集まるコミュニティで質問することもできます。カスタムコーディングサービスの詳細については、 クアルトリクスのアカウントエグゼクティブまでお問い合わせください。

前提条件

この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」ページが表示されますセッションの保持期間の制限により有効期限が切れたか、記録が短すぎるために破棄された可能性があります。
当サポートサイトの日本語のコンテンツは英語原文より機械翻訳されており、補助的な参照を目的としています。機械翻訳の精度は十分な注意を払っていますが、もし、英語・日本語翻訳が異なる場合は英語版が正となります。英語原文と機械翻訳の間に矛盾があっても、法的拘束力はありません。

この記事は役に立ちましたか

いただいたフィードバックはこのページの改善の目的のみに利用します。

素晴らしい! フィードバックありがとうございます!

フィードバックありがとうございます!