Zapier를 사용해서 GoHighLevel의 사용자를 Klaviyo에 Sync하기

이번시간에는 GoHighLevel에서 관리되고 있는 사용자들을 Klaviyo에 Import를 한 뒤에, Zapier를 통해서 앞으로 업데이트 되는 Workflow를 Automate시킬건데요.

일단 GHL, Klaviyo, 그리고 Zapier에 로그인을 하세요.

그리고 GoHighLevel에서 Workflow를 하나 생성하세요. Workflow이름은 Sync Contacts for Klaviyo라고 할게요. 그리고 ”+ Add New Trigger” 버튼을 눌러서 새로운 트리거를 만드는데요, Trigger로는 “Contact Created”를 선택합니다. 그리고 트리거를 한개 더 만들게요. “Contact Chnaged”라고 한개 더 만들어서 사용자가 추가되거나, 사용자정보가 변경되는 경우에 이게 동작되도록 하는겁니다.

그리고 밑에 있는 “+”버튼을 눌러서 Action을 하나 추가할게요. 선택할 수 있는 Action의 종류가 정말 많죠? 그중에 우리는 Webhook이라는 걸 사용할거에요. 서로 다른 플랫폼간에 소통을 하려면 필요한 트리거를 제공을 해주어야하는데, GHL은 사용자 추가, 변경시 액션을 취할 수 있는 Zapier를 위해서만 따로 제공 하고 있지 않아요. GHL입장에서는 세상에 플랫폼이 너무 다양하니까 어떤 특정 플랫폼을 위해 뭘 만들기보다는 Webhook을 통해서 누구든 원하는 형태로 가져가라 그러죠.

Webhook을 선택하면 URL을 넣으라는 입력창이 나오는데 여기서 URL은 Zapier에서 만들어서 복사해와야해요.

Zapier에서 “+ Create”버튼을 눌러서 Zap을 하나 만듭니다. 새로운 Trigger를 만들기 눌러서 팝업창이 뜨면 App항목에서 Webhook을 검색하면요, Webhooks by Zapier라는 앱이 뜨는데요. 그걸 선택하세요. 그리고 Trigger event로는 “Catch Hook”을 선택합니다.

근데 이걸 해주기전에 아마 API Key를 넣으라는 부분이 어딘가에 있었는데 제가 화면 캡쳐를 안해놓아서 암튼 GHL의 API Key를 넣으라고 팝업에서 하거든요. 그때 그걸 반드시 넣어주어야 GHL의 데이타를 가져올수가 있어요. GHL의 API Key는 GHL > Settings > Business Profile의 General Information 센션의 맨 마지막에 있어요. 옆에 복사아이콘 눌러서 Zapier에 가져오시면 되는데, 그 옆에 Refresh버튼은 누르지 마세요. 혹시 해당 API Key를 사용하고 있는 Workflow가 있다면 변경되었을때 동작을 안할수 있거든요..조심조심;;;

그리고 나면 Your webhook URL으 보여주는데요. Copy버튼을 눌러서 복사해서 브라우저에서 호출해보세요. 그러면 Test Webhook을 눌렀을때 아래와 같이 해당 Request 가 나타납니다. 쿼리스트링에 아무것도 같이 안보냈기때문에 현재는 비어있는데요. GHL에서 보낼때는 데이타를 붙여서 보낼거에요.

Zapier에서 만든 Webhook URL을 아까 GHL에서 만든 Webhook액션의 URL에 붙여넣어줍니다. String Params에 뭔가 갖고가고 싶은 데이타를 줄줄이 나열해야할것 같잖아요. 안그래도 되요. 그냥 웹훅 URL만 적어줘도 있는거 없는거 알아서 다 보내줍니다. 아래에서 화면캡쳐해서 보여드릴게요.

Method는 원래 POST로 하면 좋은데, POST로 하면 동작을 하지 않아요. 그게 제 생각에는 Zapier에서는 JSON으로 데이타를 받는데 GHL에서는 Form data로 보내서 양쪽이 Content-Type이 안맞아서 그런거 같거든요. 근데 그걸 우리한테 보여주지는 않으니까 정확한 원인을 모르죠. 근데 암튼 POST로 하면 동작하지 않기때문에 찜찜하지만 GET으로 줄줄이 보내도록 하겠습니다. GET으로 보낼때는 길이에 제한이 있으니까 너무 내용이 많은 데이타는 전송을 자제해주세요.

여기서 Save Action버튼을 누르고 이제 웹훅 호출이 잘 되는지 테스트를 한번 해볼게요. GHL > Contacts에 가서 사용자를 새로 하나 추가해주세요. 그러면 우리가 만든 GHL의 Workflow를 통해서 자동으로 Zapier에서 제공한 웹훅이 GHL의 데이타와 함께 호출되었을거에요. Zapier에 가서 한번 확인해볼까요?

