이번시간에는 블루호스트에서 이메일 만드는 방법에 대해서 알려드리도록 하겠습니다. 우선 블루호스트에 로그인을 하시면요. 좌측 메뉴에 cPanel Email이라는 메뉴가 보이실거에요. 그걸 누르면 팝업이 뜨고, 팝업에서 Email Accounts를 선택하세요.
그러면 화면이 cPanel로 이동하면서 현재 가지고 있는 이메일들이 보일거에요.
여기서 + Create버튼을 클릭합니다. 그러면 입력해야할 양식이 뜨는데, 일단 도메인을 선택합니다. 이메일보낼때 머머머@도메인.com이렇게 되잖아요. 그 도메인으로 이메일을 만들어 줄거에요. 그리고 Username은 @앞에 붙을 ID입니다. 비밀번호를 입력하시고, Optional Settnings를 클릭하면 Advanced settings가 뜨는 데요. 여기에서 해당 이메일에 부여할 공간을 정할 수 있습니다. 저는 무제한으로 정하겠습니다. 나머지는 디폴트로 두고 + Create버튼을 클릭합니다.
그러면 자동으로 이메일 목록화면으로 돌아가서 성공적으로 생성이 되었다는 메세지를 보여줍니다. (팝업메세지가 오른쪽 상단에 있었는데 캡쳐받을때 거의 사라지는 중…) 암튼 목록에 보시면 방금 생성한 이메일이 보이실거에요.
여기서 Check Email을 클릭해서 이메일이 왔는지 확인해볼게요. 이메일을 처음 열면 Webmail Software에 대한 설명이 나오는데 다음에는 Inbox로 바로 보내달라고 체크박스에 체크를 합니다.
그리고나서 Open버튼을 누르면 Inbox를 보실수가 있는데요. 이메일이 하나가 와있습니다.
이 이메일을 더블 클릭해서 열어보세요. 그러면 여기에 이메일을 받을 때 필요한 IMAP, POP3서버의 정보와 이메일을 보낼때 필요한 SMPT서버 주소가 여기 다 들어가 있습니다. 핸드폰이나 아웃룩에서 이메일 세팅할때 이 문서를 참고하시면 될것 같아요.
나중에 혹시 IMAP이나 SMTP서버 정보가 궁금한데 이메일을 잃어버렸으면, 아까 그 이메일 사용자 목록에서 Connect Devices버튼을 누르면 관련정보를 다시 볼수 있습니다.
핸드폰에 이메일 세팅할때 필요한 IMAP. SMTP서버와 포트번호등을 여기서 전부 보여줍니다.
이번시간에는 Sprout Social을 이용해서 여러개의 소셜계정에 포스트를 스케줄해보도록 하겠습니다. 일단 대시보드에 로긴해서 좌측에 Publishing이라는 메뉴를 클릭해 들어가세요. 그러면 가장 먼저 아래와 같이 캘린더에 기존에 포스팅 되어있는 포스트들이 잔뜩 보일겁니다. 이 포스트들은 소셜미디어 플랫폼에서 직접 스케줄을 했든 아니면 다른 Third-party툴을 이용해서 publishing을 했든 여기서 똑같이 보이게 될거에요.
17일에 올라와있는 Schedule Post버튼을 클릭하시면 새로운 글을 쓸수 있는 화면이 뜹니다. 거기서 포스팅하고 싶은 소셜미디어계정을 전부 선택하세요.
그리고 나서 글을 적고 함께 보여줄 동영상도 올려줍니다. 그리고 파일올리는곳 바로 밑에 보면 This is s Draft라는 항목이 ON이 되어있을거에요. 실수로 Publish되는걸 방지하려고 기본적으로 Draft로 저장을 하려는것 같은데 Draft로는 스케줄을 할수가 없으니까 이거는 OFF로 수정해주세요. 아마 Draft인 동안만 한번에 수정이 가능한 걸로 알고 있어요. 그러니까 당장 Publish나 스케줄할거 아니면 Draft로 놔두고 관리하시는 것도 상황에 따라 좋습니다.
글을 쓰고 미디어를 업로드하면 오른쪽에 각 소셜미디어 플랫폼에서 어떻게 보여질지 미리보기 화면이 제공됩니다.
글을 쓰고 밑으로 스크롤을 내려보면 각 소셜미디어 플랫폼별로 추가 정보를 넣도록 되어 있는 부분이 있는데 페이스북 부터 천천히 보겠습니다. 페북은 동영상을 일반 포스트로 할건지 Reel로 올릴건지 물어보네요. 저는 그냥 일반 포스트로 올릴거에요. 그리고 카테고리를 선택하라는데 Education이 없네요 ㅠㅜ 그냥 Other선택합니다.
인스타는 Reels에 올리고 Profile에도 공유한다고 선택할 수가 있네요. 그리고 첫번째 코멘트를 달수도 있고 다른 인플루언서들과 콜라보를 진행할수 있는 옵션도 있네요. 콜라보는 3명까지 허용합니다.
유투브는 해시태그 대신에 콤마로 구분한 태그를 따로 받습니다. 그리고 동영상제목을 반드시 넣어주어야해요. Privacy는 Public으로 할건데 어차피 스케줄하는 거니까 아마도 Private으로 들어갔다가 Publish하는 순간 Public으로 상태가 바뀔거에요. 여기는 카테고리에 Education이 있네요. 저는 Playlist는 선택안할거고요. 유투브가 언젠가부터 중요하게 생각하는 어린이 보호 옵션이 있습니다. 아이들에게도 보여준다고 하면 코멘트가 막혀버려요. 그래서 저는 It’s not made for kids를 항상 선택합니다. 그리고 18세 이상만 보도록 제한 할 필요는 없는 영상이니까 제한 없이 올려달라고 선택하겠습니다.
맨 밑에 Show Advanced Settings클릭하면 동영상 라이센스관련하여 선택하는 옵션이 나오는데 유투브에서 제공하는 스탠다드 라이센스를 선택합니다. 그리고 다른 사람들이 자기네 사이트에 Embedding할 권한을 허용하고, 포스트를 publish함과 동시에 subscriber들에게 바로 뜨도록 한다는 옵션을 선택합니다.
그리고 틱톡에서는 코멘트를 활성화시키고, 듀엣과 스티커도 허용합니다.
그 다음으로는 글을 포스팅하기 전에 결제받아야하는 상사가 있으면 워크플로우에 결제받을 조직도를 미리 설정해놓고 해당 워크플로우를 선택해서 승인처리를 받으면 되는데 저는 혼자 일하니까 스킵합니다. 워크플로우를 선택하면 결제해주어야하는 상사의 인스타와 틱톡에 push notification을 날려서 빨리 승인해달라고 재촉할수도 있어요.
아래는 Sprout Social에서 관리하는 태그입니다. 아직 각종 태그들을 어떻게 사용해야할지 생각을 안해봤기때문에 그냥 스킵할게요.
그리고 페북과 인스타의 Paid Ads도 여기서 설정할 수 있네요? 이 기능은 Sprout Social에 없다고 알고 있었는데 있었네요.. 나중에 좀더 자세히 사용방법을 알려드릴게요.
그리고 마지막으로 언제 publish를 하고 싶은지 스케줄을 하게 됩니다. 글로벌 서비스들인 만큼 기준 시간은 꼭 확인하세요.
다 끝났는줄 알았는데 경고들을 보여주네요. 페북 “페이지”에 올릴때는 어떤 “사람”이 올리는지를 알아야한다는거 같아요. 그리고 YouTube약관에 동의하는걸로 알겠다..
심각한 오류는 없는 것 같아요. 우측에 미리보기 화면 한번 싹 훑어보고 좋은거 같으면 하단에 Schedule버튼을 누릅니다. 그러면 팝업창이 닫히면서 캘린더에 방금 스케줄한 5개의 포스트가 하나로 들어가 있습니다.
아마 내일아침 7시에 publish가 되면 박스가 5개로 쪼개지면서 더이상 한번에 관리할 수 없게 되버릴겁니다.
어쨌든 지금은 아직 각 소셜미디어에 전달을 안한 상태이기때문에 하나의 글로 관리가 가능한것입니다. 일단 각 소셜미디어 플랫폼에 publish를 하는 순간 한곳에서 관리하기는 힘들어 지겠죠. 이게 무얼 의미하냐면요. Hootsuite에서는 Schedule하겠다고 누르는 순간 각 플랫폼에 예약글로 보내버리는데 Sprout Social은 스케줄링된 순간까지 갖고 있다가 시간 딱되면 그냥 바로 자기가 post를 publish 한다는 거에요. 그러니까 Hootsuite으로 스케줄링은 한 포스트들은 각 소셜미디어에 가서 보면 예약상태를 확인할 수가 있는데 Sprout Social로 스케줄하면 시간 될때까지 다른데서는 안보여요. 얘네들이 책임지고 포스팅해주겠다는거죠. 좋은 자세인거 같아요. Hootsuite돈 주고 써봤는데 기능도 거지같고 특히 유투브, 따로 넣어야하고 태그도 안들어가고 유투브는 스케줄링도 안되서 너무 불편했는데 Sprout Social은 한번다 옵션까지 다 넣을 수 있어서 정말 편리하네요. Hootsuite에 연결된 계정 전부 끊어내고 멤버십 환불해달라고 해야겠어요.
암튼 이번시간에는 Sprout Social을 이용해서 다중 소셜미디어 계정에 한번에 글을 예약하는 방법에 대해서 알아보았습니다. 함께해주셔서 감사합니다.
저는 Bluehost를 호스팅업체로 사용하고 있는데요. WordPress Plan이 있어서 WordPress사이트를 만드는데 매우 용이하게 설계가 되어 있습니다.
일단 블루호스트에 로그인을 하면 Hosting서비스를 보여줍니다. 새로운 워드프레스 사이트를 만들기 위해서 우측 상단에 ADD SITE버튼을 클릭하세요.
워드프레스 설치할지 아니면 기존에 있던 워드프레스를 이전할지 그것도 아니면 그냥 빈웹사이트를 만들지 물어봅니다.
위에서 Install WordPress를 선택합니다. Continue를 클릭하면 웹사이트 이름을 적으라고 합니다. 저는 식당사이트를 만들거고 이름은 Ribs on Fire로 할거니까 적어줍니다.
그리고 다음을 누르면 도메인을 입력하라고 나옵니다.
도메인을 입력하고 계속버튼을 누르면 워드프레스 설치화면이 뜹니다.
설치가 끝나면 Hosting목록에 해당 웹사이트가 추가된 것을 보실수 있습니다.
여기에서 EDIT SITE버튼을 누르면 WordPress설치하는 화면으로 이동합니다.
AI방식으로 설치할지 일반으로 할지 아니면 다른 곳의 워드프레스 사이트를 갖다 넣을지를 물어봅니다. AI로 설치를 하면 왠지 군더더기 플러그인들이 자동으로 와다다 설치가 될것 같은 불길한 예감이 들어서 심플하게 Guided Website Setup을 선택합니다. 그런데요 AI가 안좋다는 말은 절대로 아닙니다. AI로 한번 설치해봤는데요 정말 신기할 정도로 슬로건이랑 페이지에 내용들 그리고 관련 이미지들까지 다 알아서 웹사이트를 만들어 줍니다. 물론 그대로 사용하기에는 무리가 있지만 그래도 그정도까지 자동으로 할수 있다는데 저는 매우 놀랐습니다. 하지만 우리는 워드프레스를 공부하는 사람이니까 단계를 밟는게 좋을것 같으니까 매뉴얼 설치모드를 선택합니다.
화면이 그 새 또 업그레이드가 되었네요. 얼마전에 설치할때는 이런 화면이 아니었는데. 마치 윈도우나 맥에서 데스크탑 앱 설치하는 느낌이에요. 깔끔하고 좋은데요?
여기에서 또한번 워드프레스 사이트 이전할라냐고 또 물어보네요. 옵션이 있는게 나쁘진 않지만 암튼 지금 세번째 물어보는 거임. 그냥 무시하고 Start Setup버튼 클릭하세요. 워드프레스 얼마나 잘 아는지 물어보네요. 저는 아주 초짜는 아니고 전문가도 아니고 그냥 중간정도인거 같아요.
Used it some옵션을 선택하고 Continue Setup버튼을 클릭합니다. 만들고자 하는 웹사이트가 어느 분야의 사이트인지 물어보네요. 저는 식당웹사이트로 하겠습니다.
원하는 분야를 선택하고, Continue Setup을 클릭하세요. 어떤 종류의 Food인지 물어보네요. 저는 식당을 하고 싶지만 가게가 없으니까 Food Trucks으로 할게요.
원하시는 상세분야를 선택하고 Continue Setup버튼 클릭하세요. 사이트 이름이랑 간략한 설명 그리고 소셜미디어계정 물어보네요. 저는 아직 소셜미디어 계정은 없으므로 일단 식당이름이랑 간략한 설명만 넣고 넘어갈게요.
상단에 Next버튼 누릅니다. 워드프레스 기능중에 어떤거에 중점을 두고 싶은지 물어보네요. 블로깅할것도 아니고 물건 팔것도 아니니까 그냥 식당 음식이나 예쁘게 보이도록 Designing을 선택하겠습니다.
원하는 옵션 선택하시고 상단에 Next버튼 누르세요. 칼라컨셉 정하는 페이지입니다. 보기 좋은거를 하나 고르세요.
저는 음식점에 빨강이 어울릴것 같아서 빨간 버튼을 선택했어요
맨위에 글씨체랑 색상 직접고르기 체크하면 아래와 같이 다양한 칼라를 선택할 수 있지만 저는 그냥 넘어가도록 하겠습니다.
폰트는 마지막 폰트가 젤 맛있어 보이는 거 같아요. 원하는 폰트를 선택하면 오른쪽에 미리보기로 보여주니까 편리하네요.
원하는 폰트를 선택하시고 Next버튼을 누릅니다. 다음은 상단 헤더 이미지 고르는 화면이네요. 저는 가운데 정렬을 좋아하기 때문에 세번째 구조를 선택했어요.
다음버튼을 클릭하면 홈페이지 레이아웃을 선택하는 화면이 나옵니다. 맨 왼쪽이 음식장사로는 좋아보이지만 저는 이 테스트사이트로 보편적인 테마까지 제작할 예정이라서 일반적인 홈페이지에서 가장 많이 선호하는 두번째 레이아웃으로 정하고 넘어가겠습니다.
다음 화면은 회사소개, 연락처, 블로그페이지 등을 보여주는데 선택상자에 선택을 하면 그렇게 만들어주겠다는거 같습니다.
그 다음으로는 필요한 플러그인들을 함께 설치하라고 추천하는데요 저는 테스트로 사용할거기 때문에 다른 플러그인은 설치하고 싶지 않습니다. 하지만 여러분들은 SEO나 사이트 트래픽 같은 플러그인 사용하는 것을 추천드려요. 저도 나중에 사이트가 완료되고 서비스가 진행되면 각종 플러그인을 설치해서 퍼포먼스를 높일거에요. 하지만 지금은 일단 선택을 해지하고 넘어갈게요.
조금 기다리면 사이트 생성이 완료되었다네요.
Complete Setup버튼 누르면 워드프레스의 관리자페이지로 바로 이동합니다.
관리자페이지의 좌측 상단 사이트 타이틀을 클릭하면 홈페이지로 이동합니다.
기대했던 것보다 너무 훌륭하고 디자인 정말 깔끔하고 마음에 듭니다. 앞으로 이걸 기초로 테마도 만들고 플러그인도 만들어보도록 하겠습니다. 여기까지 오시느라 고생 많으셨습니다. 좋은 밤 되세요!
선택한 계정으로 Sprout Social에 사용권한을 주겠냐고 묻습니다. Continue누르세요.
비디오 업로드만 허용을 할지 보고서 관람도 허용할지 계정관리도 허용을 할지 물어봅니다. 저는 일단 나중에 변경해야하면 곤란하니까 전부다 허용을 하는 걸로 하긴 했는데 사실 본인 계정이라면 필요한 기능만 허용을 하는게 가장 좋습니다. 저는 손님계정이라 나중에 추가할때 다시 요청해야하는 번거로움이 있기때문에 기회가 될때 허용을 해두는 거에요.
우측하단에 Continue클릭하면 Sprout Social로 돌아오고 어떤 사용자에게 어디까지 허용할지 등을 설정하게 됩니다. 저는 현재 저밖에 없으므로 그냥 Full Publishing권한을 저에게 주겠습니다.
그러면 창을 닫았을때 아래 Social Profile목록에 YouTube가 추가된것을 확인하실수 있습니다.
일전에 Instagram연결하는 방법을 보여드렸기 때문에 다른 Platform을 굳이 보여드려야 하나 싶기도 한데 초보자 분들은 뭐든 다 조심스럽고 불안하고 하실수도 있으실거 같아서 지겨워 지실때까지 하나하나 다 보여드려야겠다고 생각했습니다. 그래서 오늘은 LinkedIn을 Sprout Social의 Group에 연결할 건데요. Instagram연결하는거 보고 오신 분들은 지루하다고 생각하실 수도 있다는점 미리 말씀드립니다.
좌측메뉴에서 Connect a Profile을 선택하세요.
그러면 어떤 플랫폼을 연결하고 싶은지 목록이 뜹니다
그중에 LinkedIn을 선택합니다. 그러면 연결하고자 하는 계정이 일반 사용자 프로필인지, 비지니스 페이지인지를 물어보는데요. 본인의 상황에 맞게 선택합니다. 저는 일반 사용자 프로필을 연결하고 있으니까 첫번째 항목을 선택하겠습니다.
아래 버튼을 클릭하면 화면이 LinkedIn에서 제공하는 페이지로 이동하게 될거라고 안내해줍니다. LinkedIn에서 로그인하고 인증을 받아야하니까 당연한거죠? Go to LinkedIn버튼을 클립니다.
클릭하면 링크드인 로그인 페이지로 화면이 이동합니다.
로그인을 하면 허용버튼을 누름으로 인해서 Sprout Social에 어떤 권한을 주게 되는지 안내가 뜹니다.
좋은 싫든 허용을 해야 다음으로 넘어가기 때문에 Allow버튼 누릅니다. 그러면 Sprout Social로 화면이 다시 돌아오고 Groups & Social Profiles의 목록에 LinkedIn이 추가된것을 확인하실 수 있으실 겁니다.
요즘 워드프레스 테마들이 너무 복잡해져서 해킹이 힘드네요. 걔중에 XSimply라는 Theme이 그나마 좀 심플하게 나와서 이리저리 고쳐 쓰기가 좋은거 같아요. 이번시간에는 XSimply로 블로그를 만들었을때 왼쪽에 카테고리 선택시 내용은 빼고 해당 카테고리 글의 제목만 뜨도록 테마내용을 바꿔보려고 합니다.
원래는 왼쪽의 카테고리를 클릭하면 해당 카테고리안의 제목과 내용이 아주 길게 주르륵 나오는데요. 저는 이게 상당히 보기가 불편하더라구요. 그래서 카테고리를 클릭하면 제목만 보이게 바꾸고 제목을 클릭했을때 상세내용이 보이도록 바꿀겁니다.
일단 /wp-content/themes/xsimply폴더를 엽니다. 그 안에 archive.php라는 파일이 있을거에요. 그 안에 보면 카테고리안의 post들을 보여주는 get_template_part( 'template-parts/content', get_post_type() );부분이 있을거에요. 이 코드는 현재 해당 post의 타입에 따라 서로 다른 템플릿에 담아 보여주라는 뜻인데요. 전부 post타입이라면 그냥 제목과 내용을 죄다 보여주게 됩니다. 그부분을 제목만 보여주도록 하드코딩할거에요. 해당 코드에 보면 template-parts라는 폴더 명이 있죠? 그게 해당 파트를 보여주는 폴더이름인데요. 그 폴더 안에 보시면 각종 템플릿 파트들이 저장이 되어있어요. 그리고 그 뒤에 content라고 되어있는건 파일명의 prefix에요. 컨텐트관련한 템플릿 파트에 저 prefix를 붙여주는것 같아요. 저는 제목만 들어있는 템플릿파트를 templates-parts폴더안에 content-archive.php라는 파일명으로 저장할거에요. 그러니까 여기서 get_template_part( 'template-parts/content', "archive");로 바꿔서 카테로리 안에 리스트를 보여줄때는 templates-parts/content-archive.php를 사용해서 보여주도록 하는거죠.
<?php
/**
* The template for displaying archive pages
*
* @link https://developer.wordpress.org/themes/basics/template-hierarchy/
*
* @package XSimply
*/
get_header();
?>
<div id="primary" class="content-area">
<main id="main" class="site-main">
<?php if ( have_posts() ) : ?>
<header class="page-header">
<?php
the_archive_title( '<h1 class="page-title">', '</h1>' );
the_archive_description( '<div class="archive-description">', '</div>' );
?>
</header><!-- .page-header -->
<?php
/* Start the Loop */
while ( have_posts() ) :
the_post();
/*
* Include the Post-Type-specific template for the content.
* If you want to override this in a child theme, then include a file
* called content-___.php (where ___ is the Post Type name) and that will be used instead.
*/
# get_template_part( 'template-parts/content', get_post_type() );
get_template_part( 'template-parts/content', "archive");
endwhile;
the_posts_pagination( array(
'prev_text' => '← <span class="screen-reader-text">' . __( 'Previous Page', 'xsimply' ) . '</span>',
'next_text' => '<span class="screen-reader-text">' . __( 'Next Page', 'xsimply' ) . '</span> →',
'before_page_number' => '<span class="meta-nav screen-reader-text">' . __( 'Page', 'xsimply' ) . ' </span>',
) );
else :
get_template_part( 'template-parts/content', 'none' );
endif;
?>
</main><!-- #main -->
</div><!-- #primary -->
<?php
get_sidebar();
get_footer();
호출하는 부분은 변경을 해주었으니 이제 part를 만들러 가볼게요. /wp-content/themes/xsimply/template-parts폴더에 content-archive.php라는 새로운 파일을 하나 추가하세요. 그리고 아래와 같이 저장합니다.
지난 시간에 함께 해보았던 이메일 캠페인 보내기를 할때 태그를 선택해서 했지 않습니까? 그런데 제가 선택해야하는 태그가 무려 수십개에요. 근데 육안으로 이걸 일일이 클릭하기에는 너무 일이 많아서 혹시 콘솔에서 자바스크립트로 선택하게 할수 있지 않을까 해킹을 좀 해보다가 코드가 너무 복잡해서 결국 포기하고 API를 사용하여 이메일 캠페인을 생성해보자고 마음을 먹게 되었습니다.
현재 GHL의 API는 1.0과 2.0 두가지 버젼을 제공하고 있습니다. 안내문을 보니 API 1.0은 현재 제공은 하지만 더이상 지원은 하지 않는다고 나옵니다. 그리고 API 2.0이 안정화가 되면 API 1.0은 없앨거라고 안내하고 있어요.
그런데 API 2.0 Docs밑에 목록을 읽어보니까 현재 API 2.0에서 API 1.0에서 제공하고 있는 기능을 전부다 지원하고 있지는 않다고 나오네요. 그렇다면 나중에 없어질지언정 저는 API 1.0을 쓰도록 하겠습니다. 느낌상 2.0은 베타같아요.
API 1.0문서가 깔끔하니 아주 느낌이 좋네요. 대충봐도 정리가 잘 되어있는것 같아보여요.
API 1.0은 일단 인증이 간단해서 좋네요. Request Header에 Authorization: Bearer <token>만 넣어주면 자유롭게 API를 사용할 수 있습니다. 그리고 문서에서 각 End point마다 예제를 보여주고 있어서 빨리 이해가 되고 문서를 정말 잘 만들었다는 생각이 듭니다.
참고로 아까 위에 문서 캡쳐본에서 <token> 즉, API Key를 어디서 가져와야하는지 알려주고 있는데요. 본인의 GHL계정이 Agency계정인 경우에는 Agency Setting > API Key > Agency API Keys를 복사하시면 되고요, Sub-account인 경우에는 Settings > Business Profile > API Key 를 가져와서 Token부분에 붙여넣으시면 됩니다. 말씀드렸다시피 GHL은 다단계라서 Agency계정을 구매한 사람이 가격을 결정해서 Sub-account를 다른 사람에게 팔 수 있어요. 그리고 Sub-account에서 내는 돈의 40%를 Agency계정을 소유한 사람이 가지게 됩니다. 매월 내는 회비니까 초반에 사람 좀 모으면 짭짤할거 같아요.
앗 그런데 이게 왠일입니까? 저는 이메일 캠페인을 등록하려고 API를 사용하는 것인데 GET으로 가져오는것만 지원을 하고 있습니다. (아이고야…이거….큰일 이네요…)
API 2.0에서는 이메일 캠페인 등록이 되는지 한번 확인해볼게요. 이런이런…여기서도 마찬가지로 GET방식만 지원을 하고 있습니다. (이거 정말 난감하네요…)
저 지금 쫌 멘붕..이 글을 계속 써야하나 지워야할까 지금 저에게 API를 사용해야하는 이유가 딱 사라져 버렸어요. 그래도 나중에 필요할 지모르니까 API 2.0의 API Key를 받아서 간단한 테스트는 해보도록 하겠습니다.
그 전에 일단 API 1.0은 API Key가 이미 만들어져 있으니까 간단하게 Campaign을 불러와볼게요. API Test를 하려면, Client tool이 필요한데 저는 한동안 Postman을 썼었는데, 요즘 Microsoft Code를 편집기로 사용하다 보니까 거기서 제공하는 Thunder Client로 그냥 간단한거 호출해서 쓰곤 합니다. New Request버튼을 눌러서 새로운 Request를 하나 만듭니다.
현재 token을 모르니까 Settings > Business Profile > API Key를 복사해서 썬더클라이언트에 붙여넣기를 합니다.
헤더명에 Authorization이라고 넣고 값에는 “Bearer”라고 맨 앞에 넣으신 후에 한칸 띄고 아까 위에서 복사해온 API Key를 그 뒤에 붙여넣기 하시면 됩니다.
한번 테스트를 해볼까요? 파란색 Send버튼을 누릅니다. 오잉?! 왜 아무것도 안뜨는거죠?
검색조건을 한번 없애 보고 다시 해보겠습니다. 이것은 제가 기대한 이메일 캠페인의 내용이 아니군요.
Dashboard에서 해당 내용을 찾아보니 Automation > Campaign이라는게 있었네요. 그런데 빨간색으로 이 캠페인은 더이상 유지하지 않을 것이라는 경고장을 보여주고 있어요. API에서 campaign의 end point가 email campaign을 의미하는게 아니었다면 희망이 보이네요. 혹시 email campaign을 API로 생성할수 있는 다른 end point가 있을지도 몰라요. 당장 다시 찾아봐야겠습니다.
Contact Campaign이건가? API문서에 각 endpoint별 상세설명이 빠져있네요. Contact Campaign이 어떤 내용인지 확인하기 위해서 GET으로 호출해서 함 보고 싶은데 얘는또 GET을 지원을 안하는 endpoint네요. 이게 뭔지도 모르는 상태에서 함부로 데이타를 넣거나 지우거나 하고 싶지는 않아요. 이거 계속보니까 제가 찾는 Email Campaign아니구요. 아까 봤던 없어진다던 그 Campaign에 사용자를 추가하고 삭제하는 기능을 하는 API인것 같아요. End point 별로 설명이 간략하게도 안나와 있어서 좀 아쉽네요.
API 1.0문서에서는 아무리 눈씻고 찾아봐도 Email Campaign이 없는것 같아요. 혹시 API 2.0에서 새롭게 추가되었을지도 모르니까 한번 찾아볼게요. Email Template관리하는 Endpoint는 찾았어요. 근데 저는 Template말고 Campaign을 생성하고 싶은데요.
이거 같기도 한데 이건…단체메일 보내는게 아니고 그냥 개인한테 메일을 보내도록 스케줄한거 지우는 기능같기도 해요.
email campaign으로 검색해봐도 나오질 않네요.
아무래도 제가 필요한 API Endpoint는 아직 없는 것 같아요. API 1.0은 호출이라도 해봤는데 API 2.0은 아직 아무것도 호출을 못해보았네요. 제가 필요한 API는 제공하고 있지 않지만 그래도 여러분들이 필요한 API가 있을 수도 있으니까 인증받고 API 2.0호출하는것 까지 한번 해볼게요. 일단 가이드라인을 한번 따라가볼게요.
인증을 하는데 왜 앱을 만들으라고 하지? 생각하시는 분이 계실것 같아서 첨언을 드리자면, API는 서버이고, 보통 API를 호출하는 쪽은 클라이언트가 됩니다. OAuth에서 생성하는게 Client ID인 이유도 바로 API는 서버, 인증을 요청하는 쪽은 클라언트라고 개념하여 기능을 제작했기때문입니다. 그리고 인증이 필요한 클라이언트가 여러개인 경우 각 클라이언트를 구분할 이름이나 플랫폼등을 인증에 추가로 첨부해서 추후에 해당 인증키가 어떤 클라이언트에 사용되는지를 구분할 수 있게 하기 위한 목적입니다. 이 컨셉은 구글 API를 사용할때도 마찬가지로 OAuth인증시 어떤 앱에서 API에 접근할 것인지 해당 클라이언트앱의 이름을 적도록 되어있습니다.
앱을 만들려면, GHL의 마켓플레이스로 가서 개발자로그인을 해야합니다. 기존에 GHL로그인 정보로는 로그인이 되지 않고, 별도의 개발자계정을 생성하여 로그인 해야합니다.
이메일 인증 후 로그인을 하고 들어오면 마켓플레이스의 App Dashboard가 보이실거에요.
여기에서 우측상단의 + Create App을 클릭하시면 팝업이 하나 뜨는데 앱이름 넣고, App Type은 Private로 했어요. Public으로 선택하면 아마 외부에 공개가 되어서 다른 사람들도 이 앱을 사용할수 있게 되는 것 같아요. 그리고 Distribution Type은 GHL의 사용자 계정과 동일해야 하는데요, 현재 제가 사용하고 있는 GHL계정은 Sub-Account계정이에요. 본인의 계정이 Agency계정인지 Sub-Account계정인지 모르면 GHL에 로그인 하면 바로 나오는 Dashboard를 보시면 알 수 있어요. 좌측 사이드바 메뉴에 Launchpad가 가장 위에 나오면 Sub-Account계정 이고요, Agency Dashboard가 있으면 Agency계정입니다. 일전에 말씀드렸다시피 GHL은 다단계장사에요. 그래서 Agency계정으로 사용을 하고 있는 경우 Sub-Account를 만들어서 팔수 있어요. 판매수익의 40%는 본인이 가지게 됩니다. 정말 파격적인 rate인것 같아요. 아마도 GHL을 만든 사람은 개발은 잘 해도 영업에는 어지간히 자신이 없었나봅니다.
어찌됐든 앱을 만들면 아래와 같이 Dashboard에 생성한 앱이 뜨고, 앱 이름을 클릭하면 상세화면으로 들어가게 되요.
상세화면에서 필수정보들을 채워 넣어주었어요.
왼쪽 메뉴에서 Advanced Settings > Auth를 클릭해서 API를 사용하기 위한 인증작업을 본격적으로 해보겠습니다. 이기능을 그냥 GHL Dashboard에 넣었으면 참 좋았을껄 왜 굳이 앱을 만들어야 이걸 볼수 있게 해놓았을까요? 아무래도 이 사람들 개발자 정보도 수집하고 자기네 마켓플레이스를 애플스토어처럼 활성화 시키고 싶었나봐요. 안그러고서야 이렇게 얼토당토 않은 단계를 밟아서 API Key를 만들게 했을까요?
Advanced Settings > Auth를 열면 해당 API Key가 어떤 권한을 갖게 되는지 결정하는 Scope을 선택하도록 되어있습니다. 그리고 Auth Code를 받아갈 Redirect URL도 넣었습니다. 저는 수동으로 받아가려고 그냥 홈페이지 주소 넣었어요.
Client Keys블락의 “+ Add”버튼을 누르면 Client Key의 이름을 정하라고 합니다.
캠페인에 접속하는 키라고, “Campaigns Readonly” 적어주니, 바로 Client ID를 보여주네요. Client ID, Client Secret 두개 다 복사하고 팝업창을 종료합니다.
그러면 아래 화면에 내가 방금 만든 API Key가 Client Key목록에 들어가 있습니다.
여기서 잠깐, 지금 하라는대로 따라는 하고 있는데 우리가 이걸 왜 하고 있는지 모르시는 분들을 위해서 OAuth란 무엇인지 잠시 설명하고 넘어갈게요.
OAuth란?
GHL API 2.0에서 인증용도로 사용하고 있는 OAuth는요 인증하는 방법의 중간에 복잡한 프로세스를 좀더 넣어서 기존 방법보다 쪼끔 안전하다고 느껴지는 인증방법입니다. API 1.0사용할때는 그냥 헤더에 Authorization: Bearer <API Key>만 넣어주면 API가 제공하는 모든 정보를 받아 올수 있었어요. 그 API Key는 대쉬보드에 로그인 해야만 보이는거니까 우리만 알잖아요. 그러니까 이걸 API호출할때 같이 보내주면 GHL이 우리끼리만 아는 API Key를 니가 가졌으니 너는 권한이 있는 사용자구나 하고 다 보여주는거죠.
근데 요즘 세상이 그리 만만하지는 않죠. 해커들이 라우터를 해킹해서 네트웤 패키지를 통째로 읽어서 API Key를 알아내 버리면 그때는 그 해커가 API Key를 가지고 우리가 모르는 사이에 계속 우리 정보를 빼내거나 한번 뒤틀리면 데이타를 싹 지워버리거나 할 수도 있죠.
하지만 OAuth는 (Open Auth의 약자입니다.) 그 소중한 비밀 Key를 API Endpoint를 호출할때마다 넣어서 보내는게 아니라 처음에 딱 한번 비밀키를 보내고 토큰이라는걸 받아옵니다. 그러면 우리는 그 토큰을 가지고 API를 호출하는데 사용하는거에요. 그런데 그 토큰은 유효기간이 있어요. 만약에 해커에게 토큰이 노출이 된다고 해도 그놈이 그걸 계속 사용할 수는 없는거죠. 물론 해커가 토큰을 요청하는 Request를 해킹했다면 당할 수 밖에 없지만 확률상 그 소중한 비밀키를 API를 호출할때마다 매번 보내는것보다 하루에 딱 한번만 보내는게 아무래도 해킹당할 확률이 훨씬 줄어들겠죠. 그래서 GHL은 그 확률을 더더욱 줄이기 위해서 중간에 하나의 프로세스를 더 넣었습니다. 해커는 Client ID, Client Secret뿐만 아니라 이 키에 허용되는 API의 Scope이 뭔지도 알아야 최종적으로 토큰을 가져올수 있게 했어요.
간략하게 순서를 설명하자면, Client ID와 Scope을 가지고 Code를 받아올거에요. 그래서 우리는 지금 위에서 만든 Client ID와 Client Secret, 그리고 방금 받은 Code를 넘겨주어 OAuth에 토큰을 달라고 요청을 할거에요. 그리고 받은 토큰을 가지고 API에 넘겨주면서 컨텐츠를 보여달라고 해볼게요.
참고로 아까 제가 비밀키만들때 그 키를 가진 사람은 “읽을” 수만 있게 Scope을 제한했잖아요? 기존의 API 1.0은 비밀키마다 권한을 다르게 줄수 있는 기능이 없었어요. 그냥 API Key하나가 수퍼유저인데 API호출할때 마다 그 소중한 API Key를 보내주어야하는 위험을 감수하고 사용했어야하는거죠. OAuth의 도입으로 인해 보안상 API 2.0이 훨씬 안전해진것 같다는 느낌이 확 듭니다.
토큰받기 1단계: Code 받아오기
토큰을 받아오기 위해서는 몇가지 절차를 밟아야합니다. 우선 마켓플레이스에서 앱을 만들어서 Client Key를 생성했잖아요? 거기서 복사해 두었던 Client ID와 Client Secret을 준비해주세요.
그리고 앱을 만들때 선택했던 Scope도 알고 계셔야합니다. 혹시 모르시면 Marketplace > My Apps에서 본인의 앱을 선택하고, Advanced Settings > Auth에 가시면 선택하신 Scopes을 다시 보실 수 있습니다. Scopes블락 바로 밑에 보면 Redirect URLs라고 있는데 혹시 Redirect URL이 선택이 안되어 있으면 인증코드를 받아서 호출할 Redirect 주소를 여기에서 추가해주시고 리스트에서 하나를 선택해서 기억해주세요.
그리고 앱을 만들때 선택했던 Listing Type도 알고 계셔야합니다. Listing Type이란 여러분이 생성한 앱을 마켓에 Listing할때, 표준으로 할지 화이트라벨형으로 할지를 정하는 것인데요. 표준형으로 앱을 만들면 highlevel도메인에만 리스팅이되고 다른 도메인에서는 보이지 않습니다. 화이트라벨형으로 앱을 설정하면 Highlevel이나 GoHighlevel등의 이름이 앱에 표시가 되어서는 안됩니다. GHL의 모든 기능을 이용하여 앱을 만들지만 GHL이라는 브랜드는 절대적으로 숨기고 겉에서 보기에는 마치 자체적으로 만든 제품으로 홍보하여 자체브랜드인것 처럼 제작을 하는거에요. 어떤 형식으로 선택했는지 기억이 나지 않으면 Marketplace에 가셔서 상단에 My Apps메뉴를 선택하시고, 왼쪽 서브메뉴에서 Listing Configuration을 클릭하시면 Listing Type을 확인하실 수 있습니다.
Request Body에 들어가는 자세한 항목은 여기를 참조해주세요. Get Access Token하는 API의 End point는 POST방식으로 JSON데이타를 받고 결과를 JSON으로 출력해줍니다. 그럼 이제 위에서 방금 만든 Client ID와 Client Secret을 가지고 Oauth를 통해 토큰을 요청해 볼게요. 해당 API에 대한 자세한 사양은 여기서 확인하세요.
Request Body에 위에서 수집한 정보를 아래와 같이 각 Form-encode정보에 맞게 넣어주세요. 일반 Form 이나 JSON Body로 보내시면 안됩니다.
“Send” 버튼을 누르면, 아래와 같이 액세스 토큰을 반환해줍니다.
토큰받기 3단계: 토큰 테스트
이제 받아온 토큰을 가지고 API를 호출해볼게요. Scope에서 Campaign을 Readonly권한으로 설정했으니까 Get Campaigns를 호출해보도록 하겠습니다. Endpoint 사양은 다음과 같습니다.
실제로 Campaign을 호출을 한번 해보도록 하겠습니다. Endpoint URL은 API매뉴얼에서 찾아서 넣습니다. 그리고 아까 토큰 받을 때 같이 받은 locationId는 쿼리스트링으로 넣습니다. 그리고 status로 필터링도 할수 있지만 일단 지금은 전부가져오도록 하겠습니다 .
이제 중요한게 헤더인데요. Authorization의 값으로 Bearer를 먼저 넣고 그뒤에 한칸띄고 받아온 Access Token을 붙여넣기 합니다. 버젼으로는 뭘넣어야할지 몰라서 API매뉴얼에 샘플로 들어가있는걸 그냥 갖다 넣었습니다.
Send버튼을 누르면
제가 받아보고 싶었던 Campaign은 아니지만 어쨌든 API로 OAuth인증을 받아서 데이타를 보는것까지 설명을 드렸습니다.
오늘의 내용을 종합해보면, 여기까지 API 2.0을 사용하기 위해서 아래와 같은 작업들을 했네요.
마켓플레이스에서 개발자 계정을 생성하고
앱을 만들고
앱에서 Client Key를 만들고
Client ID와 Client Secret등을 가지고 Location을 선택한 뒤 넘겨준 URL에서 Code를 획득
해당 코드를 가지고 OAuth를 호출하여 Access Token을 획득
Access Token으로 API 2.0 호출성공
좀 복잡했지만 이런 방법을 통해서 작업이 좀더 안전하고 수월해지기때문에 API 2.0 OAuth 인증하셔서 GHL의 API기능을 충분히 활용하셨으면 좋겠다는 바램입니다.
안녕하세요. 이번 시간에는 GoHighLevel에서 이메일을 보내는 방법에 대해서 알아보도록 하겠습니다.
GoHighLevel에 로그인을 하시면요, Dashboard가 뜨는데요. 왼쪽메뉴에서 Marketing > Emails를 선택합니다. 그러면 기존에 보냈던 이메일 캠페인들이 보이고 위로는 Campaigns, Templates 그리고 Statistics가 보입니다. 일단 이메일을 보내려면 템플릿이 있어야하니까요. Template을 하나 만들어 보도록 하겠습니다.
Templates탭을 선택하면, 기존에 만들어 놓은 템플릿들이 보일거에요.
우측상단에 + New버튼을 클릭하면 옵션메뉴가 뜨는데요, 여기에서 기존의 템플릿을 활용하고 싶으면 Create Template from Existing Campaign을 선택하시고요, GHL에서 제공하는 이메일 템플릿을 써보고 싶으시다면, Email Marketing Templates을 그리고 그냥 빈화면에서 시작하고 싶으시면 Blank Template을 선택해주세요.
저는 GHL에서 제공하는 템플릿이 뭐가 있는지 한번 보기 위해 Email Marketing Templates을 선택했습니다. System Template들이 기본적으로 선택되서 나오네요.
첫번째 템플릿을 한번 살펴볼까요? 회원가입을 축하하는 이메일 템플릿인것 같습니다. 사용자 이름은 contact.first_name이고, 회원가입한 사용자의 이메일은 membership_contact.email이네요. 이걸로 미루어 보아 GHL은 비회원이든 회원이든 상관없이 관리하는 이메일 리스트는 contact이라는 객체에 저장하고, 그중 회원가입을 한 회원의 정보는 membership_contact이라는 객체에 담아서 저장하는 것 같네요. 그 객체 안에 뭐가 있는 지는 Custom object와 Contact에 대해서 설명드릴때 더 자세히 다루도록 하겠습니다.
다른 이메일 템플릿을 한번 살펴볼까요? 세번째 이메일 템플릿을 열어보겠습니다.
여기에는 affiliate라는 객체가 있네요. GHL은 다단계처럼 제가 손님인 동시에 다른 손님을 꼬셔오면 그 손님이 내는 의 40%를 제가 가져갈수 있어요. 그때 신규회원에게 제공하는 링크를 affiliate link라고 하는데요. 어쨌든 그 사람들은 내 손님이니까 그 사람들을 관리하는 것도 내 몫이겠죠? 그래서 자기가 세일즈를 한 손님에게 메일을 보내는 템플릿인것 같습니다.
아래는 다섯번째 이메일인데요, GHL은 자체적으로 제품을 판매하는 기능을 가지고 있습니다. 제품판매 관련해서 다양한 객체들을 제공하고 있습니다. 온라인 스토어 설정하는 방법에 대해서는 다음에 자세히 다루도록 할게요.
그리고 아래는 GHL을 통하여 소셜미디어에 포스팅을 할때, 팀원 조직간에 승인을 요구하는 워크플로우를 만들수가 있는데 이때 상사가 승인을 안해주면 실제 포스팅을 할수가 없기때문에 빨리 승인을 하도록 유도하기 위해 아랫직원이 포스팅할 컨텐츠를 업로드했을때 자동으로 상사에게 이메일이 가도록 해놓는데 그때 사용할 수 있는 템플릿입니다.
근데 템플릿 디자인이 다 너무 이상하네요. 템플릿 목록 위에 Clear Filters를 클릭해서 System Templates만 보겠다는 필터를 없애고 결과를 보도록 하겠습니다. 엄청 많지는 않지만 그래도 아까보다는 더 많아졌네요.
두번째 템플릿을 사용해서 이메일을 보내보도록 하겠습니다.
이것도 이뿌지는 않지만 그나마 이게 디자인이 좀 나은거 같네요. 우측상단에 Continue버튼을 클릭해주세요. 그러면 이메일 템플릿 편집기가 뜹니다.
로고를 클릭하니까 메뉴가 뜨는데… 모바일, 데스크탑에서 보여줄지 말지를 아이콘으로 클릭해서 정하는 걸 그림만 보고 누가 알아챕니까? 저 네모상자 3개 붙어있는거는 모든 디바이스에서 보여주기에요. 글쎄요..UI가 친숙하지는 않네요..
왼쪽 툴바에서 이미지나 텍스트 컴포넌트를 그래그 앤 드랍하면 해당 위치에 들어갑니다. 편집기 만들기 힘들었을텐데 훌륭합니다. 다만 왼쪽의 툴바의 컴포넌트들이 뭔가 설명이 부족하고 우후죽순 섞여 있는것 같아요. 다른 편집기들처럼 카테고리별로 구분해서 보여줬을면 좋았을텐데 아쉬움이 남네요.
그리고 편집기에서 수정하고자 하는 개체를 선택하면 왼쪽에 속성창이 떠서 내용을 변경 할수도 있습니다.
이미지 옆에 연필모양 눌러서 이미지를 바꿔볼게요. Media Storage라는 팝업이 뜨고, 기존에 업로드 했던 이미지들이 보여지는 거 같은데, 위에 구글 드라이브 아이콘이 나오는걸 보니 드라이브에 저장된 이미지파일들을 보여준다는 의미일까요? 뭔가 아이콘이나 화면들이 알쏭달쏭 하네요. 저는 그냥 우측상단에 Upload버튼 눌러서 이미지를 업로드 해줄게요. 사실 업로드 버튼의 위치도 뭔가 오해 하기 쉬워서 내가 지금 구글드라이브의 이미지를 보고 있다면 이미지를 선택하고 업로드버튼을 눌러서 해당 이미지를 GHL에 업로드 해주어야하는 건가 싶었어요. 근데 누르고 보니 그냥 컴퓨터에서 업로드 하는 기능입니다.
업로드를 하면 바로 들어가거나 이미지를 선택하도록 되어있는게 아니고 링크를 저장을 하라고 나오네요. Copy link를 눌러서 저장을 했는데 아무일도 일어나지 않네요. 뭔가 친절하지 않아요. 그대로 X버튼을 눌러서 이미지 닫고 Media Storage 팝업도 닫습니다.
그리고 아까 이미지를 선택할때 열렸던 속성창에다 Image URL을 붙여넣기 합니다. 와우! UX 진짜 너무…기본이 안되어있네요. 템플릿 편집기를 만들정도의 JS기술력이면 이미지 선택했을때 자동으로 들어가는거 정도는 아무것도 아닐텐데 왜 굳이 이미지 URL을 복사/붙여넣기를 하도록 만들어서 사용자들을 괴롭히는지 저로서는 이해가 좀 가지 않네요. 이건 글로벌 기준도 아니고, 미국 기준도 아니고 제 생각에는 무슨 제3국 마인드인것 같습니다. 제2차 세계대전 때 러시아에서는 가게에 우유랑 빵, 계란 밖에 없었는데 거기 주인이 유세떨면서 살거면 사고 말거면 나가라 그런 느낌이에요. (GHL초보자의 개인적인 생각이니까 GHL사랑하시는 분들은 너무 상처받지 마시길 바래요)
이제 템플릿 이름을 A Test Template으로 바꾸고, 우측상단에 Save Template을 눌러서 저장을 해줍니다. 저장을 하고 좌측 상단의 <- Back버튼을 눌러서 템플릿 목록으로 돌아갈게요. 그러면 방금 만든 템플릿이 보일겁니다.
이메일 캠페인을 생성하려면 Campaigns탭을 클릭한뒤 그 페이지 상단의 + New버튼을 눌러서 만들어도 되고요, 기왕에 우리는 Templates탭에 들어와 있느니까 해당 템플릿의 맨끝에 점세개 아이콘 눌러서 팝업 메뉴를 열게요. 거기서 Create Campaign을 클릭합니다.
그러면 아까 제가 만든 템플릿이 뜨고, Send or Schedule버튼이 상단에 있는데 왠지 이거 누르면 바로 전송될것 같은 불안함이 있는데 일단 이거 말고는 다른 버튼이 없는거 같으니까 이걸 눌러볼게요.
다행이 다음 화면으로 넘어 왔네요. 위에 Send or Schedule버튼명은 Next나 Next Step으로 바꿔도 될것 같아요.
Sender Email은 보내는 사람 이메일, Sender Name은 보내는 사람 이름, Subject line은 이메일 제목, 그리고 Preview Text는 아마도 이메일 목록에서 짧게 보여주는 미리보기 텍스트인것 같아요.
그리고 Recipient가 가장 중요한데요. 정말 조심하셔야하는게 Default로 모든 사용자가 선택이 되어 있어요. 그래서 전체사용자에게 이메일을 보낼게 아니라면 반드시 All Contacts을 Clear하시고 필요한 사용자들만 넣어주셔야해요.
저는 여기에서 앞으로 많이 사용하게 될 Choose Contacts from Tags를 선택합니다. 여기서 우리가 사용자를 한명한명 일일이 추가할건 아니니까요. 미리 사용자들에게 tag를 적절하게 부여하고 이메일은 Tag별로 보내는게 좋지요.
그런데 Tag별로 보내겠다고 Choose Contacts from Tags를 선택을 했는데 왜 Tag선택하라는 추가 메세지가 없는 걸까요? 보통 뭔가 선택을 하면 다음으로 안내해주는 것이 일반적인데 GHL은 뭔가 스스로 찾아서 해야하는게 많네요. 아무래도 아래에 있는 +버튼을 누르면 뭔가 뜰것 같아요.
이전에 저는 미리 테스트로 사용할 Contact 사용자를 입력하고, 그 사용자에게 해당 Test태그를 저장해두었답니다. 사용자 생성하는건 매우 간단하고 어렵지 않았어요. Dashboard의 좌측메뉴에서 Contacts메뉴 선택하셔서 추가하시면 됩니다.
제가 만든 Test 태그를 선택하니 1 Contact이 나오네요. 아마도 저 일겁니다.
그리고 클릭했을때 Tracking을 할건지는 당연히 ON으로 변경해야 누가 클릭을 하고 들어왔는지를 알수가 있겠죠? 그걸 알아보려면 템플릿의 LET’S GO 버튼에 링크를 걸어야겠네요. 돌아가서 걸고 오도록 하겠습니다.
그리고 UTM은 링크에 파라메타를 걸어서 사이트에 들어왔을때 식별이 되도록 하는 트래킹 방법인데요. 이것도 ON으로 하겠습니다. GHL에서 어떤 파라메타를 링크에 자동으로 걸어줄지는 모르겠지만 일단 한번 어떻게 돌아가는지 보고 싶어요.
그리고 마지막으로 저는 이메일을 바로 보낼게 아니고 특정시간에 보내지도록 스케줄을 할건데요. 맨 위에 상단에 보면 Send Now를 할지 Schedule을 할지를 선택하는 상자가 있습니다. 보통 이 옵션은 맨 마지막에 있는데 안그러면 까먹고 그냥 보내기를 누르는 실수를 하기가 아주 좋거든요. GHL은 정말 아주 사소한 부분까지 저를 불안하게 만드네요.
테스트니까 바로 확인할 수 있게 10분 뒤로 스케줄을 하겠습니다. 그 전에 템플릿 상단에 미리보기 기능이 있었네요. 아래 보시듯이 템플릿 위에 브라우저에서 미리보거나 테스트메일을 보내기 링크가 있습니다. 저는 브라우저로 보는것을 선택해서 미리 보고 클릭도 해보겠습니다. 아주 잘 되는것 같으니 Review and Schedule버튼을 눌러서 다음으로 넘어갈게요.
앗! Review and Schedule버튼을 눌렀는데 리뷰없이 바로 Bulk Action Created라는 메세지가 뜨면서 Email Campaign 목록으로 넘어가네요. Review하는거 아니었나요? ㅎㅎ;; 역시 GHL저랑 잘 안맞는거 같아요. 근데 목록에 왜 Last Updated는 뜨는데 Execution Date는 새로고침 모양일까요? 저게 무슨 저장하는데 시간걸리는 일인가??
한번 생성된 email campaign스케줄은 변경이 안되나 봅니다. 이게 변경이 안되는거였으면 버튼 누르기 전에 말좀 해줬으면 좋았을걸 왜 모든게 자기 마음대로 인지 모르겠어요…메뉴를 열어보니 취소하거나 Pause 하는 수밖에 없네요. 그래도 여기서 Preview는 할수 있겠어요.
Preview에 있는 링크를 클릭하니 UTM이었던가요? ?utm_source=email&utm_medium=email+marketing이라고 파라메터를 뒤에 붙여서 보내주네요. 해당 메일에서 오는 모든 링크는 동일한 파라메터가 붙습니다.
이메일 발송 5분전 제가 실수로 전체메일을 보내는건 아닌지 불안하기도 합니다. GHL은 왜 받는사람 목록을 보여주지 않았을까요? 받는 사람 목록을 보여줬다면 이렇게 불안하지는 않았을것 같아요. 정말 GHL은 사용하면 사용할 수록 저랑은 안맞는거 같다는 생각이 듭니다. (아무리 찾아봐도 받는 사람 목록을 보는 곳은 정말 없는거 같아요. 아까 Contacts이 1명이라고 했으니까 저 맞겠죠;;;; 불안불안….)
이메일이 왔네요^^ 근데 저한테만 온거 맞겠죠;;;
링크를 한번 클릭해볼까요? 뜨헉! 제가 명시한 링크에 UTM파라메터만 붙인게 아니고 무려 이렇게 긴 링크가 걸려있네요.
아마도 GHL스스로도 링크에 대한 클릭을 트래킹하려면 어쩔 수 없었겠죠. 그걸 어떤 방법으로 하는지 궁금했는데 최종링크를 redirection하는 방법으로 구현하고 있었네요.
그리고 이제 Marketing의 Email Marketing에 들어가보면 상태가 Sent로 변경이 되어있고요.
맨끝에 점세개를 누르면 Statistics을 눌러서 전송 결과를 볼수가 있습니다.
전송결과에는 몇명에게 이메일 전송이 성공적으로 완료가 되었고, 에러는 몇개가 있었는지 등을 보여줍니다.
여기서 Load more Statistics를 누르면 좀더 자세한 Report를 보여주는데요. 날짜별로 추적을 할수 있게 되어있어서 좋아보이네요.
그런데 오늘(12/10) 보낸것도 아직 전송이 안되어 있네요. 지금 이 서비스는 매주 월,수,금 꾸준히 400명 정도의 사용자에게 이메일을 보내고 있었는데 다 0으로 나와요 ㅠㅜ 기능만 구현해놓고 데이타 검증은 안하는 모양이에요…아! 아닌가요? 지금 이 팝업은 제가 보낸 Test 메일만 통계를 낸것 같은데요. 그런데 날짜별로 보여주는 이유는 뭘까요? 같은 캠페인인데 다른 이메일을 서로 다른 사용자들에게 보내는 경우가 있어서 일까요? 익숙하지 않아서 그런지 통계화면이 잘 이해가 안되네요.
그리고 밑에 보면 사용자별로 보낸 사람들 리스트업해주네요. 근데 저는 한명에게 보내서 그런지 아니면 통계를 내는데 시간이 걸리는 건지 지금 이메일 보낸지 3시간이 지났는데 아직 통계자료가 만들어 지지 않았어요. 보통 이런경우에는 오늘밤에 통계보고가 완료된다던지 안내가 있어야하는데 그냥 빈화면을 보여주는건 좀 프로페셔널하지 않네요.
팝업 상단에 Click Performance탭을 열어볼게요. 이건 잘 나오고 있는 것 같아요. 제가 메일에 걸어놓은 링크 3개가 여기서 보이고 옆에 Total Clicks과 Total unique clicks가 같이 나오네요. Total Unique Clicks통계는 이메일별로 서로 다른 tracking parameter가 들어가기 때문이겠죠?
자 이렇게 해서 GHL을 통해서 이메일을 보내는 방법을 함께 알아보았습니다. 뭐 초보자입장에서 보기에 살짝 억지스러운 기능도 있었고, 제가 아직 마케팅 초보라서 좀 익숙하지 않은 부분도 있었습니다만 어떤 툴이든 처음 사용해 봤을때 기분이 좋고 뭔가 이거다 싶은 툴이 있는가 하면 어떤 툴은 사용할 수록 좀 아니지 않나 하는 느낌이 드는 툴이 있는데 GHL의 email campaign 사용후 저의 소감은 후자 쪽 입니다.
GHL은 정말 기능이 다양한데 심지어 MLM기능까지 갖추고 있고, 제품이 어딘가 허접해요. UI/UX 디자인이 너무 불친절하달까요…이런 툴들은 거의 매일 들어와서 사용하는 툴들인데 이런 UI/UX를 매일 겪어야하면 일 할 맛이 안날것 같아요. 여기 UI는 일단 Payment에 Shop을 세팅하는게 있다는 것도 뭔가 적합하지 않은 접근방향이고, 뭔가 개인 취향으로 사이트를 만든것 같아요.
어쩌면 서비스가 지식의 늪에 빠진걸 수도 있어요. 스스로 만들어낸 룰에 익숙해져서 그게 맞는 길이라고 착각하고 있는 거죠. 본인들은 자기들이 만든 서비스에 익숙해서 이게 처음 접하는 사람들에게 얼마나 낯선지 모르고 있는 것 같아요. 글쎄요 저는 GHL을 사용하면서 성격 이상한 사람이랑 억지로 대화해야하는 느낌을 받아서 기분이 별로 좋지 않았어요.
MLM으로 사람들을 유혹하는것도 뭔가 기발한거 같다가도 한편으로는 좀 양아치 같기도 하고..제가 뭐 대단히 이 업계에 뭘 아는 사람은 아니지만 그냥 일반 사용자의 경험으로 미루어 전적으로 제 “개인적인” 생각에 “현재로서” GHL은 크게 성장할 그릇은 못되어 보이네요. 그래도 기본적으로 필요한 기능들이 잘 갖추어져있고, 더욱 좋은 방향으로 계속 다듬어 나간다면 발전의 여지는 충분히 있는 좋은 툴입니다.
혹시 저의 개인적인 의견으로 인해 기분이 언짢으신 분이 계셨다면 사과드립니다. 저는 최대한 솔직하게 제 경험을 공유하고자 저의 솔직한 감정을 그대로 표현하려고 하는 편입니다. 그런데 오늘 알아본 GHL과 저는 잘 안맞아서 본의 아니게 언짢은 표현을 많이 했는데 보시는 분들의 마음을 불편하게 해드린것 같아서 죄송한 마음이 있지만!! 그래도 저는 앞으로도 그게 좋든 싫든 계속해서 매우 솔직하게 제가 느낀바를 여러분들과 공유할 예정입니다. 그러니까 앞으로도 마음 단단히 먹고 계속 지켜봐주세요^^;;;
이번시간에는 지난 시간에 만들었던 새로운 Group에 페이스북 이외에 또 다른 소셜미디어 계정들도 연결해 보도록 할게요. Sprout Social에 로그인하셔서 Dashbaord를 여시구요. 하단 Account and settings > Settings를 클릭해서 들어갈게요. 그리고 지난번과 마찬가지로 Groups & Social Profiles를 클릭합니다.
Group Filter를 이용하여 선택한 Group의 소셜계정만 볼 수 있답니다.
왼쪽 상단에 + Connect a profile이라는 링크를 누르세요.
그러면 어떤 소셜프로필을 연결할지를 물어봅니다.
이번에는 인스타그램 계정을 추가해볼게요. 위의 아이콘중에 Instagram아이콘 밑에 있는 Connect 버튼을 누르면 팝업이 뜨면서 인스타계정이 어떤 종류의 계정인지를 물어봅니다. 제가 가지고 있는 인스타 계정은 Business계정이라서 Business Profile을 선택합니다.
그러면 다음페이지에서 Business account를 연결하기 위해서 필요한 항목들을 보여줍니다. 1) 갖고 있는 계정을 비지니스 계정으로 전환했는지, 2) 로그인계정이 해당 페이지에 대한 Admin권한이 있는지 3) Facebook Page가 인스타그램 비지니스 계정과 연결이 되어있는지, 확인이 되었으면 Yes, all set버튼을 클릭합니다.
그러면 화면이 페이스북으로 전환되면서 팝업에 로그인을 요구하거나, 혹은 이미 로그인이 되어있다면 현재 로그인된 계정으로 진행을 하고 싶은지 확인을 요구합니다. Continue as 본인계정을 클릭하세요.
그러면 페이스북 페이지를 연결할때와 마찬가지로 또 한번 페이스북 페이지를 선택할 것을 요구합니다. 이때 연결해야 하는 페이지는 인스타그램 비지니스 계정과 연계가 되어있는 페이지를 선택하셔야합니다.
페이지를 선택하고 Continue버튼을 클릭하면 해당 페이지에 연계된 비지니스 계정들을 보여주는데요, 이중에 인스타그램에 연계된 계정을 선택합니다.
이제 드디어 해당 계정에 연계된 인스타그램 계정들이 보이네요. 나열된 인스타그램 계정중에 Sprout Social에서 관리하고자 하는 계정을 선택해주세요.
최종적으로 지금까지 내가 뭘 허용하는지 리뷰를 해주고, Sprout Social에 권한을 부여했을때 얻을 수 있는 불이익에 대해서도 명시를 해줍니다. Sprout Social은 계정삭제는 못하지만 그 밖에 거의 모든 권한을 가지게 되며, API를 이용해서 해당 계정을 관리할수도 있고, 때로는 외주회사나 다른 third partiy앱을 통해서 필요한 서비스를 제공할 수도 있다는 것을 알려주고 있습니다.
API로 Third Party Company랑 내 계정을 공유하는건 마음에 들지 않지만 동의를 하지 않으면 Sprout Social의 기능을 사용하지 못하기 때문에 Save를 할수 밖에 없습니다. 마음을 비우고 Sprout Social이 양아치가 아니길 바라면서 Save버튼을 누릅니다. 그러면 페북은 마지막으로 연결이 잘 되었다는 메세지를 보여줍니다.
Got it버튼을 누르면 Sprout Social로 화면이 넘어가고 계속해서 연결을 진행합니다. 어떤 권한으로 연결을 원하는지 물어봅니다. 저는 가장 권한이 막강한 Business Manager System User를 선택하겠습니다.
다음 단계는 인스타그램의 비지니스 매니저를 선택하는 단계입니다. 저는 하나밖에 안떠서 고민이 없는데 혹시 여러개의 계정을 가지고 계신분들은 필요에 따라 선택하세요.
마지막으로 아까 추가한 인스타그램 비지니스 계정 중 사용하고 싶은 계정을 선택합니다. 저는 한개 밖에 없으므로 바로 하나를 선택하도록 하겠습니다.
인스타계정을 선택하고 Next버튼을 누르면 해당 계정을 Sprout Social내의 팀원들 누구누구에게 권한을 허용할지를 선택하는 팝업을 띄워줍니다.
You섹션에서 나 자신에게는 당연히 Full Publising권한을 주고, Super Admin권한을 가진 사람들도 이 계정을 관리할 권한을 주도록 하겠습니다. 그리고 팀원은 저 혼자 뿐이지만 그래도 저를 또 선택하고 Full Publishing권한을 부여하겠습니다. Save Change버튼을 누르면 팝업이 닫히고 Dashboard에 해당 Group안에 Instagram계정을 보여주는데, Business Profile을 가지고 계신 분들은 handle옆에 (Instagram Business Profile)이라는 주석과 함께 Social Profile로 등록이 된것을 확인하실 수 있습니다.