メインコンテンツにスキップ

実店舗の来店回数・最終来店日時をShopifyで管理する方法

来店回数や最終来店日時のデータを Shopify で保有することで、
​リピート施策・セグメント配信・会員ランク運用・CRM 分析 など、マーケティング活用の幅を大きく広げることができます。

以下は、スマレジから連携された注文情報をもとに、Shopify 上で来店回数や最終来店日時を管理するための設定手順です。

設定方法

1. Smapifyで注文連携設定、スマレジ→Shopifyが有効にする

来店回数や来店日時はスマレジから連携された注文データを参照します。
そのため、スマレジ→Shopifyの注文連携は必須となります。

2. Shopify顧客メタフィールドを作成する

Shopify 管理画面「設定」→「メタフィールド」→「顧客」を開きます。
以下の 2 つのメタフィールドを作成します。

来店回数
Namespace:custom
Key:visit_count
タイプ:整数(Integer)
最終来店日
Namespace:custom
Key:last_visit_at
タイプ:日付(Date)

3. Shopify Flowで来店回数を自動更新/最終来店日時を自動更新するフローを作成する

来店回数や来店日時はスマレジから連携された注文データを参照します。
そのため、スマレジ→Shopifyの注文連携は必須となります。

​トリガー:

Order Created(注文作成時)

条件1:

注文タグに「スマレジ」が含まれる 条件2:order.customer.id が 空白でなく存在する

アクション1:

Run code(来店回数・最終来店日の更新)

入力を選択する

{
 order {
   customer {
     id
     metafields {
       key
       namespace
       value
     }
   }
 }
}


出力定義

type Output {
 newCount: Int!
}


Code

export default function main(input) {
 const metafields = input.order?.customer?.metafields || [];
 const visitCountField = metafields.find(
   m => m.namespace === 'custom' && m.key === 'visit_count'
 );
 
 const currentCount = visitCountField?.value 
   ? parseInt(visitCountField.value) 
   : 0;
 
 const newCount = currentCount + 1;
 
 console.log('Current count:', currentCount);
 console.log('New count:', newCount);
 
 return {
   newCount: newCount
 };
}


アクション2-1:

Update customer metafield(最終来店日時の更新)

メタフィールド:最終来店日

Value:{{order.createdAt}}


アクション2-2:

Update customer metafield(来店回数の更新)

メタフィールド:来店回数

Value:{{runCode.newCount}}

Flow設定後の注文から、顧客メタフィールドが更新されていきます。

万が一設定前の来店回数をShopifyに取り込む場合は、スマレジ側での購入回数をエクスポートして、Shopifyのメタフィールドを更新する必要がございます。

購入を伴わない来店カウントはトラッキングできません。

こちらの回答で解決しましたか?