概要
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 -->