OpenCart와 연동하는 방법
학습 내용
OpenCart를 Klaviyo에 연동하는 방법을 알아보세요. 이 단계를 완료하면 각 고객의 구매 및 웹사이트 활동을 기반으로 이메일을 맞춤 설정하고 타겟팅할 수 있어요. OpenCart 연동은 매시간 동기화됩니다.
시작하기 전에 알아야 할 것
Klaviyo는 OpenCart에서 카탈로그를 동기화하지 않으니 참고해 주세요.
OpenCart 연동 추가
Klaviyo의 OpenCart 연동을 추가하는 과정은 여러 단계로 이루어져 있으며, OpenCart와 Klaviyo 모두에서 작업을 진행해야 해요.
시작하려면 Klaviyo에서 현재 OpenCart 1.4.x 및 1.5.x를 지원해요. 여기에서 Klaviyo OpenCart 모듈을 다운로드하세요: https://www.klaviyo.com/media/downloads/OpenCartKlaviyo-1.1.0.tgz.
- 파일을 OpenCart 설치의 루트 디렉터리로 압축 해제하세요.
- OpenCart 관리자 섹션에 로그인한 다음 확장 > 모듈 페이지로 이동해 주세요.
- Klaviyo 모듈을 설치한 다음 Klaviyo 모듈에서 편집을 클릭하세요.
- OpenCart를 설치한 후 마지막으로 할 일은 `upload/index.php`의 끝에 다음 PHP 코드를 복사해 붙여넣는 거예요. `$response->getOutput();` 줄 바로 앞이에요:
// [Klaviyo] Save customer cart if it exists.
if ($registry->get('cart')->hasProducts()) {
$registry->get('load')->model('module/klaviyo');
if ($registry->get('customer')->isLogged()) {
$registry->get('model_module_klaviyo')->saveCustomerCart(
session_id(),
$registry->get('customer')->getId(),
$session->data['cart']
);
} else if (array_key_exists('guest', $session->data)) {
$registry->get('model_module_klaviyo')->saveGuestCart(
session_id(),
$session->data['guest'],
$session->data['cart']
);
}
} - Klaviyo에서 연동 탭을 선택합니다.
- 앱 살펴보기를 클릭하고 OpenCart를 검색한 다음 카드를 클릭하세요. 그런 다음 설치를 클릭합니다.
- 연동 설정 페이지로 이동합니다. 설정 페이지에서 OpenCart 사이트의 URL을 입력한 다음 OpenCart에 연결을 클릭하세요.
- 다음 페이지에서 Klaviyo OpenCart Module 아래의 API 키를 복사한 다음 OpenCart의 Klaviyo 모듈 설정에 붙여넣어 주세요. OpenCart 관리자에서 Klaviyo 모듈 설정을 저장해 주세요.
- 원하는 경우 새 OpenCart 고객을 Klaviyo 목록에 추가 설정을 선택한 다음, 드롭다운에서 목록을 선택해 주세요.
- Klaviyo로 돌아가서 설정 완료 를 클릭해 데이터 동기화를 시작하세요.
Klaviyo 온사이트 트래킹 설치
OpenCart에서 온사이트 활동을 트래킹하려면 먼저 계정에 로그인하고 왼쪽 하단의 계정 이름을 클릭한 다음 설정 > API 키로 이동해 Klaviyo 공개 API 키를 찾으세요. 공개 키는 6자입니다. 설치할 수 있는 온사이트 트래킹에는 두 가지 유형이 있습니다:
- 사이트에서 활성
이 지표는 식별 가능한 브라우저가 웹사이트를 방문할 때마다 추적됩니다. - 조회된 제품
이 지표는 식별 가능한 브라우저가 웹사이트의 제품 페이지를 볼 때마다 추적됩니다.
"사이트에서 활성" 트래킹 추가
이 지표는 식별 가능한 브라우저가 웹사이트를 방문할 때마다 트래킹돼요. 사이트에서 활성 활동 트래킹을 시작하려면:
- 모든 페이지에 포함되도록 다음 코드 스니펫을 기본 스토어 템플릿에 추가해 주세요. 이 스니펫은 사용 중인 다른 분석 스크립트와 함께 배치하거나, 닫는 </body> 태그 바로 앞에 배치해 주세요:
<script type="text/javascript" async="" src="https://static.klaviyo.com/onsite/js/PUBLIC_API_KEY/klaviyo.js></script>
<script type="text/javascript">
//Initialize Klaviyo object on page load
!function(){if(!window.klaviyo){window._klOnsite=window._klOnsite||[];try{window.klaviyo=new Proxy({},{get:function(n,i){return"push"===i?function(){var n;(n=window._klOnsite).push.apply(n,arguments)}:function(){for(var n=arguments.length,o=new Array(n),w=0;w<n;w++)o[w]=arguments[w];var t="function"==typeof o[o.length-1]?o.pop():void 0,e=new Promise((function(n){window._klOnsite.push([i].concat(o,[function(i){t&&t(i),n(i)}]))}));return e}}})}catch(n){window.klaviyo=window.klaviyo||[],window.klaviyo.push=function(){var n;(n=window._klOnsite).push.apply(n,arguments)}}}}(); </script> PUBLIC_API_KEY을(를) Klaviyo 계정의 공개 API 키로 바꿔 주세요.- 방문자나 고객이 스토어에서 계정을 만들 수 있다면, 첫 번째 스니펫 바로 아래에 다음 스니펫을 직접 추가하세요.
<script type="text/javascript">
var klaviyo = window.klaviyo || [];
{% if user.is_logged_in %}
klaviyo.identify({
$email: '{{ user.email }}',
$first_name: '{{ user.first_name }}',
$last_name: '{{ user.last_name }}'
});
{% endif %}
</script> - 웹사이트에 사용하는 템플릿 유형에 따라 {% if user.is_logged_in %} 및 {{ user.email }} 구문이 다를 수 있어요. 사용 가능한 템플릿 언어를 사용해 현재 페이지를 보고 있는 사람이 로그인했는지 확인하려고 해요. 로그인했다면 가능할 경우 이메일과 이름을 출력해야 해요. 이름 정보가 없다면 해당 두 줄과 이메일 $email 줄 뒤의 후행 쉼표를 제거해 주세요.
“Viewed Product” 트래킹 추가
탐색 이탈 플로우를 설정하거나 제품 탐색 데이터를 기반으로 세그먼트를 만들려면 “Viewed Product” 지표에 대한 JavaScript 이벤트 트래킹을 추가해야 해요.
- 제품 페이지 템플릿에 다음 스니펫을 추가해 주세요:
<script type="text/javascript">
var klaviyo = window.klaviyo || [];
klaviyo.track("Viewed Product", {
Title: '{{ product.title }}',
ItemId: {{ product.id }},
Categories: {{ category in product.categories|json }}, // The list of categories is an array of strings.
ImageUrl: '{{ product.image_url }}',
Url: '{{ product.url }}',
Metadata: {
Brand: '{{ product.brand }}',
Price: {{ product.price }},
CompareAtPrice: {{ product.compare_at_price }} // If you have a compare at price. You could also include this for a sale or special price.
}
});
</script> - 위 스니펫은
{{ }}플레이스홀더 구문을 사용하며, OpenCart 스토어에서는 다를 수 있어요. 중요한 점은 어떤 제품 페이지를 보고 있는지에 따라 제품 필드가 동적으로 렌더링된다는 거예요. - 사이트에 Viewed Product 트래킹이 구성되면, 알려진 방문자가 제품 페이지를 둘러보는 동안 Viewed Product 데이터가 Klaviyo 계정에 채워지기 시작해야 해요.
온사이트 트래킹 작동 방식
사이트에 Klaviyo 웹 추적을 추가하면, 이전에 최소 1회 방문하고 참여한 적이 있는 "알려진 브라우저"(즉, 알려진 브라우저)의 탐색 활동만 추적할 수 있어요. 웹 추적을 위해 사이트 방문자를 식별할 수 있는 주요 방법은 2가지가 있어요:
- 누군가 어느 시점에서 Klaviyo 이메일을 통해 귀하의 웹사이트로 이동한 경우
- 누군가 어느 시점에서 Klaviyo 양식을 통해 구독/옵트인한 경우
Klaviyo는 익명 브라우저를 추적하지 않아요.
Klaviyo 동기화 모니터링
OpenCart 스토어에서 모든 과거 고객 및 주문 데이터를 동기화하는 데 걸리는 시간은 스토어 규모에 따라 달라요. 이 과거 동기화가 완료되면 활성화된 연동 아래의 OpenCart 연동 주위에 녹색 테두리가 표시돼요.
연동을 확인하려면:
- 애널리틱스 아래에 있는 계정의 지표 탭으로 이동하세요. 여기에서 필터를 적용하여 모든 OpenCart 지표를 볼 수 있어요. OpenCart의 Placed Order 지표를 찾은 다음 Activity Feed 아이콘을 클릭합니다. 연동에서 데이터 동기화를 시작했다면, 여기에서 주문 완료 이벤트가 채워지기 시작할 거예요.
- 모든 과거 주문 데이터를 자동으로 동기화해요. 이를 확인하려면 Klaviyo에서 특정 날짜의 이벤트 수를 OpenCart 인터페이스의 수와 비교하고, 일치하는지 확인하면 돼요.
- 예를 들어 주문 완료 지표를 살펴볼 때는 어제의 데이터 포인트에 마우스를 올리거나 차트 아래의 데이터 표를 확인해 어제 보고된 주문 수를 확인할 수 있어요.
- 해당 숫자를 OpenCart에 어제 저장된 값과 비교하면 정확히 일치하는 것을 확인할 수 있습니다. 일치하지 않는다면 문제는 Klaviyo 계정의 시간대가 설정한 OpenCart 시간대와 일치하지 않기 때문일 가능성이 큽니다.
- 계정의 표준 시간대를 확인하거나 업데이트하는 방법은 다음과 같습니다.
- 왼쪽 하단에서 조직 이름을 클릭합니다.
- 설정을 선택합니다.
- 조직 탭으로 이동합니다.
OpenCart에서 동기화된 데이터
- 판매 및 주문 데이터
구매한 제품(제품 세부정보 및 이미지 포함). - 고객 정보
이름, 성, 위치 및 고객 그룹. - 결제 시작 데이터
장바구니 이탈 이메일을 트리거하는 데 사용돼요. 통합할 때 추가한 PHP 코드 조각으로 이 기능이 활성화돼요. - 주문 처리됨 데이터
주문이 배송되는 시점을 추적하는 데 사용해요. - 온사이트 트래킹
사람들이 웹사이트를 방문할 때
OpenCart 지표를 확인하려면 Klaviyo에서 애널리틱스 > 지표 로 이동한 다음 OpenCart로 필터링할 수 있어요.
기본적으로 Klaviyo는 Placed Order 및 Fulfilled Order 지표에 대해 다음 상태를 동기화해요:
- 주문 완료: 보류 중, 처리됨, 처리 중, 배송됨, 완료
- Fulfilled Order: 배송됨, 완료