Shopify Flowのトリガーの1つ「Schedule」。今回は「Schedule」トリガーによく使われる「商品や顧客などのデータを取得」におけるアイテムの絞り込みについて、その特徴を共有したいと思います。
先日作成した記事【Shopify小技】アプリなしで商品公開後「販売開始日時」を指定(予約)する方法にて、Shopify Flowトリガーの1つ「スケジュール(Schedule)」について少し触れました。
「スケジュール(Schedule)」とは、Shopify公式ヘルプページでは「予定時刻」と紹介されており、特定の日時に任意のアクションを施すためのトリガーです。
詳しく知りたい方は、以下のShopify公式ヘルプページをご確認ください。
様々な使い方があると思いますが、上記の別記事でも紹介したように、
①特定の日時に発火
②商品や顧客などのデータを取得
③それぞれのアイテム(商品や顧客など)に対して任意のアクション(例えばタグの追加や削除など)を実行
が多いかと思います。
今回は、②の「商品や顧客などのデータを取得」におけるアイテムの絞り込みについて、その特徴を共有したいと思います。
トリガー「Schedule」について
まず、トリガー「Schedule」について触れておきたいと思います。
「〇年〇月〇日になれば、〇〇〇を実行する」というワークフローのトリガーです。
この手のワークフローは、日時予約後に対象となるデータを取得する必要があるという特徴を持っております。
そのため、トリガー(日時予約) → 実行1(対象のデータ取得) → 実行2(そのデータに対する処理)という順になります。
フローにおいて「対象のデータを取得」するのが「Get product data(商品データ)」「Get customer data(顧客データ)」になります。
※他にも「Get order data(注文データ)」「Get collection data(コレクションデータ)」など色々なデータが取得できます。
データ取得の上限
各データは取得上限が設けられており、100個まで可能です。
もし大規模のデータに対してワークフローを実行させたい場合は、注意が必要です。
例えば、会員1万人を持つサイトで、クリスマスに会員全員にクーポン番号を送りたくても、上限は100名になる・・何らかの基準を設けて絞り込みをしなくてはなりません。
絞り込み機能
データの絞り込みには、2つの機能が用意されております。
並び替え(Sort data by)
まずは、並び替え(Sort data by)があります。
並び替えの条件と、「昇順」もしくが「降順」を掛け合わせて並び替えを行います。
並び替えの条件はデータの種類によって異なります。
データを絞り込むクエリを選択
もう1つの機能は「データを絞り込むクエリを選択」です。
こちらもデータの種類によって異なりますが、主にスケジュール予約の前日、前週などのデータを絞り込んで選択する事ができます。
これらのデータを選択した後は、Liquidを用いてクエリを編集することも可能です。
また「高度」という項目もあり「タグが付けれている」という指定も可能です。
例えば「苦情履歴あり」というタグを持っていれば、
tag:苦情履歴あり
とすれば、「苦情履歴あり」というタグを持っているユーザーのみを絞ってデータ取得が可能です。
データの絞り込みの特徴について
ここで1つ疑問が浮かびます。
例えば、会員が1万人がいて、そのうち50人に「苦情履歴あり」タグが付けられているとしましょう。
①並び替えをした上、さらにクエリ選択で絞り込むのか?
①クエリ選択も並び替えにおける1つの条件なのか?
もし①だとしたら、「苦情履歴あり」タグを持つユーザーを絞り込んで取得する事は難しくなります。
何らかの並び替え条件を指定しても、上限100名にしかデータ取得ができないため、その中でさらに「苦情履歴あり」タグを持つユーザーを絞り込むと、9900人は対象から外れるからです。
一方①の場合が、「苦情履歴あり」タグを持つユーザーが100人以下であれば、全員のデータを取得する事ができます。
では、実際はどちらの取得方法が採択されているのでしょうか。
検証してみたところ(幸いなことに)②の方法で絞り込みが行われており、より精度の高い絞り込みができる事を確認しました。
以上、「Get product data」「Get customer data」を設定する上で、そのデータ取得の特徴を知っておくと、様々なワークフローの作成に活用できると思い、共有いたします。
最後まで読んでいただきありがとうございました!