Tubasa
1
お世話になっております。
shopify flowで毎月一日に各顧客の過去一年分の購入金額を取得したいと思っています。
scheduleの設定で2024年の7月一日から1か月ごとの1番目の0時という設定はできたかと思うのですが、そこから、全顧客のデータを取得するループ。
ループから顧客ごとの購入金額を取得という設定がわかりません。
こちらの設定を行った方がいらっしゃいましたらご教授をお願いいたします。
また、取得した購入金額から顧客にタグをつけていきたいと考えています。
なので、購入金額を条件としてタグを設定するflowも教えていただけますと幸いです。
何卒宜しくお願い致します。
Qcoltd
2
@Tubasa 様
難しいかもしれません。
なぜなら、
Get customer dataで取得できる顧客データは100件が最大ですし、
1つのShopify Flow内でGet customer dataをループして、何度も100件を取得するような処理を作ることができないからです。
顧客数 ÷ 100 個のShopify Flowを作成すれば可能かもしれません。
(例: 顧客数が10,000であれば、100個のShopify Flowを作る)
これが手間ではないようでしたら、コンセプトだけですが、下記のようなフローを組むことで実現できるのではないかと思います。
[フロー]
予定時刻トリガー
↓
Get customer dataで、「202406計算済み」※というタグを持っていない顧客を取得
↓
Run Codeで、1年間の購入金額を算出
↓
金額による条件分岐
↓
顧客にタグをつけるアクションで、ご希望のタグと「202406計算済み」のタグの2つをつける
上記のフローを顧客数に応じて作成し、少しずつトリガーの実行時間をずらしておきます。
※「202406計算済み」というタグは、2024年6月にこのトリガーが実行されたことを想定しています。
予定時刻トリガーから取得できる実行日時の変数をうまく使うことで指定できるのではないかと思います。
しかし、これを作るくらいであれば、
顧客のセグメントで、「過去一年間の購入金額XX円以上」のようなセグメントを作成できますので、
月一回、セグメントを見て、一括タグ付けをされた方が随分簡単かもしれません。
ご参考まで。
(キュー田辺)
2 Likes
Tubasa
3
ご回答ありがとうございます。
現在対象ストアの顧客数は16000以上いるので、処理の時間にどれほどかかるのかも考慮すると、
あまり現実的ではなさそうですね。
顧客のセグメントで、「過去一年間の購入金額XX円以上」のようなセグメントを作成できますので、
こちらの方法をご教示いただけないでしょうか。
たとえば、11/29に10,000円以上購入した人をセグメントしたい場合、以下のように記述しても、
・11/29に金額にかかわらず購入した人 かつ
・過去に10,000円以上購入した人
となってしまい、意図したセグメントとならず困っております。。
amount_spent >= 10000 AND products_purchased(since: 2024-11-29, until: 2024-11-29) = true
Qcoltd
5
@yukisuzuki
11/29に10,000円以上購入した人をセグメントしたい場合
その場合は、こうではなく、
amount_spent >= 10000 AND products_purchased(since: 2024-11-29, until: 2024-11-29) = true
下記のようにすると良いはずです。(検証はしておりません。)
orders_placed( since: 2024-11-29, until: 2024-11-29, sum_amount_at_least: 10000) = true
ちなみに、この場合、極端な例ですが、11月29日に、2,000円の注文を5回行った場合も対象になります。
(11月29日に行われた注文全ての合計金額が10,000円以上の顧客が絞り込まれます。)
ご参考まで。
(キュー田辺)
1 Like