Klaviyo のグループ メンバーシップ API を使用してオンサイトコンテンツをパーソナライズする方法
このページで学べること
klaviyo JavaScriptオブジェクトのgetGroupMembershipメソッドを使用して、識別済みの訪問者がリストまたはセグメントに所属しているかを確認し、その結果を使ってウェブサイトをパーソナライズする方法をご確認ください。これには、klaviyoオブジェクトを読み込み、確認するリストまたはセグメントIDの配列を渡す必要があります。
アドバンストKDP は Klaviyo の標準マーケティングアプリケーションには含まれておらず、関連機能にアクセスするにはサブスクリプションが必要です。このプランの購入方法については、請求ガイドをご覧ください。
始める前に
この機能はアドバンストKDPに契約したお客様のみに提供され、klaviyoオブジェクトを通じてのみ利用できます。klaviyo JavaScript オブジェクトとその機能の詳細については、Klaviyo オブジェクトの概要をご覧ください。
ウェブサイトのコードにアクセスする必要があります。JavaScript、スニペットのインストール、またはサイトへのパーソナライズの適用に関してサポートが必要な場合は、開発者に相談してください。
グループメンバーシップAPIでは、Klaviyoが訪問者のブラウザを識別し、それをプロファイルと照合する必要があります。識別されていない訪問者については、リストまたはセグメントのメンバーシップを返すことはできません。Klaviyoが訪問者を識別する一般的な方法には、次のようなものがあります。
- 誰かが Klaviyo Email からウェブサイトへのクリックスルーを行った場合
- Klaviyo のフォームから購読した場合
- サイトでカスタムトラッキングを使用して、ログイン時にユーザーをKlaviyoで識別する場合
グループメンバーシップAPIの使用に関するKlaviyoの動画をご覧ください。
Klaviyo.js をインストールし、Klaviyo オブジェクトを読み込む
まず、まだの場合はKlaviyo.jsをインストールしてください。Klaviyo.jsは、Klaviyoのサイトの訪問JavaScriptとも呼ばれ、klaviyoオブジェクトをサポートします。Eコマース外部連携がサイトにKlaviyo.jsをインストールしている場合、再度インストールする必要はありません。それ以外の場合は、klaviyoオブジェクトを使用する前に手動でインストールしてください。
ページ読み込み時にすぐ klaviyo オブジェクトを使用するには、(上記のとおり Klaviyo.js をインストールすることに加えて)サイトに以下のスニペットを手動でインストールすることをおすすめします。klaviyo オブジェクトは、ページごとに 1 回だけ読み込む必要があります。
klaviyo オブジェクトを読み込むには:
!(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);
});
}
}
})();
登録リストまたはセグメントのメンバーシップを確認する
オンサイトのパーソナライズのために、klaviyo JavaScript オブジェクトの getGroupMembership メソッドを使用するには:
- コード内で、メンバーシップを確認したい登録リストまたはセグメントのIDを選択します。1回の呼び出しあたり、合計で最大50件のIDを渡すことができます。
- Klaviyoフォームまたは他の識別方法を使用して、ウェブサイト上の訪問者を識別します。コード内でklaviyo.identifyを呼び出す場合は、メンバーシップを確認する前に完了するまで待機してください。
- メンバーシップを確認するリスト ID またはセグメント ID の配列を使用して、次の形式で呼び出しを行ってください:
klaviyo.getGroupMembership(['listID1', 'listID2', 'listID3'])このメソッドはPromiseを返し、識別された訪問者が所属する、入力配列内のIDのみを含む配列に解決されます。以下に示すように、.then()を使用して結果を処理するか、async function内で結果をawaitしてください。空の配列は、訪問者が提供されたリストまたはセグメントのいずれにも所属していない、訪問者を識別できなかった、50個を超えるIDを渡した、またはリクエストが失敗したことを意味する場合があります。結果が空であるだけでは、これらのケースを区別できません。
返されたリストIDとセグメントIDをウェブサイトのコード、またはウェブパーソナライゼーションツールで使用して、関連性の高い商品やコンテンツなどを選択します。結果が利用可能になった後にページを変更するロジックを追加し、一致するIDが返されない場合でもデフォルトのコンテンツを利用できるようにしてください。
コード例
この例では、複数のセグメントへの所属を確認します。プレースホルダー文字列をセグメントIDに置き換えてください。.then()内のコード結果が利用可能になった後に実行されます。指定された箇所にサイトのパーソナライズコードを追加してください。
klaviyo.getGroupMembership([
'VIPSegmentID',
'UnEngagedSegmentID',
'DogLoversSegmentID'
]).then((customerSegments) => {
if (customerSegments.includes('VIPSegmentID')) {
// Add code to display your VIP content here.
}
});サイトのパフォーマンスへの影響
Klaviyoはウェブパーソナライゼーションスクリプトを非同期で読み込みます。メンバーシップリクエストが完了するまで、サイトのデフォルトコンテンツを利用可能な状態にしておき、結果を受け取った後にパーソナライゼーションを適用します。
所属のレスポンスはブラウザでキャッシュできるため、同じ訪問者とIDに対する繰り返しのリクエストでは、キャッシュされたレスポンスを再利用できます。別のリクエストやキャッシュの期限切れにより、別のAPI呼び出しが必要になる場合があるため、結果が所属の変更をすぐに反映するとは限りません。
達成できること
これで、Klaviyo JavaScript オブジェクトをウェブ パーソナライゼーション ツールで使用したり、セグメントまたはリストのメンバーシップに基づいてサイト上のコンテンツをパーソナライズしたりできます。