Crisp Chat

Article author
Memberstack Team

You can use the Memberstack 2.0 front-end API and the following code to pass member data into Crisp.   

Place the following code in the BODY section of your global site scripts:

<script type="text/javascript">
	window.$memberstackDom.getCurrentMember().then(({ data: member }) => {
	  if (member) {
    let email = member.auth.email
    let name = member.customFields["name"]
     $crisp.push(["set", "user:email", [email]])
     $crisp.push(["set", "user:nickname", [name]])
	  } else {
      $crisp.push(["do", "session:reset"])
    }
	});

</script>


Passing in Member Plan Data & Custom Fields (Advanced)


<script type="text/javascript">

CRISP_RUNTIME_CONFIG = {
 session_merge : true

};

window.$memberstackDom.getCurrentMember()

 .then(({ data: member }) => {

  if (member) {
let email = member.auth.email

    let name = member.customFields["name"]

    let planConnections = member.planConnections;

    let planIds = planConnections.map((plan) => plan.planId).join(', '),

    $crisp.push(["set", "user:email", [email]])

    $crisp.push(["set", "user:nickname", [name]])

    $crisp.push(["set", "session:data", [[

     ["user-bill-amount", "$200"],

     ["user-id", "abcd"],

     ["plans", planIds],

    ]]]);

  } else {

   $crisp.push(["do", "session:reset"])

 }

});

</script>

Was this article helpful?

Comments

1 comment

  • Comment author
    David Charrier

    The advanced cutom code did not work for me. After working with Crisp support here's the provided code :

    <script type="text/javascript">
        window.$memberstackDom.getCurrentMember().then(({ data: member }) => {
            if (member) {
                let email = member.auth.email;
                let name = member.customFields["first-name"];
                let planConnections = member.planConnections;

                let planIds = planConnections.map((plan, index) => [`plan_${index + 1}`, plan.planId]);

                $crisp.push(["set", "user:email", [email]]);
                $crisp.push(["set", "user:nickname", [name]]);
                $crisp.push(["set", "session:data", [planIds]]);

            } else {
                $crisp.push(["do", "session:reset"]);
            }
        });
    </script>

    Please note that in my case I'm using a custom field "first-name". You may need to adapt it.

    0

Please sign in to leave a comment.