Shopify 自動化2026-07-02
【Shopify】購買データに基づく顧客セグメンテーションの自動化:Vercel Workflowsを用いたB2Bマーケティング連携
顧客増に伴う「セグメント配信・育成」の手作業限界
ECサイトの売上を伸ばす上で、**「購入履歴や顧客の属性に合わせた、一人ひとりに適したコミュニケーション(MA: マーケティングオートメーション)」**の実施は不可欠です。
しかし、多くのECブランドでは、以下のような「泥臭い手作業」が定常的に発生しています。
- 「過去3回以上購入し、かつ直近3ヶ月以内の購入があるVIP顧客」を管理画面からCSVダウンロードして、メール配信ツール(KlaviyoやMailchimpなど)へ手動インポートする。
- 顧客が特定の商品(定期便など)を購入した際、手作業でSaaS上のタグ(例:
regular-buyer)を付与する。 - 分析ツールとの連携が遅れ、すでに購入済みの顧客に対して「買い忘れていませんか?」という的外れな広告やメールを送信してしまう。
このようなデータ連携のラグと人的ミスは、顧客体験を大きく損なうだけでなく、担当者の業務負荷を高め続けます。
この課題は、Shopifyの顧客・注文 Webhook をキャッチし、Vercel Workflowsの安全な非同期処理ラインでアトミックにセグメント判定とタグ付与を実行することで、完全に自動化(Touchless化)できます。
2. 課題解決のビフォー・アフター
| 項目 | 手動でのCSV書き出し・インポート(Before) | Webhook + Vercel Workflows 自動化(After) |
|---|---|---|
| 反映速度 | 毎週または毎月1回(手動のため遅い) | リアルタイム(購入確定から数秒以内) |
| 判定ロジック | 担当者の手作業によるExcelフィルタリング | プログラムによる正確な条件抽出(バグ防止) |
| 外部連携の広さ | メール配信ツールのみの共有が限界 | CRM、LINE、Discord、広告配信リストなどへ同時に自動送信 |
| ミス・漏れ | リスト作成時のコピペミスによる誤送信 | Webhookベースの一貫した更新で誤送信の心配なし |
3. 具体的な実装例:購買時の顧客自動セグメンテーション(タグ付与)
注文情報を元に、過去の累計購入額(LTV)を判定し、自動でShopifyの顧客データへ「VIP」タグを付与する Vercel Workflows(TypeScript)の実装例です。
import { workflow } from "@vercel/workflows";
export const customerSegmentationWorkflow = workflow(async (context) => {
const { customerId, currentOrderId } = context.payload;
// 1. Shopify APIから顧客の累計注文データを取得
const customerData = await context.run("fetch-customer-ltv", async () => {
const shopifyDomain = process.env.SHOPIFY_DOMAIN!;
const accessToken = process.env.SHOPIFY_ACCESS_TOKEN!;
const response = await fetch(
`https://${shopifyDomain}/admin/api/2024-01/customers/${customerId}.json`,
{
headers: {
"X-Shopify-Access-Token": accessToken,
"Content-Type": "application/json",
},
}
);
if (!response.ok) {
throw new Error(`Failed to fetch customer data: ${response.status}`);
}
const { customer } = await response.json();
return {
totalSpent: parseFloat(customer.total_spent),
tags: customer.tags ? customer.tags.split(", ") : [],
};
});
// VIPタグ付与のしきい値(例: 累計10万円以上)
const VIP_THRESHOLD = 100000;
if (customerData.totalSpent >= VIP_THRESHOLD && !customerData.tags.includes("VIP")) {
// 2. しきい値を超えており、かつVIPタグが未付与の場合、タグを追加
await context.run("add-vip-tag", async () => {
const shopifyDomain = process.env.SHOPIFY_DOMAIN!;
const accessToken = process.env.SHOPIFY_ACCESS_TOKEN!;
const newTags = [...customerData.tags, "VIP"].join(", ");
const updateResponse = await fetch(
`https://${shopifyDomain}/admin/api/2024-01/customers/${customerId}.json`,
{
method: "PUT",
headers: {
"X-Shopify-Access-Token": accessToken,
"Content-Type": "application/json",
},
body: JSON.stringify({
customer: {
id: customerId,
tags: newTags,
},
}),
}
);
if (!updateResponse.ok) {
throw new Error(`Failed to update customer tags: ${updateResponse.status}`);
}
});
// 3. マーケティング部門のSlackへ通知
await context.run("notify-marketing-team", async () => {
await fetch(process.env.SLACK_WEBHOOK_URL!, {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
text: `🎉 顧客ID: ${customerId} 様の累計購入額が10万円を突破し、VIPタグを自動付与しました。`,
}),
});
});
}
});
4. HadayaLabのマーケティング自動化構築
HadayaLabでは、EC運営スタッフが手作業で行っているマーケティングデータの移行やタグ管理を、APIファーストの仕組みで完全に自動化するBPRプランを提供しています。
- CRM自動同期(HubSpot、Salesforce連携): Shopifyの顧客行動(お気に入り追加、購入、カート離脱)をCRMにリアルタイムに反映。
- LINE・SMS配信との直接接続: 特定の商品カテゴリの在庫が入荷した際、購入意欲の高いセグメントに対してLINE公式アカウント経由でメッセージを自動送信。
- 購買行動のAI分析: 購買傾向から「次に購入される可能性が高いアイテム」をAIが自動予測し、おすすめバナーの表示を自動変更するスマートパーソナライズ。
顧客リストの更新や手動のセグメント配信に追われているマーケティング担当者の方は、ぜひHadayaLabのEC自動化プランをご相談ください。