この記事では、メール自動化の経験がないEC担当者でも理解できるように、クロスセル用ステップメールFlowの全体像と構築手順を実例ベースで解説します。
構築時間は約15時間。一度作ればあとは完全自動です。
📖 フリーランス×AI×お金の本音を書いています。Shopify実務の裏側も公開中。
目次
1. まず結論:このFlowで何が起きるのか
難しい説明の前に、「このFlowを作ると何が起きるか」を先に理解しておきましょう。全体像がわかると、細かい設定の意味が頭に入りやすくなります。
📌 このFlowでできること
✅ 商品を購入した顧客に、自動でメールが5通届く仕組みを作れる
✅ 「すでに対象商品を持っている人」には送らない除外設定ができる
✅ インセンティブ(ポイントまたはディスカウントコード)の自動付与とメール配信をセットで自動化できる
✅ 一度構築すれば、その後は手動作業ゼロで動き続ける
✅ Conditionの変数設定さえ正しければ、エンジニア不要で構築できる
Flow全体の流れ
実際のShopify Flow管理画面では、以下の順番でブロックが縦に並んでいます。上から順に読んでいけば、どこで何が起きているかがわかります。
2. なぜクロスセルにステップメールが効くのか
「なぜメールでクロスセルを狙うのか」を理解しておくと、Flow設計の判断がしやすくなります。
ECで売上を伸ばす方法は大きく3つあります。
特にメールが有効な理由は、「購入した直後」という最もポテンシャルが高いタイミングに接触できるからです。すでに信頼してくれた顧客へのアプローチなので、広告と比べて費用対効果が高くなります。
ECにおける購入後ステップメールの平均開封率は25〜35%と言われています(通常のメルマガは15〜20%程度)。購入直後という文脈があるだけで、開封率が大きく変わります。
3. 事前インストールが必要なアプリ
Flow構築の前に、以下のアプリをShopify管理画面からインストールしておいてください。後から追加するとFlowの設定で使えるアクションが表示されないことがあります。
Basicプラン以上なら追加費用なし。Shopify管理画面のアプリストアからインストール。
月2,500通まで無料。超過分は$1/1,000通。メールテンプレートをここで事前に作成しておく。
(EasyPoint等)
ポイント機能を使わない構成(ディスカウントコード等)にする場合は不要。次のセクションで詳しく解説。
(LINE連携)
日本向けECではLINEの開封率がメールより高いケースが多い。Free / $10 / $30 / $200/月。メールFlowと並行して設計すると効果的。
(メール分析強化)
Shopify Emailだけでもフローは動く。Klaviyoはより細かい分析が必要になった段階で検討。Free(250コンタクト)/ $20/月〜。
4. ポイント付与 vs ディスカウントコード:どちらを使うか
Flowでインセンティブを付与する方法は大きく2つあります。ポイントアプリをすでに導入しているかどうかで選択肢が変わります。
✅ 顧客がポイントを使いたくて再訪問する効果がある
✅ Flowの「Adjust Point Balance」アクションで自動付与できる
⚠️ ポイントアプリの初期導入コストがかかる
⚠️ 変数が通常のLiquidと異なる(後述)
✅ 設定がシンプルで導入ハードルが低い
✅ 有効期限を設定して緊急性を演出できる
⚠️ 使い回しされるリスクがある(1人1回制限の設定が必要)
⚠️ コードを手動で発行・管理する手間がある
ポイントプログラムをすでに運用している → ポイント付与がおすすめ。既存の仕組みとシームレスに連携できます。
まだポイントアプリを導入していない → ディスカウントコードから始める方が早い。Shopify管理画面の「ディスカウント」から専用コードを作成し、メール本文に記載するだけで機能します。
ディスカウントコードをFlowと連携する場合の注意点
Flowでディスカウントコードを使う場合は、コードをメール本文に直接記載する形になります。コードの使い回しを防ぐために、以下の設定を必ず行ってください。
- 「使用制限」を「1注文につき1回」に設定する
- 有効期限を設定して「〇日以内」という緊急性を持たせる(30日が目安)
- コード名にランダム文字列を含めてSNSでの拡散を防ぐ(例:THANKS-X7K2)
5. Flow構築の手順(ステップバイステップ)
実際の構築手順を順番に解説します。Shopify管理画面の「Flow」アプリを開いた状態からスタートします。
似たFlowがある場合は複製が便利ですが、複製後は必ず1通目のメール接続を手動で再設定してください(接続が切れます)。初めての場合は新規作成がおすすめです。
「トリガーを選択」→「Order fulfilled(注文が発送完了になったとき)」を選びます。「Order created(注文作成)」ではないので注意してください。
トリガーの直後に「Wait」アクションを追加し、「1 day」を設定します。発送直後ではなく翌日に処理を開始するための待機です。
「Condition」を追加。変数パス:order → financial_status → 「次の値と等しくない」→「refunded」を設定。True側(返金なし)に次のステップを繋ぎます。
変数パス:fulfillment / order / line items / product / collections → handle
演算子:「次のいずれでもない」→ 除外したいコレクションのURL識別子を入力。
URL識別子とは、管理画面のコレクションURLの末尾にある文字列のことです。
例)https://yourstore.myshopify.com/collections/seasonal-tops → 入力する値は seasonal-tops
同じく変数パス:fulfillment / order / line items / product / collections → handle
演算子:「次のうち少なくとも1つ」→ アップセル商品のコレクションURL識別子を入力 → True側(購入済み)を終了、False側(未購入)にインセンティブ付与を繋ぎます。
例)https://yourstore.myshopify.com/collections/premium-items → 入力する値は premium-items
ポイント付与の場合:「Adjust Point Balance」アクションを追加して付与ポイント数を設定。
ディスカウントコードの場合:このステップは不要。メール本文にコードを直接記載します。
「Send marketing email」→「Wait 6 days」→「Send marketing email」→「Wait 7 days」→…の順に繰り返します。メールテンプレートはShopify Emailで事前に作成しておくとスムーズです。
Conditionに入力する値の確認方法
Conditionに入力するのは、コレクションのURLに含まれる末尾の識別文字列です。Shopify管理画面でコレクションを開いたときのURL末尾を確認してください。
// 管理画面 → 商品管理 → コレクション → 対象コレクションを開く
// ブラウザのアドレスバーに表示されるURL例:
https://yourstore.myshopify.com/admin/collections/seasonal-tops
// Conditionに入力する値 → URLの末尾部分だけ
入力値:seasonal-tops
// ⚠️ 注意:全角文字・スペース・大文字が混ざっていると条件が機能しません
// URLをそのままコピーして末尾の文字列だけ貼り付けるのが確実です
order / line items」ではなく「fulfillment / order / line items」から始まるパスを使ってください。前者だとコレクションの参照が正しく動かないケースがあります。6. ステップメール5通の中身
5通のメールは「すぐに売り込まない」設計が重要です。最初から「買ってください」と言うと開封率が落ちます。感謝→教育→課題喚起→信頼→社会証明という順番で、自然に購入の気持ちを育てる構成にします。
「ありがとうございます」というお礼と、ポイントまたはディスカウントコードを付与したお知らせだけ。追加購入を促す文章は一切入れません。
「この会社は押し売りしない」という印象を最初に作ることが、2通目以降の開封率を上げるカギです。
変数例(ポイント利用時):{{ customer.last_name }}様 / {{pointBalance}}ポイント
購入した商品カテゴリに関連する豆知識や読み物コンテンツへ誘導するメールです。「購入してよかった」と思ってもらいながら、同時に「もっと揃えたほうがいいかも」という気づきを自然に与えます。
このメールのCVリンクはサブ的な位置づけで、あくまでコンテンツがメインです。
顧客が感じているかもしれない具体的な課題を先回りして言葉にするメールです。「わかってる!」と感じてもらうことで、関連商品への興味が生まれます。インセンティブが使える旨の訴求もここで入れます。
累計販売実績・専門家の推薦・受賞歴など、ブランドの信頼性を伝えるメールです。このメールが購入率に最も直結します。CTAボタンを目立つ位置に複数配置し、クリックしやすい設計にしてください。
実際の購入者レビューを掲載し、「他の人も買って満足している」という安心感でクロージングします。
レビューはカスタムLiquidブロックで実装し、左ボーダー+背景色で視覚的に目立たせるとクリック率が上がります。
7. ここで詰まる!実装ハマりポイント6選
構築15時間のうち、約6時間がトラブル対応でした。同じ失敗をしないために全部まとめておきます。
既存Flowを複製して流用しようとすると、1通目のメールテンプレートとの接続が自動的に外れます。複製後は必ず1通目の「Send marketing email」を開き、テンプレートを手動で再設定してください。気づかずにテストすると1通目だけ届かない状態になります。
Order fulfilledトリガーでコレクション判定をする場合、変数パスは「fulfillment / order / line items」から始める必要があります。「order / line items」だとコレクションの参照が正しく動かないことがあります。
除外条件で最も多い失敗です。「次のうち少なくとも1つ〜を含む → True側に接続」とすると、対象商品を購入した人にメールが届きます。除外したい場合は「次のいずれでもない」を使うか、True/Falseを逆に接続してください。必ずテスト注文で動作確認してから本番稼働させてください。
Conditionに入力する値はShopify管理画面のコレクションURLから確認します。全角文字・スペース・大文字が混ざっていると条件が一切機能しません。
例)https://yourstore.myshopify.com/admin/collections/example-category → 入力値は example-category の部分だけです。URLをコピーして末尾の文字列だけ貼り付けるのが最も確実です。
EasyPointを使う場合、ポイント残高を表示する変数は{{pointBalance}}です(スペースなし)。通常のLiquid変数のように{{ point_balance }}と書いてもエラーになります。アプリのバージョンによって変数名が変わることもあるため、使用前に管理画面の変数一覧を必ず確認してください。
Flowにはエクスポート機能がありますが、コレクションのIDはストアごとに異なります。別のストアに持ち込んでも条件が正しく機能しません。別ストアで使う場合は直接構築し直してください。手順書とスクリーンショットを残しておくと再構築がスムーズです。
🤖 AIを活用して構築時間を短縮した方法
8. KPIと効果測定の考え方
Flowを稼働させたあとは、数字を見ながら改善を繰り返します。最初から完璧を目指す必要はなく、数字に異常が出た箇所だけ直すという考え方が効率的です。
アップセルCV
・Flow設計・Condition設定:約4時間
・メール5通の文章制作:約6時間
・ハマり解消・デバッグ:約3時間
・テスト注文・動作確認:約2時間
合計:約15時間
一度完成すれば、その後は0時間で動き続けます。
Shopify Flowのクロスセルメール自動化は、構築の手間はかかりますが、動き出したあとは完全に自動で売上の底上げをしてくれる仕組みになります。手動でメールを送り続けることと比べると、長期的な工数の差は歴然です。
まずはシンプルな構成(Condition1つ・メール3通)から試してみて、効果を確認しながら拡張するやり方でも十分です。
🛒 Shopifyをまだ試していない方はこちらから無料体験できます。
Shopify FlowやステップメールのFlow構築代行・ご相談はこちら
📖 フリーランスのAI活用・収益化の本音をnoteで書いています。





