注文が作成された際、その注文を行った顧客の前回の注文が3ヶ月以上前の場合、
例えば「不正リスク」というタグを注文に付与する、
と理解いたしました。
質問者様も、
order.customer.lastOrder.createdAt
をShopify Flowの条件で比較されようとしたのではないかと思うのですが、
Shopify Flowの条件にて日付比較をしようとすると、
特定の指定日時か、Shopifyから出力できる日時としか比較できないため、
それに困られての質問ではないかと推察します。
Shopify Flowで動的な日付比較(「現在より3ヶ月前」のような比較)を行う方法について、
私はスマートな方法を存じ上げないため、
かなり回りくどい方法の説明なってしまうことご容赦ください。
こちらの投稿に記載したアプローチになります。
質問者様のケースですと下記のようになるかと思います。
- 「最終注文3ヶ月以上前」というメタフィールドを顧客情報に追加 (タイプは真偽値[true/false]が良いかと思います。)
- Shopify Flowにて、Order Createdをトリガーにフローを作成
- そのフローにて、アクション「Update customer metafield」を使用し、メタフィールド「最終注文3ヶ月以上前」のValue設定を行います。
- メタフィールド更新におけるValue設定欄内であれば、自由にliquidを使用できることを活用し、上記のValue設定欄内にて「order.customer.lastOrder.createdAt」が「order.createdAtから3ヶ月マイナスした日時」より小さいかを比較し、小さいならば、メタフィールド「最終注文3ヶ月以上前」にtrueを設定し、そうでなければfalseを設定します。(order.customer.lastOrder.createdAtが存在しない場合は、初回購入となりますので、その場合は、falseが設定されるようにliquidを組みます。)
- 上記のアクション「Update customer metafield」の後に、1,2分ほどアクション「Wait」を行います。(※Shopifyがメタフィールドを更新するのを待ちます)
- 続いて条件で、メタフィールド「最終注文3ヶ月以上前」の値がtrueかどうかを判定
- 上記がtrueの場合、アクションで、注文にタグ「不正リスク」を付与
もし、
より具体的なフローの内容をお知りになりたい場合はお声がけください。
すぐに回答できないかもしれませんが、なるべく回答できるようにいたします。
なお、下記については、
質問者様の別の投稿にて私から回答しており、
おそらく私以外からの回答を集められているのではないかと思います。
また下記のように1つのワークフローを分けて配信したいのですが、顧客タグ付与をトリガーにすることは可能でしょうか?
①1回購入⇒配信1⇒配信2⇒購入回数増えていない場合タグ付与
②↑のタグ付与した顧客に⇒配信1⇒配信2⇒配信3
大変お手数おかけしますが、
上記の部分だけ、もう一度、新たに投稿いただいた方が、
回答を得られる可能性が高まるかと思います。
ご参考まで。
(キュー田辺)