위에서 말씀드린대로 있는거 없는거 줄줄이 다 보냈죠? GET으로 보내는데 이렇게 줄줄이 다 보낸다는게 참 대단하네요..

이제 받은 데이타를 Klaviyo에 넘겨줘야겠네요. Action을 눌러서 설정할게요. Action버튼을 누르면요, 팝업이 뜨는데요. 여기에서 7000개가 넘는 플랫폼에 데이타를 보낼수가 있어요. 그중에 우리는 Klaviyo를 검색해서 선택해줄게요.

그러면 선택할 수 있는 이벤트가 쫙 뜨는데요. 그중에 우리는 “Create or Update Profile”을 선택해줄게요. 그리고 “Sign In”버튼을 눌러서 Klaviyo에 로그인 해주세요. 우리는 브라우저에서 이미 로그인을 한 상태라서 어떤 계정으로 연결할건지 물어봅니다. 이때 원하는 계정을 선택해주시면 되요.

그러면 아래와 같이 접근권한을 허용 할것이냐 물어봅니다. 보니까 뭐 별거별거 다 되네요. 그래도 허용을 안해주면 사용을 못하니까 다 허용하겠다 합니다.

로그인을 하고 허용도 다 하셨으면 팝업으로 돌아와서 “Continue”버튼을 눌러줍니다. 여기에서 GHL에서 보내주는 데이타와 Klaviyo에서 받아들이는 데이타를 맵핑해주는 겁니다. 매핑 가장 첫 항목이 어느 List에 넣을지를 물어보는데 저는 Preview List에 임시로 넣었다가 필요할때 검토후에 Email List나 SMS List에 넣는 걸로 하기위해 여기서는 Preview List에 넣기로 합니다.

맵핑은 지루한 작업이니까 천천히 차근차근 하시고, 완료가 되었으면 “Continue”를 눌러서 테스트 단계로 넘어가주세요.

테스트를 누르기 전에 해당 데이타가 있는지 한번 보고 갈게요. 해당 이메일이 Klaviyo > Audience > Profiles에 있는지 검색해보고 없으면 잘 들어가는지를 보면 되고, 있으면 수정이 되는 지를 확인하시면 됩니다. 그러면 Test step을 눌러볼게요.

아직 Publish버튼을 누르기 전에 Klaviyo에 가서 해당 데이타가 정상적으로 들어왔는지 확인합니다. 그런데 데이타가 들어가긴 들어가도 아마 이렇게 나올거에요.

그 이유는 이메일구독에 동의를 했는지 명시가 되지 않았기 때문인데요. 데이타를 Sync할때는 GHL에서 Email Subscription에 대한 “Consent”나, SMS를 보내기위한 “SMS Consent Timestamp”등의 항목을 사용할수 있도록 지원하지 않아요. 그래서 현재로서는 Sync할때는 모든 데이타를 Consent이 동의가 되었다는 가정하에 데이타를 입력하고 추후에 또 다른 Worklow에서 Unsubscribe된 사용자들을 업데이트해주도록 하겠습니다. 오늘은 일단 어떻게 연결하는지를 알려드리는데 집중을 하도록 하겠습니다.

그래서 위에서 Klaviyo에 입력이 된 사용자가 Never Subscribed로 들어가는 문제를 해결하려면 List의 설정을 바꿔야해요. 아까 제가 GHL에서 Sync되는 사용자들은 Preview List로 넣는다고 했었잖아요? Klaviyo > Audience > Lists & Segments 에서 해당 List를 찾아서 들어가면 내부 상단탭 맨 끝에 Settings라는 메뉴가 있습니다. 그걸 누르면 왼쪽에 메뉴들이 나오는데 그중에 Consent를 누릅니다. 그러면 아래와 같이 Opt-in process를 설정할 수가 있는데요. 이미 GHL에 들어간 사용자가 Klaviyo에서 또 이메일 컨펌을 하라고 하면 정말 웃기겠죠..그래서 우리는 그냥 Single opt-in으로 Preview List를 설정합니다.

Save를 누르고 나와서 기존에 들어갔던 테스트 프로필을 삭제하고 해당 프로필을 GHL에서 수정해보세요. 그러면 새로운 데이타가 Preview List로 들어가는데 들어간 프로필을 보면 이메일과 SMS가 아래와 같이 동의했다고 나옵니다.

이거 GHL에서 Unsubscribe했을때 반드시 Sync해주셔야합니다. 다음시간에는 데이타들 한번에 Import하는거 설명드리도록 하겠습니다. 수고하셨습니다.

Leave a Reply

Your email address will not be published. Required fields are marked *