OpenCart との連携方法
このページで学べること
OpenCart を Klaviyo と外部連携する方法をご覧ください。これらの手順を完了すると、各顧客の購入およびウェブサイトでのアクティビティに基づいて、メールをパーソナライズし、ターゲットを絞れるようになります。OpenCart の外部連携は、1 時間ごとに同期されます。
始める前に
Klaviyo は OpenCart からカタログを同期しない点にご注意ください。
OpenCart 外部連携を追加する
OpenCart 用の Klaviyo 外部連携を追加するプロセスは複数のステップで構成されており、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 の管理セクションにログインし、Extensions > Modules ページに移動します。
- 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 moduleの下にある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 アカウントの Public 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 }} の構文が異なる可能性があります。利用可能なテンプレート言語を使用して、現在のページを閲覧している人がログインしているかどうかを確認します。ログインしている場合は、可能であればメールアドレスと名前を出力してください。名前情報がない場合は、その2行と、メールアドレス$email行の後ろにある末尾のカンマを削除してください。引用符によってスニペットが壊れないように、JavaScript用にメールアドレスと名前の値をエスケープしてください。
「商品閲覧」のトラッキングを追加
閲覧放棄フローを設定するか、商品閲覧データに基づいてセグメントを作成する場合は、「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向けにテキスト値をエスケープしてください。ストアでcompare-at価格フィールドを使用していない場合は、それを削除してください。 - サイトで「商品閲覧」のトラッキングが設定されると、既知の訪問者が商品ページを閲覧するにつれて、Klaviyo アカウントに「商品閲覧」データが入力され始めます。
オンサイトトラッキングの仕組み
Klaviyoは、訪問者のブラウザが識別されると、サイト上のアクティビティをプロファイルに関連付けます。以前の訪問は必須ではありません。ストアは、次の方法で訪問者を識別できます。
- 過去のいずれかの時点で Klaviyoを使って送信されたメールをクリックして、ウェブサイトにアクセスしたことがある場合
- 過去のいずれかの時点で Klaviyo のフォームから購読/オプトインした場合
- ユーザーがストアにログインし、上記の識別スニペットが顧客情報をKlaviyoに送信する場合
Anonymous backfillが有効な場合、Klaviyoは訪問者が識別される前に訪問者のブラウザ内でサイト上のアクティビティを保存し、後からそのプロファイルに追加できます。匿名訪問者のアクティビティバックフィルの詳細をご覧ください。
Klaviyo 同期を監視する
OpenCartストアから顧客データと注文データの履歴データを同期するのにかかる時間は、ストアの規模によって異なります。進捗を確認するには、外部連携を開いてOpenCartを選択し、データタブを開きます。履歴データセクションには同期の進行状況が表示され、履歴同期が完了したことが確認できます。
外部連携を確認するには:
- [アナリティクス] > [メトリック]に移動し、OpenCartでフィルタリングしてください。注文の確定を開き、[アクティビティフィード]タブを選択してください。外部連携がデータの同期を開始している場合、ここに注文の確定イベントが表示され始めます。
- Klaviyoは、有効な顧客メールアドレスを持ち、以下に示す注文ステータスの履歴注文を自動的にインポートします。過去データの同期が完了したら、特定の日の「注文の確定」イベント数を、OpenCart内の対応する注文数と比較してください。
- たとえば、注文の確定のチャートタブを開き、日別と合計を選択し、昨日を含む日付範囲を選択してください。昨日のデータポイントにマウスオーバーするか、チャートの下にある表を確認して、報告された注文数を確認してください。
- その数を、同じ日のOpenCartの注文のうち、上記のメールとステータスの要件を満たすものと比較してください。件数が異なる場合は、同期が完了していること、および両方のビューで同じタイムゾーンが使用されていることを確認してください。
- アカウントのタイムゾーンを確認または更新するには:
- 左下隅にあるアカウント名をクリックします。
- [設定] を選択します。
- アカウントタブに移動し、タイムゾーンを見つけてください。
- 必要に応じて正しいタイムゾーンを選択し、保存をクリックします。
OpenCart から同期されたデータ
- 売上データと注文データ
どの製品が購入されたか(製品の詳細と画像を含む)。 - 顧客情報
メールアドレス、名、姓、電話番号、顧客グループ、OpenCartストア、およびニュースレターのオプトイン情報。 - チェックアウトの開始データ
カゴ落ちメールのトリガーとして使用されます。これには、連携時に追加したPHPコードスニペットと、ログイン中の顧客に関連付けられたカート、または有効なメールアドレスを含むゲストチェックアウトの詳細が必要です。 - フルフィルメント済み注文データ
注文が発送されたタイミングを追跡するために使用されます。 - オンサイトトラッキング
別途インストールするJavaScriptスニペットによって収集される「サイトの訪問」と「商品の閲覧」のアクティビティ。これらのイベントは、OpenCartの注文およびチェックアウトの同期とは別のものです。
OpenCartメトリックを表示するには、Klaviyoで アナリティクス>メトリック に移動し、OpenCartでフィルターできます。

デフォルトでは、Klaviyo は「Placed Order」および「Fulfilled Order」メトリックについて、次のステータスを同期します:
- 注文の確定: 保留、処理済み、処理中、発送済み、完了
- 注文処理済み:発送済み、完了
その他のリソース
- 外部連携の同期頻度のリファレンス
特定の Klaviyo 外部連携から同期されるデータと、同期が実行される頻度について確認してください。これらの外部連携は、E コマースプラットフォーム、メール送信プロバイダー、その他のデータ外部連携別に整理しています。
- Klaviyo's Agency Partners