分析データを取得する
分析データを取得するアクションは、ShopifyQL クエリを実行し、ワークフローで使用できる結果を返します。ShopifyQL は、コマース分析用に構築されたクエリ言語です。これを使用して、期間に基づいて指標を集計し、絞り込みを適用して、商品、コレクション、お客様などのディメンションでグループ化することができます。このアクションから返されるデータは、後続のステップの条件やアクションで使用できます。
トリガー
分析データを取得するアクションは、スケジュールされた時刻トリガーでのみ使用できます。イベントベースのトリガーには、分析データが含まれません。
設定
フィールド
分析データを取得するアクションには、以下のフィールドが含まれています。
| フィールド | 説明 |
|---|---|
| ShopifyQL クエリ | 必須。ストアの分析データに対して実行する ShopifyQL クエリ。 |
ShopifyQL クエリ
sales、sessions、inventory、payments などのサポートされているスキーマを使用して、有効な ShopifyQL クエリを記述できます。たとえば、以下のクエリを実行すると、ワークフローが実行された日の販売合計とお客様の数が返されます。
FROM sales
SHOW total_sales, customers
SINCE todayサポートされているスキーマ、関数、構文など、言語の完全なリファレンスについては、ShopifyQL のドキュメントを参照してください。
クエリは、ワークフローを保存する際に検証されます。クエリがストアに対して正常に実行されるまで、ワークフローを有効にすることはできません。
返されるデータ
分析データを取得するアクションは、クエリに一致する行を返し、getAnalyticsData という名前の変数として使用できるようにします。行は getAnalyticsData.rows に格納され、各行はクエリの列名をキーとするオブジェクトになります。
この変数は、後続のステップの条件とアクションの両方で使用できます。たとえば、各行をリストした社内メールを送信する場合、以下のような Liquid を使用できます。
{% for row in getAnalyticsData.rows %}
* {{ row.total_sales }} in sales from {{ row.customers }} customers
{% endfor %}各行にアクションを適用するなど、各行を個別に処理するには、getAnalyticsData.rows で For eachループ (反復処理) アクションを使用できます。行のカウントや列の合計など、値を集計するには、カウントアクションや合計アクションを使用できます。
API リファレンス
このアクションで使用される API の詳細については、GraphQL Admin API の shopifyqlQuery クエリを参照してください。
クエリの複雑さ
各 ShopifyQL クエリには、クエリで使用するスキーマ、列、絞り込み、期間から計算される複雑さのコストがあります。クエリが複雑さの制限を超えると、アクションは失敗し、ワークフローを有効にできなくなります。クエリのコストを削減するには、期間を短くしたり、列を削除したり、結合を削除したりします。
クエリコストの計算方法と現在の制限の詳細については、ShopifyQL Admin API のレート制限を参照してください。