Klaviyo FlowのシナリオからLINEメッセージを送り、メールとLINEを1つの流れにつなげる方法を説明します。設定から公開前の確認、配信タイミングの注意点までを順に説明します。
LINE配信の経路の使い分け
LumoからのLINE配信には「Lumoのメッセージ配信」「Klaviyo Flowからの自動配信」「LINE通知メッセージ」の経路があり、目的によって使い分けます。
| やりたいこと | 使う経路 |
|---|---|
| キャンペーン的な一斉配信(売れ筋商品の告知、セールの案内など) | Lumoのメッセージ配信。配信対象にKlaviyoの条件(リスト・プロパティ・ID連携)で作ったセグメントを指定します |
| シナリオ起点の自動配信(カゴ落ちフォロー、購入後のクロスセルなど) | Klaviyo FlowのWebhookアクション。この記事で説明する方法です |
| 友だち追加前のお客さまにも届けたい取引通知(購入完了・発送完了など) | LINE通知メッセージ。設定方法はKlaviyo FlowからLINE通知メッセージを送るで説明しています |
KlaviyoのCampaign(一斉配信)にはWebhookアクションがないため、「KlaviyoのキャンペーンからLINEを送る」ことはできません。一斉配信はLumoのメッセージ配信から行います。どちらの経路でも、Klaviyoのセグメントをそのまま使え、配信結果(送信・開封・クリックなど)はKlaviyoのプロフィールに記録されます。
Klaviyo FlowからLINE配信できること
Klaviyo FlowのWebhookアクションを使うと、シナリオの好きなタイミングでLINEメッセージを配信できます。
たとえばウェルカムメールの翌日にLINEでクーポンを送る、カートに商品を残したお客さまにLINEでリマインドする、購入の数日後にLINEでクロスセルのおすすめを送る、といったチャネルをまたいだシナリオを1つのFlowで組み立てられます。メールでは伝わりにくい内容も、画像やボタンを使ったLINEメッセージで視覚的に届けられます。
配信先のお客さまは、あらかじめLINEとKlaviyoのID連携が済んでいる必要があります。連携が済んでいないお客さまには配信先を特定できないため、メッセージは届きません。
配信に必要な接続情報を取得する
KlaviyoのWebhookアクションに設定する接続情報一式は、自動送信メッセージの詳細画面にある 「Klaviyo Flow連携情報」 から取得します。
「Klaviyo Flow連携情報」 を開き、配信に使うLINE公式アカウントを選ぶと、次の値が表示されます。Klaviyo連携が有効になってから利用できます。
| 項目 | 説明 |
|---|---|
| Destination URL | Webhookアクションの送信先に設定するURLです。KlaviyoではHTTPメソッドにPOSTを選びます |
| ヘッダー(Key / Value) | Webhookのカスタムヘッダーに設定するキーと認証キーです。不正なリクエストを防ぐためのものです |
| JSON body | Webhookの送信内容です。 「JSONをコピー」 でそのままコピーできます |
KlaviyoのFlowにWebhookアクションを追加する
LINEメッセージを送りたい位置に、KlaviyoのFlowでWebhookアクションを追加します。
設定の手順は次のとおりです。
- KlaviyoのFlowで、LINEメッセージを送りたい場所に 「Webhook」 アクションを追加します
- メソッドに 「POST」 を選び、 「Destination URL」 を設定します
- カスタムヘッダーに、控えたKeyとValueを設定します
- JSON bodyに、送るメッセージの内容を貼り付けます
JSON bodyの具体的な指定方法は、このあとの「送るメッセージを指定する」で説明します。
配信対象をID連携済みに絞るフィルターは不要です
WebhookアクションはFlowのステップに到達したお客さま全員に対して実行されますが、ID連携が済んでいないお客さまへの送信はLumoが自動でスキップするため、プロファイルフィルターを追加しなくても安全に運用できます。
- Klaviyo側ではID連携の有無を判定しないため、Webhook自体はステップに到達した全員に対して実行されます
- Lumoが受け取った時点で配信先を判定し、ID連携が済んでいないお客さまには送信しません(エラーにもなりません)
- 未連携のお客さまにメッセージが誤って届くことはありません
KlaviyoのSent件数を実際の配信対象に近づけたいときは
KlaviyoのWebhookアクションに表示されるSent件数は「Webhookが実行された数」であり、実際にLINEメッセージが送信された数ではありません。実際の配信対象に近い数字でレポートを見たい場合は、Webhookアクションの直前にConditional Split(例: プロパティ「LINE User ID」が設定されている)を追加し、条件を満たす側にWebhookアクションを配置してください。
なお、Flow全体のプロファイルフィルターでID連携済みに絞ると、同じFlow内のメール配信までID連携済みのお客さまに限定されます。メールは今までどおり全員に送りたい場合は、Flow全体のフィルターではなくWebhookアクション直前のConditional Splitを使ってください。
送るメッセージを指定する
送るメッセージは、Lumoの自動送信メッセージを使う方法と、テキストを直接指定する方法の2通りがあります。
商品カードやリッチメッセージなど作り込んだメッセージを送りたいときは自動送信メッセージを使い、短い一言だけならテキストを直接指定すると手軽です。
自動送信メッセージを使う(おすすめ)
商品カードやリッチメッセージなど、作り込んだLINEメッセージを送る場合は、Lumoの自動送信メッセージを利用します。
- Lumoで自動送信メッセージを作成します(テンプレートからすぐに作成できます)
- 自動送信メッセージの詳細画面で 「Klaviyo Flow連携情報」 を選びます
- 表示されたダイアログで配信に使うLINE公式アカウントを選ぶと、Webhookアクションに設定するDestination URL・ヘッダー・JSON bodyが表示されます
- JSON bodyを 「JSONをコピー」 でコピーして、KlaviyoのWebhookアクションの送信内容に貼り付けます
生成されるJSON bodyには、配信先を指定する差し込み変数 {{ person|lookup:'LINE User ID' }} があらかじめ含まれています。手で編集する必要はなく、そのまま貼り付ければFlowを通過するお客さまごとに正しい配信先が差し込まれます。
テキストを直接送る
短いテキストメッセージを送るだけなら、自動送信メッセージを使わずにテキストを直接指定できます。
「Klaviyo Flow連携情報」 で取得したJSON bodyのautoMessageIdの行を削除し、代わりにmessageTextに送りたいテキストを指定します。配信先の差し込み変数 {{ person|lookup:'LINE User ID' }} はそのまま残します。
なお、{{ data.キー名 }}形式の差し込み変数はLINE通知メッセージ専用です。この記事で説明する通常のLINEメッセージ配信では利用できません。
商品カードで商品を載せる
商品カード(カードタイプメッセージの 「商品」)を使うと、商品画像・商品名・ボタン付きのカード形式メッセージを自動で組み立てられます。
自動送信メッセージの作成時にカードタイプメッセージとして商品カードを追加します。商品の選び方(データソース)は大きく2種類に分かれます。
トリガーの商品
Flowのきっかけになった出来事(イベント)に含まれる商品情報をもとに、カードを組み立てるデータソースです。商品カードのデータソースで 「トリガーの商品」 を選び、用途に合うテンプレートを選びます。
| テンプレート | 用途 |
|---|---|
| 「カゴ落ちフォロー」 | カートに残った商品を画像付きでリマインドします。カゴ落ち復帰用のURLを差し込む変数も利用できます |
| 閲覧リマインド・在庫わずか など | 商品の閲覧や在庫状況をきっかけにしたFlowで、対象商品のカードを組み立てます |
コンテンツフィード
ストアの商品データから条件に合う商品を自動で選んで、カードを組み立てるデータソースです。商品カードのデータソースで 「コンテンツフィードから(自動)」 を選び、使用するコンテンツフィードを指定します。
| フィードの種類 | 掲載される商品 |
|---|---|
| 「売れ筋」 | 売上実績の多い商品 |
| 「新着」 | 追加が新しい商品 |
| 「セール」 | セール対象の商品 |
| 「手動で選ぶ」 | 指定した商品(最大10件) |
コンテンツフィードで使う商品データは、Shopifyストアから直接同期します。利用するには、KlaviyoとShopifyの両方にLumoアプリをインストールしてください。
「売れ筋」を使うときの注意
売れ筋は売上実績をもとに商品を選ぶため、売上のない商品は表示されません。オープン直後など売上データがまだ少ないストアでは、表示できる商品がなくテキストのみの表示になることがあります。その場合はフォールバックで指定した商品が代わりに表示されます。ローンチ直後は「新着」のフィードまたはフォールバック商品を使い、売上データが貯まってから「売れ筋」に切り替える運用がおすすめです。
タイトル・本文・ボタン文言・最大商品数などは、どのデータソースでも設定できます。作成した自動送信メッセージは、 「Klaviyo Flow連携情報」 からWebhookアクションに組み込めます。
同じメッセージの二重送信を防ぐ仕組み
「Klaviyo Flow連携情報」 で生成されるJSON bodyには重複排除キー(idempotencyKey)が含まれ、同じイベントが繰り返し届いても二重送信を自動で防ぎます。
- カゴ落ちフォロー・購入完了・発送完了のFlowでは、チェックアウトや注文番号をもとにしたキーが自動で設定されます。KlaviyoのWebhook再送信やFlowの二重発火が起きても、同じお客さまに同じメッセージが24時間以内に2回届くことはありません
- 閲覧リマインド・在庫わずか・再入荷のFlowにはキーが付きません。同じお客さまが同じ商品を再び見たときなど、繰り返しの配信が正当なケースを妨げないためです
- 以前に取得したJSON bodyを使っている場合は、 「Klaviyo Flow連携情報」 から最新のJSONを取得して貼り直すと有効になります
公開前に動作を確認する
Flowを公開する前に、Payload Previewとテスト送信で設定を確認します。
確認の手順は次のとおりです。
- KlaviyoのWebhookアクションで 「Preview Webhook」(Payload Preview)を開き、配信先や商品情報などの各フィールドに実際の値が差し込まれることを確認します
- テスト送信を実行し、自分のLINEにメッセージが届くこと、カード形式のメッセージが正しく表示されることを実機で確認します
- 問題がなければFlowをLive(公開)にします
- 保存後にFlowの画面を開き直し、WebhookアクションがDraftに戻っていないかを確認します。Draftのままだとメッセージは配信されません
配信のタイミングについて
Klaviyo Flowからの配信は、イベント発生から実際の送信まで時間差が生じることがあります。
Klaviyoはイベントの取り込みやFlowの処理を内部でまとめて行うため、Webhookアクションの実行までに数十分から1時間程度かかる場合があります。これはKlaviyo側の仕組みによるもので、LumoはKlaviyoからリクエストを受け取りしだい、すみやかにLINEへ送信します。
- 設定が正しいかどうかの確認は、実際の配信を待つのではなく、Payload Previewとテスト送信で行ってください
- イベントの発生からKlaviyoへの取り込みまでに6時間以上の差があると、そのイベントではFlowが起動しません(Klaviyoの仕様です)
認証キーを再発行する
認証キーが漏れた可能性があるときなどは、Klaviyo連携の設定画面にある 「FlowからID連携」 セクションから認証キーを再発行できます。
「認証キーを再発行」 を選び、確認ダイアログで 「再発行する」 を選びます。再発行すると古い認証キーはすぐに使えなくなります。LINE配信やID連携に使っているすべてのKlaviyo FlowのWebhookで、カスタムヘッダーのValueを新しい認証キーに必ず更新してください。更新を忘れると、LINE配信が認証エラーで止まります。
うまくいかないときは
Flow配信でよくある問題と対処方法は次のとおりです。
| 症状 | 確認するポイント |
|---|---|
| メッセージが届かない | まず配信先のお客さまがLINEとKlaviyoのID連携を済ませているか確認してください。未連携のお客さまには配信先を特定できません |
| メッセージが届くのが遅い | Klaviyo側の処理により、Webhookの実行まで数十分から1時間程度かかる場合があります。Lumoの不具合ではありません。設定の確認はPayload Previewとテスト送信で行ってください |
| Flowが配信されない | WebhookアクションがLive(公開)になっているか確認してください。保存後にDraftに戻っていることがあります |
| 認証エラーになる | WebhookのカスタムヘッダーのKeyとValueが、 「Klaviyo Flow連携情報」 の値と一致しているか確認してください。認証キーを再発行したあとは、Klaviyo Flow側の値も更新が必要です |
| 配信先がうまく差し込まれない | JSON bodyに差し込み変数 {{ person|lookup:'LINE User ID' }} が含まれているか確認してください。 「Klaviyo Flow連携情報」 で生成した内容には自動で含まれています |
| 差し込み変数が置き換わらない |
{{ data.キー名 }}形式の変数はLINE通知メッセージ専用です。通常のLINEメッセージ配信では利用できません |
| 同じメッセージが2回届いた | JSON bodyに重複排除キー(idempotencyKey)が含まれているか確認してください。 「Klaviyo Flow連携情報」 から最新のJSONを取得して貼り直すと、二重送信が自動で防止されます |
| 商品カードに商品が表示されない | 売れ筋のフィードは売上実績のある商品だけを表示します。売上データが少ないストアでは「新着」のフィードかフォールバック商品をご利用ください。コンテンツフィードにはShopifyストアとの商品データ同期(Shopify側へのLumoアプリのインストール)が必要です |