カスタムオブジェクトに関するよくある質問
このページで学べること
Klaviyo のカスタム オブジェクトに関連するよくある質問をご覧ください。以下のリソースに質問が見当たらない場合は、コミュニティフォーラム からお問い合わせください。
オブジェクトに関する一般的な質問
オブジェクトを作成するには開発者が必要ですか?
APIを通じてカスタムデータを送信するには、開発者が必要です。Klaviyoでデータソースを作成し、オブジェクトを設定できます。
Klaviyo のフォームまたは CSV アップロードを使用してカスタムオブジェクトを作成できますか?
KlaviyoフォームとCSVアップロードでは、カスタムオブジェクトレコードは送信されません。APIを使用してカスタムデータを送信し、その後Klaviyo内のオブジェクトにマッピングしてください。
カスタム オブジェクトとプロファイルプロパティまたはイベントは、いつ使い分けるべきですか?
カスタムオブジェクトが表すカテゴリとプロファイルの間に多対 1 の関係がある場合は、カスタムオブジェクトを使用してください。たとえば、顧客のペットに関する情報を保持したい場合に、顧客が複数のペットを飼っている可能性があるなら、これらをカスタムオブジェクトとして表す方が、プロファイルプロパティやイベントよりもはるかに適しています。
メンバーシップステータスのように、プロファイルが一度に持てるステータスが1つだけの項目をトラッキングする場合は、プロファイルプロパティのほうが適しています。ただし、プロファイルのメンバーシップに関するほかの詳細も保存したい場合は、オブジェクトのほうが適しています。
メールの受信者がメールを開封した回数など、広範囲のものをトラッキングする場合は、イベントの使用をおすすめします。
作成後にカスタムオブジェクトを更新できますか?
はい、必須ではないプロパティは、アカウントのオブジェクトプロパティ上限まで追加できます。詳細については、カスタムオブジェクトの更新をご覧ください。
イベントを送信するのと、カスタムオブジェクトのプロパティを更新するのとでは、どちらを行うべきですか?
イベントはフローを迅速にトリガーすることを目的としており、タイムリーで関連性の高いメッセージを送信できます。オブジェクトのステータスが変わり、その結果としてメッセージをトリガーしたい場合は、新しい情報でオブジェクトを更新し、フローをトリガーするためのイベントを送信してください。
イベント トリガー フロー内のオブジェクト情報を使用して、テンプレートをパーソナライズできます。これを実現する方法は 2 つあります。
- イベントデータに必要なプロパティを含めてから、テンプレートでそれらを参照してください。たとえば、イベントにpet_nameプロパティが含まれている場合は、
{{ event.pet_name }}を使用します。これは、適時性が重要な場合に効果的です。 - オブジェクトのIDをイベントデータに含めてから、テンプレート内でオブジェクトを取得します。Nameプロパティを持つPetという名前のオブジェクトと、pet_idという名前のイベントプロパティがある場合は、
{% customobject event.pet_id object_type_title="Pet" as pet %}{{ pet.Name }}{% endcustomobject %}を使用します。これらの名前は、ご自身のオブジェクト名、プロパティ名、イベントフィールド名に置き換えてください。オブジェクトの更新が利用可能になるまでに時間がかかる場合があるため、オブジェクトに最新の値が反映される前にフローのメッセージが送信されることがあります。
オブジェクト データ送信に関する質問
カスタムオブジェクトのデータ送信を開始するにはどうすればよいですか?
- API を使用して新しいデータソースを作成します。
- データソースレコードの一括作成にあるJSONの例を使用して、データ構造を定義してください。
- API 経由でデータソースのレコードを Klaviyo に送信します。
- 作成をクリックして、そのデータソースを使用してカスタムオブジェクトを作成してください。一意のオブジェクトIDを選択し、使用するプロパティをマッピングしてください。
- メールアドレスや電話番号など、データ内のプロファイル識別子をマッピングして、カスタムオブジェクトとプロファイルの関係を作成します。
- マッピングを確認し、オブジェクトを作成をクリックしてから、確認のためにもう一度オブジェクトを作成をクリックしてください。
データソースはどのように作成され、どのように使用されますか?
カスタムオブジェクトはデータソースから作成されます。オブジェクトビルダーで、データソースのドロップダウンから新しいデータソースを作成を選択することでデータソースを作成できます。あるいは、開発者がカスタムオブジェクトAPIを使用して作成することもできます。
APIを通じてデータソースを作成すると、KlaviyoはAPIリクエストへのレスポンスの一部として一意の識別子を返します。これにより、Klaviyoはデータソースを識別できます。特に、アカウントに複数のデータソースがある場合に役立ちます(例:ビジネスでブランドが依存している各カスタム外部連携、データウェアハウス、またはカスタムのサードパーティ外部連携ごとに1つ)。
この一意の識別子を使用して、開発者は Klaviyo の API を介してデータソースレコードを作成できます。
データはどのようにフォーマットすればよいですか?
開発担当者は、JSON形式のデータをKlaviyoに送信する必要があります。複数のテキスト値を持つプロパティの場合は、文字列の配列を送信し、リスト(テキスト)としてマッピングしてください。これらの値は、セグメントおよびフローでフィルタリングできます。フィルタリングの詳細については、セグメント条件のリファレンスをご覧ください。
カスタムオブジェクトでサポートされている データ型:
- テキスト
- 数値(整数)
- 数値(小数)
- タイムスタンプ:日付と時刻はUTCで保存されます。2025-04-03などのタイムゾーンのない値は、2025-04-03 00:00:00 UTCとして扱われます。2025-04-03T00:00:00+03:00のようにオフセットを含む値は、2025-04-02 21:00:00 UTCに変換されます。
- ブール型
- リスト(テキスト)
リスト(テキスト)は、[「dog」、「cat」]などの文字列の配列をサポートします。数値の配列、ネストされたリスト、またはオブジェクトはサポートされません。データソースレコードAPIのペイロード例については、データソースレコードの一括作成を参照してください。
電話番号を送信する場合は、E.164 形式である必要があります。日付を送信する場合は、許容されるタイムスタンプ形式のいずれかである必要があります。
カスタム オブジェクトのデータ上限はどのくらいですか?
マッピングされた各カスタムオブジェクトプロパティには最大2 KBを含めることができ、マッピングされた各カスタムオブジェクトレコードには最大8 KBを含めることができます。
ネストされたデータでマッピングできますか?
カスタムオブジェクトに使用するプロパティをネストせずに、JSONオブジェクトを定義することをおすすめします。ネストされたデータの場合は、データソースプロパティのドロップダウンからプロパティを選択するか、JSONパスを手動で入力してください。テキスト値のリストの場合は、リスト自体をリスト(テキスト)としてマッピングしてください。配列から単一の項目をマッピングするには、1番目の項目なら[0]、2番目の項目なら[1]のように、その位置を使用してください。
1 つのプロファイルに複数の識別子を関連付けできますか?
はい。2 つ以上のプロファイル識別子(例:メールアドレスと電話番号)を使用してカスタムオブジェクトのレコードをプロファイルに関連付ける場合は、どちらか一方の値が null であっても、すべての同期に両方のプロパティを含めてください。
フローでオブジェクトを使用する際の質問
オブジェクトでフローがトリガーされず、イベントの object id がない場合でも、メッセージングをパーソナライズできますか?
はい、メッセージをパーソナライズする際に [オブジェクトフィルター] を使用して適切なオブジェクトを見つけることができます。
オブジェクトがフローをトリガーした場合、フロー メッセージをプレビューできますか?
はい。カスタムオブジェクトに基づく日付トリガーのフローで、フローを有効化する前に{{ object }}データを使用するメッセージをプレビューできます。
メールをプレビューするには:
- カスタムオブジェクトに基づく日付トリガーのフロー内のメールを開き、次にメールエディターでプレビューをクリックします。
- そのオブジェクトのレコードに関連付けられているプロファイルを選択し、パーソナライズされたメッセージを確認してください。
プレビューでは、選択したプロファイルに関連付けられているサンプルオブジェクトが使用されます。利用可能なものがない場合は、同じオブジェクトタイプのサンプルレコードが使用されます。表示されている値を確認してください。プレビューでは、どのレコードがフローをトリガーするかは確認できません。使用可能なレコードがない場合、プレビューできるオブジェクトデータはありません。
Webhook や Klaviyo コードなどのフローアクションを使用して、オブジェクトを更新できますか?
現時点では、まず元のデータ ソースを更新し、その後、許可されている形式で改訂したオブジェクトを Klaviyo に送り返すことを推奨します。この 2 つのシステムの同期がずれると、システムから古いレコードを Klaviyo に送り返してしまい、元の値に戻ってしまうリスクがあります。