フローメールで動的ブロックを構築する方法
このページで学べること
動的テーブルのブロックを使用して、メトリックによってトリガーされるフローに商品情報やその他のイベント情報を追加する方法を学びましょう。この記事では、カゴ落ちリマインダーで「カートに残された商品」を表示するを例を用いて、動的ブロックを作成する手順を紹介します。
Klaviyo にあらかじめ組み込まれている E コマース連携(例:Shopify、BigCommerce、Magento、WooCommerce)を使用している場合、これらのブロックを手動で構築する必要はありません。代わりに、フローライブラリで、テンプレートとして使うのに最適な、あらかじめ用意されたフローメールを検索してください。
メトリックによってトリガーされるフローでは、そのフローのトリガーとなったイベントに基づいて、メール内容をパーソナライズできます。例えば、顧客がチェックアウトを開始した場合、カゴ落ちメールで商品画像や価格を表示し、カートに戻って購入を完了するよう促すことができます。動的テーブルのブロックは、カート内の各商品に関する情報を順番に表示します。
始める前に
作業を開始する前に、使用可能なイベントデータが存在することを確認してください。[アナリティクス] > [メトリック] に移動すると、Klaviyo にあるイベントを見ることができます。
イベントデータやプロファイルデータをメールで活用することに慣れていない場合は、まずはメッセージのパーソナライズに関するレファレンスをご覧ください。
また、Klaviyo におけるデータ型、特にリスト(配列)について理解しておくと役に立ちます。配列とは、同じ構造を持つ複数のデータを保存するための形式です。例えば、顧客のカート内の商品は、チェックアウト開始イベント内で 1 つの配列として保存されます。items配列には、注文された各商品につき 1 つのエントリが含まれ、各エントリにはその商品の詳細(商品名、画像 URL、数量、サイズ、色など)が含まれます。
どのようなフローに動的テーブルのブロックを使用できますか?
動的テーブルのブロックには、顧客が何らかの形でやりとりした(購入した、カートに残したなど)1 つ以上の商品に関する情報が含まれます。動的テーブルブロックは、商品の数が顧客の行動によって変動するイベントで特に便利です。動的テーブルのブロックは、以下のイベントをトリガーとするフローで役立ちます。
- 注文の確定(注文確認フロー)
- チェックアウト開始(チェックアウト落ちフロー)
- 注文発送済み(配送確認フロー)
- 注文キャンセル(キャンセル確認)
- 1 つ以上の商品のリストを含むその他のイベント
動的テーブルのブロックは、イベントに常に 1 つの商品しか含まれない場合には適していません。例えば、以下のようなイベントをトリガーとする場合、代わりに静的テーブルブロックを使用する必要があります。
- カートに追加(チェックアウト落ちフロー)
- 商品閲覧(閲覧放棄フロー)
単一商品イベント用の静的テーブルブロックの作成方法についてはこちらをご覧ください。
1. フローを作成する
フローの作成から始めます。
- Klaviyo の [フロー] タブに移動します。
- [フローを作成] をクリックします。
- [独自に作成] をクリックします。
- フローに名前を付け、[フローを作成] をクリックします。
- [トリガーを選択] にある[メトリック] をクリックします。
- トリガーメトリックの送信元となる連携サービス(例:Shopify)を選択します。
- フローのトリガーとなるイベントを選択します。この例では、「チェックアウト開始」をイベントとして使用します。これにより、カゴ落ちブロックを構築するのに必要なイベントデータにアクセスできるようになります。
- [完了] をクリックします。
- フローにメールアクションをドラッグ&ドロップします。
2. フローメールに動的テーブルを追加する
次に、フローメールに動的テーブルを追加します。
- 上記手順 9 でフローに追加したメールブロックをクリックします。
- [テンプレート] の横にある [テンプレートを選択] をクリックします。
- ベースとして使用するテンプレートを選びます。
- テーブルブロックをメールにドラッグします。
- [スタイル] > [動的] をクリックして、テーブルを動的ブロックに変換します。[行コレクション] と [行エイリアス] の 2 つのフィールドが表示されます。これらはステップ 3 と 4 で入力します。
- [コンテンツ] タブに戻り、列のタイプを調整します。
- 一般的にカゴ落ちメッセージでは、左側にカゴに残された商品の画像、右側にその商品の詳細が表示されます。左側または右側の行セレクターをクリックし、[テキスト] または [画像] をクリックして、セルの種類を変更します。

