We’ve migrated our documentation to a new site, which means some URLs have changed. If you hit a broken link, submit a support ticket.
Audience

FacebookユーザIDリンク

概要

Facebookとの連携でFacebookのユーザIDとPiano Insight ユニークユーザIDがリンク可能となり、オーディエンスセグメント、レポート作成、ターゲティングに使用することができます。

セットアップ手順

  1. アクセス中のFacebookユーザID(Facebookでアプリ認証を行っていることが前提)を取得します。これは一度だけ必要な手順です (詳細な情報はこちらを参照して下さい: https://developers.facebook.com/docs/facebook-login/web )

  2.  FacebookIDにリンクさせるプリフィックスが必要です。既にお持ちの場合はスキップして下さい。 (詳細な情報はこちらを参照して下さい: カスタマープリフィックス )

  3. /profile/user/external/link/updateの永続的なクエリを作成し "type"にプレフィックス設定して、 "id"と "cxid"を可変パラメータに指定します。 (詳細はPersistedクエリ チュートリアル を参照してください)

  4. (オプション) Facebook IDは、Piano Insight ユニークユーザIDからFacebookユーザーを取得されないよう一方向ハッシュにすることができます。

  5. 以下のタグをページの任意の場所に追加します(ユーザーがページ遷移などを行う前に、ファイルがロードされている事を確認するのがオススメです。):

<<!-- 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 -->
 

Last updated: