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 모듈에서 편집을 클릭하세요.
- 다음 PHP 코드를
upload/index.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를 검색한 다음 카드를 클릭하세요. 그런 다음 설치를 클릭합니다.
- 스토어 URL에 OpenCart 사이트 URL을 입력한 다음 OpenCart에 연결을 클릭해 주세요.

- 다음 페이지에서 Klaviyo OpenCart 모듈 아래의 API 키를 복사한 다음 OpenCart의 Klaviyo 모듈 설정에 붙여넣어 주세요. OpenCart 관리자에서 Klaviyo 모듈 설정을 저장해 주세요. 설정을 완료하기 전에 이 키를 안전하게 보관해 주세요, 이후에는 Klaviyo에서 다시 표시되지 않아요.

- Klaviyo에서 새 OpenCart 고객을 Klaviyo 리스트에 추가를 선택하고, 주문 데이터가 동기화될 때 OpenCart 뉴스레터 수신에 동의한 고객을 추가하려면 리스트를 선택해 주세요. 이 설정을 사용해도 Klaviyo에서 마케팅 메시지를 구독하게 되지는 않아요. 고객을 리스트에 추가하지 않으려면 체크박스를 선택 해제해 주세요.
- Klaviyo로 돌아가서 설정 완료 를 클릭해 데이터 동기화를 시작하세요.
Klaviyo 온사이트 트래킹 설치
OpenCart에서 온사이트 활동을 트래킹하려면, 먼저 왼쪽 하단에서 계정 이름을 클릭한 다음 설정 > API 키로 이동해 Klaviyo 공개 API 키를 찾으세요. 공개 API 키 / 사이트 ID 아래에 있는 키를 복사하세요. 공개 키는 6자 길이이며, 위에서 사용한 OpenCart 모듈 키와는 달라요. 설치할 수 있는 온사이트 트래킹에는 2가지 유형이 있어요:
- 사이트에서 활성
이 지표는 식별 가능한 브라우저가 웹사이트를 방문할 때마다 추적됩니다. - 조회된 제품
이 지표는 식별 가능한 브라우저가 웹사이트의 제품 페이지를 볼 때마다 추적됩니다.
"사이트에서 활성" 트래킹 추가
이 지표는 식별 가능한 브라우저가 웹사이트를 방문할 때마다 트래킹돼요. 사이트에서 활성 활동 트래킹을 시작하려면:
- 모든 페이지에 포함되도록 다음 코드 스니펫을 기본 스토어 템플릿에 추가해 주세요. 이 스니펫은 사용 중인 다른 분석 스크립트와 함께 배치하거나, 닫는 </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 키로 바꿔 주세요.- 방문자 또는 고객이 스토어에서 계정을 만들 수 있다면, 다음 예시를 OpenCart 템플릿 언어에 맞게 조정한 다음 첫 번째 스니펫 바로 아래에 직접 추가해 주세요. 게시하기 전에 예시 고객 필드를 스토어의 로그인한 고객 데이터로 바꿔 주세요:
<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 줄 뒤에 있는 후행 쉼표를 제거해 주세요. 따옴표로 인해 스니펫이 깨지지 않도록 이메일 및 이름 값을 JavaScript용으로 이스케이프 처리해 주세요.
“Viewed Product” 트래킹 추가
탐색 이탈 플로우를 설정하거나 제품 탐색 데이터를 기반으로 세그먼트를 만들려면 “Viewed Product” 지표에 대한 JavaScript 이벤트 트래킹을 추가해야 해요.
- 제품 페이지 템플릿에서 기본 온사이트 트래킹 스니펫과 초기화 코드 뒤에 다음 예시를 추가해 주세요. 게시하기 전에 자리 표시자를 OpenCart 템플릿 언어에 맞게 조정해 주세요:
<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 템플릿 언어를 사용해, 보고 있는 제품에 맞게 동적으로 렌더링되는 값으로 이를 바꿔 주세요. 카테고리는 문자열 배열로, 가격은 숫자로 렌더링하고, 따옴표가 포함된 이름 때문에 스니펫이 깨지지 않도록 JavaScript용으로 텍스트 값을 이스케이프해 주세요. 스토어에서 비교 기준 가격 필드를 사용하지 않는다면 해당 필드를 삭제해 주세요. - 사이트에 Viewed Product 트래킹이 구성되면, 알려진 방문자가 제품 페이지를 둘러보는 동안 Viewed Product 데이터가 Klaviyo 계정에 채워지기 시작해야 해요.
온사이트 트래킹 작동 방식
Klaviyo는 방문자의 브라우저가 식별되면 온사이트 활동을 프로필에 연결해요. 이전에 방문한 적이 없어도 돼요. 스토어는 다음과 같은 방법으로 방문자를 식별할 수 있어요:
- 누군가 어느 시점에서 Klaviyo 이메일을 통해 귀하의 웹사이트로 이동한 경우
- 누군가 어느 시점에서 Klaviyo 양식을 통해 구독/옵트인한 경우
- 누군가 스토어에 로그인하고 위의 식별 스니펫이 고객 정보를 Klaviyo로 전송하면
익명 백필이 활성화되어 있으면 Klaviyo가 방문자가 식별되기 전에 방문자의 브라우저에 온사이트 활동을 저장한 다음, 이후 해당 활동을 방문자의 프로필에 추가할 수 있어요. 익명 방문자 활동 백필에 대해 자세히 알아보세요.
Klaviyo 동기화 모니터링
OpenCart 스토어에서 과거 고객 및 주문 데이터를 동기화하는 데 걸리는 시간은 스토어 규모에 따라 달라요. 진행 상황을 확인하려면 연동을 열고 OpenCart를 선택한 다음 데이터 탭을 여세요. 과거 데이터 섹션에서 동기화 진행 상황을 확인하고 과거 동기화가 완료되었는지 확인할 수 있어요.
연동을 확인하려면:
- 분석 > 지표로 이동한 다음 OpenCart로 필터링하세요. 주문 완료를 열고 활동 피드 탭을 선택하세요. 연동에서 데이터 동기화가 시작되면, 여기에서 주문 완료 이벤트가 채워지기 시작해요.
- Klaviyo는 유효한 고객 이메일 주소가 있는 과거 주문과 아래에 나열된 주문 상태를 자동으로 가져와요. 과거 동기화가 완료되면 특정 날짜의 Placed Order 이벤트 수를 OpenCart의 해당 주문 수와 비교해 보세요.
- 예를 들어, 주문 완료의 차트 탭을 열고 일별과 총합을 선택한 다음, 어제를 포함하는 날짜 범위를 선택해 주세요. 보고된 주문 수를 확인하려면 어제의 데이터 포인트 위에 마우스를 올리거나 차트 아래 표를 확인해 주세요.
- 해당 수를 위의 이메일 및 상태 요구 사항을 충족하는 같은 날짜의 OpenCart 주문과 비교하세요. 수가 다르면 동기화가 완료되었는지, 그리고 두 보기에서 동일한 시간대를 사용하는지 확인하세요.
- 계정의 표준 시간대를 확인하거나 업데이트하는 방법은 다음과 같습니다.
- 왼쪽 하단에 있는 계정 이름을 클릭해 주세요.
- 설정을 선택합니다.
- 계정 탭으로 이동한 다음 시간대를 찾아보세요.
- 필요한 경우 올바른 시간대를 선택한 다음 저장을 클릭해 주세요.
OpenCart에서 동기화된 데이터
- 판매 및 주문 데이터
구매한 제품(제품 세부정보 및 이미지 포함). - 고객 정보
이메일 주소, 이름, 성, 전화번호, 고객 그룹, OpenCart 스토어 및 뉴스레터 수신 동의 정보. - 결제 시작 데이터
장바구니 이탈 이메일을 트리거하는 데 사용돼요. 이를 위해서는 통합할 때 추가한 PHP 코드 조각과, 로그인한 고객과 연결된 장바구니 또는 유효한 이메일 주소가 포함된 게스트 결제 세부 정보가 필요해요. - 주문 처리됨 데이터
주문이 배송되는 시점을 추적하는 데 사용해요. - 온사이트 트래킹
별도로 설치하는 JavaScript 스니펫에서 수집된 사이트 내 활성 및 제품 조회 활동이에요. 이러한 이벤트는 OpenCart 주문 및 결제 동기화와는 별개예요.
OpenCart 지표를 보려면 Klaviyo에서 애널리틱스 > 지표 로 이동한 다음, OpenCart로 필터링할 수 있어요.

기본적으로 Klaviyo는 Placed Order 및 Fulfilled Order 지표에 대해 다음 상태를 동기화해요:
- 주문 완료: 보류 중, 처리됨, 처리 중, 배송됨, 완료
- Fulfilled Order: 배송됨, 완료
추가 자료
- 연동 동기화 빈도 참조
특정 Klaviyo 연동에서 어떤 데이터가 동기화되며 동기화가 얼마나 자주 실행되는지 알아보세요. 이러한 연동을 전자상거래 플랫폼, ESP(이메일 서비스 공급업체), 기타 데이터 연동별로 정리해 두었어요.
- Klaviyo's Agency Partners