3. 行コレクションを指定する
このステップでは、反復処理を行う配列の名前を [行コレクション] フィールドに追加します。配列の名前を見つけるには、以下を行います。
- [プレビューとテスト] をクリックします。
- イベントのプレビューデータをスクロールして、必要な情報を含む配列を探してください。
- フローのトリガーとなるアクションを完了した人がまだいない場合、そのフローで利用できるプレビューデータはありません。プレビューデータがない場合、自社サイトに移動してアクション(カートにアイテムを追加してチェックアウトを開始するなど)を実行してみてください。Klaviyo のプレビューオプション内にイベントが表示されます。
- この例では、商品情報が格納されている配列が 2 つあります。
- テーブルブロックの繰り返し表示に必要な情報が揃っているため、より詳細な配列「line_items」を使用することをお勧めします。[行コレクション] フィールドの設定に適した変数を見つけるには、配列の最初のセクション内にある 2 つの変数を選択してコピーしてください。この例では、「variant_price」と 「title」のタグをコピーします。この例の 2 つのタグは以下のとおりです。
{{ event.extra.line_items.0.variant_price }}{{ event.extra.line_items.0.title }}

- Items
各商品名だけのシンプルなリストを含むトップレベルの配列。 - line_items
extra 配列内にネストされた配列。各商品のタイトル、価格、SKU、画像の URL などの詳細な情報が含まれています。

- 波括弧は無視して、その中の変数を確認してください。両方の変数の先頭は同じである点に注意してください:
event.extra.line_items.0。 - この変数のうち、末尾のドット(点)と数字の前までの部分を 「行コレクション」として使用します。この例では、Row collection フィールドの適切な設定は
event.extra.line_itemsです。
フォールバックコンテンツの設定方法(任意)
選択した行コレクションにデータが存在しない場合は、フォールバックコンテンツが表示されます。フォールバックコンテンツは、作成するテーブルで使うデータが、トリガーイベント内で常に表示されるとは限らない場合に必要です。フォールバックコンテンツを追加するには、[フォールバックコンテンツ] オプションをオンにし、表示されるフィールドにコンテンツ(テキストや画像など)を追加します。

4. 行エイリアスを選択する
行エイリアスには、任意のテキストを使用できます(特殊文字やスペースは使用できません)。このエイリアスは動的テーブルのブロック内で使用し、先ほど選択した配列からどの変数を取得するかを指定するために使います。覚えやすいように、シンプルで分かりやすいエイリアスを選ぶことをお勧めします。
この例では、動的テーブルのブロックがカゴ落ちした商品のリストを順番に繰り返し表示するため、エイリアスには「item」を使用するとよいでしょう。ブロックがブログ記事のリストを繰り返す場合は、エイリアスに「post」を使用することをお勧めします。
エイリアスには好きな名前を使えますが、配列から変数を参照する際は、必ず同じエイリアスを使用するようにしてください(詳細は後述)。

[行コレクション] と [行エイリアス] フィールドの入力が完了したら、テーブルの作成を開始できます。
5. 動的な商品詳細を追加する
データソースの設定が完了したら、タグを使ってメールにテキストを追加できます。このメールはカゴ落ちフローで使うため、カートに残された商品の名前に加えて、価格や購入リンクなどの詳細を表示することが重要です。
ブロックに商品名を入力する手順は以下のとおりです。
- テーブルのいずれかの列に移動します。画像を 1 列目に、テキストを 2 列目に表示したい場合は、ブロックの [コンテンツ] セクションの右側にある列セレクターをクリックします。
- プレビューモーダルからイベント変数全体を貼り付けます(例:
{{ event.extra.line_items.0.title }})。 - 変数内の行コレクション(すなわち、[行コレクション] フィールドに入力したテキスト)と、その後に続くドットと番号を、ステップ 4 で設定したエイリアス(例:item)に置き換えます。このとき、外側の括弧はそのまま残します。この例では、
{{ event.extra.line_items.0.title }}が{{ item.title }}になります。

