OK SKY
OKSKYで会員情報連携を設定したがうまくいかない
前提条件
このトラブルシューティングは、弊社担当からお渡ししている「OKSKY_会員情報連携資料」をお読みいただき会員情報連携の設定を実施しても、うまくいかなかったベンダー様を対象としています。
また、このトラブルシューティングは、まず、以下用語と概念の理解が必要です。
会員情報連携の用語
会員情報連携の用語
緑の部分(マスターキーワード)
緑の部分はマスターキーワードと呼びます。こちらは、連携する情報の「項目」にあたります。名前は接客管理画面側で、任意に決める事が可能です。
以下の例では会員番号を連携させているので「custmer_id」という名前を付けています。
青の部分(値)
青の部分はマスターキーワードの「値」で、来訪者ごとに変わる顧客情報です。
以下の例では、ログインしたユーザーの「会員No.」を実際に連携させています。
赤の部分(LoginKey)
「LoginKey」で指定したマスターキーワードから来訪者を特定します。
例えば以下の例は、loginkeyが「custmer_id」となっているので「custmer_id」の値(”012345”)から来訪者を特定しています。
会員情報連携の概念
会員情報連携の概念
会員情報連携は以下の仕組みを使って、接客管理画面に連携された情報を送信しています。まず、この概念図と認識の相違がないかをご確認下さい。
①来訪者がログイン
②来訪者がログインしたときにマスターキーワードの値が変わる
③loginkeyに設定された「Custmer_id」の値から来訪者を識別
④ID連携の情報を接客管理画面が受け取る
※この例では「custmer_id」が「loginkey」となっているので、「”012345”」という値を持つ来訪者は同じルームとなります。
※会員情報連携の動作イメージ
ログイン中は「loginkey」で設定したマスターキーワードの値から来訪者を特定する事ができますが、来訪者がログインしていない場合は、Cookieで来訪者を特定する動作に変わる為、別な来訪者として認識されます。
よくある質問とトラブルシューティング
非ログイン時も会員情報連携がされますか?
会員情報連携の機能は、ログイン時の会員情報を埋め込みタグに連携させます。従って、未ログイン時は連携する情報がないため、会員情報の連携ができません。
会員情報を連携を導入する際、動的に未ログイン時はID連携のタグを表示させず、通常のタグを表示させる導入方法がよく使われています。
※詳細は「OKSKY 会員情報連携資料」のP15の「ログインしていないとき」の手順をご確認下さい。
来訪者(ユーザー)に過去の会話が出てこないと言われた
まず、ルームが変わると過去の会話は出てきません。過去の会話が出てこない理由はルームが新しくなっている為です。
このように特定の来訪者だけルームが変わってしまう事象として、よくある原因は、以下のような状況を繰り返している場合です。
前提条件としてログインしてるときは連携された情報を利用して来訪者を特定しますが、ログオフしているときはCookieの情報を利用して来訪者を特定します。
その為、ログイン時、ログオフ時は、それぞれ来訪者は別々の扱いとなります。
例えば以下のような場合、ログインしたときは会員情報連携のidを使って来訪者を識別しますが、ログオフしたときは、Cookieで発行したidが利用される為、別ルームとなります。
① 1回目はログインしてチャットを利用(連携されたidを利用)
② 2回目はログオフをした状態でチャットを利用(Cookieが発行したidを利用)
また、以下のような場合、最初からログオフされている為、会員情報が連携ができない上に、ドメイン変わった事により、Cookieも継続できない事が理由でルームが別れます。
①1回目はログオフした状態でチャットを利用(Cookieが発行される)
②2回目もログオフした状態でドメインが異なる(もしくはサブドメインが異なる)
サイトへ移動して、チャットを利用(ドメインが異なると新しいCookieのidが発行される)
このケースは、来訪者(ユーザー)がログインとログオフを繰り返していたり、最初からログオフしてる事が理由により起こります。
IDは送信されているのに、ルームが別れてしまう。
IDは送信されているのに、ルームが別れてしまう
IDは送信されているが、ルームが別れてしまう場合は、赤字部分の「loginkey」が指定されていない場合があります。赤字部分がちゃんと指定されているか、再度ご確認下さい。
※埋め込みタグ 例(正)
!function(t,e,o,n){var i=function(t,e){i.q.push([t,e])};t.OkskyChat=i,i.q=[],o=e.createElement("script"),o.async=1,o.src="https://kobuna-s-001.okskychat.net/widget/widget.js",n=e.getElementsByTagName("script")[0],n.parentNode.insertBefore(o,n)}(window,document);
OkskyChat("key", "kobuna-s-001-0D5ACD179B043831");
OkskyChat("loginKey", "customer_id");
OkskyChat(“customer_id”, “xxxxx");
※loginkeyが指定されていない 例 (誤)
!function(t,e,o,n){var i=function(t,e){i.q.push([t,e])};t.OkskyChat=i,i.q=[],o=e.createElement("script"),o.async=1,o.src="https://kobuna-s-001.okskychat.net/widget/widget.js",n=e.getElementsByTagName("script")[0],n.parentNode.insertBefore(o,n)}(window,document);
OkskyChat("key", "kobuna-s-001-0D5ACD179B043831");
OkskyChat(“customer_id”, “xxxxx");
解説
OkskyChat("loginKey", "customer_id"); は何をキーにして来訪者を識別するか?の指定です。
例えば、上記例は「custmer_id」を指定しているので「custmer_id」の値が同じ場合、来訪者は同じルームになります。
この事象は「loginkey」の指定がなく、来訪者を識別できない為ルームが別れます。
ログインしていないユーザーのルームが毎回変わってしまう
ログインしていないユーザーのルームが毎回変わってしまう
ID連携はログイン時はID連携のタグ、未ログイン時の場合は、ID連携のない通常のタグになるなどの処理を組み込む必要がございます。
この問題は、未ログイン時のユーザーにこの処理が入っていない場合に起きます。
例えば以下のような処理を入れます。※こちらはあくまで例になりますので、未ログイン時にの対処法については開発ベンダー様にご相談下さい。
ログイン時の埋め込みタグの例
function(t,e,o,n){var i=function(t,e){i.q.push([t,e])};t.OkskyChat=i,i.q=[],o=e.createElement("script"),o.async=1,o.src="https://kobuna-s-001.okskychat.net/widget/widget.js",n=e.getElementsByTagName("script")[0],n.parentNode.insertBefore(o,n)}(window,document);
OkskyChat("key", "kobuna-s-001-0D5ACD179B043831");
OkskyChat("loginKey", "customer_id");
OkskyChat(“customer_id”, “xxxxx");
未ログイン時の埋め込みタグの例
<script>!function(t,e,o,n){var i=function(t,e){i.q.push([t,e])};t.OkskyChat=i,i.q=[],o=e.createElement("script"),o.async=1,o.src="https://kobuna-s-001.oksky-chat.net/widget/widget.js",n=e.getElementsByTagName("script")[0],n.parentNode.insertBefore(o,n)}(window,document);
OkskyChat("key", "kobuna-s-001-ED70F4289B17AA9F");
</script>
または
<script>!function(t,e,o,n){var i=function(t,e){i.q.push([t,e])};t.OkskyChat=i,i.q=[],o=e.createElement("script"),o.async=1,o.src="https://kobuna-s-001.oksky-chat.net/widget/widget.js",n=e.getElementsByTagName("script")[0],n.parentNode.insertBefore(o,n)}(window,document);
OkskyChat("key", "kobuna-s-001-ED70F4289B17AA9F");
//OkskyChat("loginKey", "customer_id");
//OkskyChat("customer_id", "0292564");
</script>
会員情報の連携のタグを埋めたがルームに情報が届かない
会員情報の連携のタグを埋めたがルームに情報が届かない
会員情報連携のタグは埋めているのに、接客管理画面を確認すると以下のようにルームに情報が届いていない場合は、以下の解決策を参考にして下さい。
考えられる可能性
上記のような事象の場合、何らかの原因でタグの「値」部分の連携が正しくされていません。
この事象の原因の殆どが以下である事が報告されています。
ログイン後のタグが、マスターキーワードの無い通常のタグになってしまっている
ID連携の「値」が正しく連携されていない
ベンダーと担当者間のやり取りに齟齬があり、確認する場所を間違えている
(例)ベンダー側は、ステージング環境にID連携のタグを埋めたが担当者は本番環境を見ていた等
接客管理画面(OKSKY)側の設定が間違っている
この場合は、以下の方法で本当にID連携が正しく設定されているか、確認する事ができます。
切り分け方法
切り分けの方法として、以下の方法を利用すると、サイトから連携した情報が送信されているかを確認する事ができます。
①画面上で右クリックして「検証」からデベロップルールを開きます。
②デベロップツールの「Network」の「ALL」を選択して、F5キーを押してページをリロードします。
③リロード後「login」を選択し「Request Payload」を展開して「query」からid連携タグに指定した値が表示されているかを確認します。
タグの指定がただしく設定されていれば、queryの中に「マスターキーワードと値」が表示されます。
もしID連携のタグの指定が間違っている場合は、以下のようにqueryの部分が空白になります。
queryが空白の場合は、タグを埋め込んだページにマスターキーワードと値が正しく設定されていない可能性がありますので、連携の開発を実施いただいたベンダーに以下をご確認下さい。
ログイン時はID連携のタグ、未ログイン時はID連携がない通常のタグになっているか
変数で設定した値はちゃんと連携されているか?
タグの記述に間違いはないか?
埋め込んだページに間違いはないか?
※タグの指定が間違っている場合の例1
※タグの指定が間違っている場合の例2