概要
Facebookとの連携でFacebookのユーザIDとPiano Insight ユニークユーザIDがリンク可能となり、オーディエンスセグメント、レポート作成、ターゲティングに使用することができます。
セットアップ手順
-
アクセス中のFacebookユーザID(Facebookでアプリ認証を行っていることが前提)を取得します。これは一度だけ必要な手順です (詳細な情報はこちらを参照して下さい: https://developers.facebook.com/docs/facebook-login/web )
-
FacebookIDにリンクさせるプリフィックスが必要です。既にお持ちの場合はスキップして下さい。 (詳細な情報はこちらを参照して下さい: カスタマープリフィックス )
-
/profile/user/external/link/updateの永続的なクエリを作成し "type"にプレフィックス設定して、 "id"と "cxid"を可変パラメータに指定します。 (詳細はPersistedクエリ チュートリアル を参照してください)
-
(オプション) Facebook IDは、Piano Insight ユニークユーザIDからFacebookユーザーを取得されないよう一方向ハッシュにすることができます。
-
以下のタグをページの任意の場所に追加します(ユーザーがページ遷移などを行う前に、ファイルがロードされている事を確認するのがオススメです。):
<<!-- Cx FB user linking script begin --> <script type="text/javascript"> window.cX = window.cX || {}; cX.callQueue = cX.callQueue || []; cX.callQueue.push(['invoke', function() { function checkFBLogin() { if (window.FB && typeof FB.getLoginStatus === 'function') { FB.getLoginStatus(function(response) { if (response.status === 'connected') { // Read the FaceBook user ID var fbUserId = response.authResponse.userID; // Map the Facebook user ID to the Cxense user ID var persistedQueryId = '<PERSISTED-QUERY-ID>'; // <-- TODO: Insert persisted query id here var apiUrl = 'https://api.cxense.com/profile/user/external/link/update?callback={{callback}}' + '&persisted=' + encodeURIComponent(persistedQueryId) + '&json=' + encodeURIComponent(cX.JSON.stringify({ id: fbUserId, cxid: cX.getUserId() })); cX.jsonpRequest(apiUrl, function (data) { /* If wanted, verify success here*/ }); } else { setTimeout(checkFBLogin, 1000); } }); } else { setTimeout(checkFBLogin, 1000); } } checkFBLogin(); }]); // Async load cx.js (function(d,s,e,t){e=d.createElement(s);e.type='text/java'+s;e.async='async'; e.src='http'+('https:'===location.protocol?'s://s':'://')+'cdn.cxense.com/cx.js'; t=d.getElementsByTagName(s)[0];t.parentNode.insertBefore(e,t);})(document,'script'); </script> <!-- Cx FB user linking script end -->