- メールをプレビューして、タイトルが表示されていることを確認してください。表示されない場合は、スペル、大文字・小文字の区別、書式設定に間違いがないか再確認してください。また、[スタイル] タブの設定にエラーがないかも確認してください。
同じ手順を繰り返して、その他の商品の詳細も追加します。
商品名にハイパーリンクを設定する方法
商品名にハイパーリンクを追加する方法は以下のとおりです。
- イベントプロパティから商品の URL 変数を見つけます。
- 上記の変数と同様に、行コレクションと番号を行エイリアスに置き換えます(例:{{ event.extra.line_items.url }} が {{ item.url }} になります)。
- 商品名の変数全体をハイライトします(例:
{{ item.title }})。 - リンクアイコンをクリックし、URL フィールドに URL 変数を貼り付けます。
各連携アプリの一般的な商品 URL 変数
BigCommerce
イベント変数: {{ event.extra.items.0.product.url }}
最終タグ: {{ organization.url }}{{ item.product.url }}
Magento 1
イベント変数: {{ event.extra.line_items.0.product.key }}
最終タグ: {{ organization.url }}{{ item.product.key }}
Magento 2
イベント変数:{{ event.Items.0.Product.FullURL }}
最終タグ:{{ item.Product.FullURL }}
Shopify
イベント変数: {{ event.extra.line_items.0.product.handle }}
最終タグ: {{ organization.url }}products/{{ item.product.handle }}
WooCommerce
イベント変数: {{ event.extra.Items.0.URL }}
最終タグ: {{ item.URL }}
通貨変数に関する注意点
商品価格がイベントの詳細で (通貨記号なしの) 数値として渡される場合は、currency_format タグを使用して通貨形式を適用してください。このタグを適用するには、以下のコード内にある variable_name を、価格変数全体に置き換えます(波括弧は除いてください)。
{% currency_format variable_name %}
最終的な変数は次のようになります。
{% currency_format item.price %}
6. 画像を追加する
動的な画像を挿入するには、プレビューモーダルで画像のイベント変数を探します。多くの場合、この変数は「image」、「img」、または「src」の下にありますが、お使いの連携サービスによって異なります。この例では src の下にあり、{{ event.extra.line_items.0.product.images.0.src }} となっています。ステップ 5 で説明したのと同様に、この変数も調整します(event.extra.line_items.0 を item に置き換えます)。これは event.extra.line_items 内のイベント変数配列で、この特定の商品の画像が格納されています。
- この変数を取得したら、画像を表示したい列(この場合は左の列)に移動します。
- 現在、[セルのコンテンツ] が [テキスト] に設定されている場合は、[画像] をクリックします。
- [画像を選択] をクリックします。
- [動的画像] タブで、[動的変数または動的 URL] フィールドに画像変数を貼り付けます。
- カスタマイズした画像イベント変数
{{ item.product.images.0.src }}を入力します。 - [保存] をクリックします。
- 画像をクリック可能にするために、[リンクアドレス] フィールドにステップ 5 の商品 URL 変数を追加します。
- 画像の最大幅は 250 〜 300 を目安に設定し、必要に応じて調整します。
- 変更が完了したら、[完了] をクリックし、メールをプレビューして意図したとおりに表示されていることを確認します。画像が表示されない場合は、変数のスペルがプレビューモーダルに表示されているものと一致しているかを確認してください。
7. メールをプレビューする
上記のステップを完了すると、プレビュー時にメールテンプレートは以下のように表示されます。

動的コンテンツがどのように表示されるか、またリンクが正しく機能するかを確認するには、[プレビューとテスト] をクリックします。エラーがある場合は、変数のスペルや構造、ブロックの [スタイル] タブに問題がないかを確認してください。
他のメトリックをトリガーとするフロー用にも、同様の方法で動的ブロックを作成できます。
単一商品のイベント用に静的テーブルブロックを作成する方法
イベントに含まれる商品が常に 1 つだけの場合は、静的テーブルブロックを使用します。このようなイベントでは、[行コレクション] や [行エイリアス] を設定する必要はなく、イベントデータに含まれる変数をそのまま編集せずに使用できます。
- Klaviyo の [フロー] タブに移動します。
- [フローを作成] をクリックします。
- [独自に作成] をクリックします。
- フローに名前を付け、[フローを作成] をクリックします。
- [トリガーを選択] にある[メトリック] をクリックします。
- 「商品閲覧」や「カートに追加」のような単一商品のメトリックを選択します。
- [完了] をクリックします。
- フローにメールアクションをドラッグ&ドロップします。
- [テンプレート] の横にある [テンプレートを選択] をクリックします。
- ベースとして使用するテンプレートを選択します。
- テーブルブロックをメールにドラッグします。
- デフォルトでは、[ Styles] の Data フィールドは Static に設定されています;この設定を変更しないでください。

- [プレビューとテスト] をクリックして、メッセージに使用できる変数を確認します。画像 URL 変数をクリックしてコピーします。

- [セルセレクター] と [セルコンテンツ] フィールドを使用して、左側のセルを [画像] セルタイプに設定します。
- [画像を選択] をクリックします。
- [動的画像] を選択します。
- コピーした画像 URL 変数を動的変数または動的 URL のフィールドに貼り付けます。
- [保存] をクリックします。
- 右のセルに [テキスト] セルタイプを設定します。
- 表示したい変数(例:商品タイトル、商品価格)をコピーし、テキストセルに貼り付けます。

- カートに戻るための CTA ボタンなど、追加のブロックを配置し、メールを好きなスタイルにデザインします。
- 完了したら、[終了] をクリックします。
その他のリソース
- How to create an abandoned cart flow
Learn how to set up an abandoned cart flow in Klaviyo in order to increase your ecommerce revenue and personalize communication to your customers.
- Message personalization reference
Learn how to use Klaviyo’s personalization variables, or tags, to customize the experience for your customers.
- How to display products vertically in emails
Learn how to display products in your abandoned cart and order confirmation flows vertically (i.e., with an image above product information, rather than beside).
- Apply programming logic concepts to build more personalized messages