Liquid、JavaScriptなどに関する質問
自社 EC における顧客数の推移を記録するため、毎朝バッチ処理で Customers API をコールし、
pagination にも対応した上で顧客を全件取得し、取得できた顧客の総数を記録してスプレッドシートに日付を添えて書き込んでいます。
本日の集計結果を確認したところ、前日と比較して急激に顧客数が減ったので調査してみたところ、
そもそも Shopify管理画面上の顧客数と API 経由で取得できる顧客数が一致していないことがわかりました。
Admin API をコールするときはフィルタ設定なし、Shopify 管理画面上では以下のフィルタのみを適用しています。
customer_account_status != 'DECLINED'
20顧客ほどのズレが生じしているのですが、どういうケースでズレが発生するのでしょうか?
ズレている原因なのかはわかりませんが、Shopify管理画面の顧客管理ページ上の顧客総数はCustomers APIではなく、customerSegmentMembersを使って取得してそうです。
下記のようなクエリで顧客数を取得してます。
{
customerSegmentMembers(first: 1) {
statistics {
totalCount
}
}
}
管理画面のページ上でリクエストしているのを確認しただけですので、これが正しいというわけではないですが、customerSegmentMembersで取得できる数と比較してみると原因がわかるかもしれません。
クエリを一部間違えていたので訂正します。
{
customerSegmentMembers(first: 1, query: "") {
statistics {
totalCount
}
}
}
また、APIバージョン2023-07以降ではstatistics.totalCountが非推奨になるので、下記のクエリで同様のことができます。
{
customerSegmentMembers(first: 1, query: "") {
totalCount
}
}
サポートの選択肢が増えていく中、最適となる選択の判断が難しくなっているかと存じます。今回は問題の解決に最適となるサポートの選択方法を、紹介させて頂きます。 選択肢のご紹介...
By Mirai Oct 6, 20242023年初頭、Shopifyペイメントアカウント、及びShopifyアカウント全体のセキュリティを強化する為の変更が適用されました。ユーザーのアカウントセキュリティを強化す...
By Mirai Sep 29, 2024概要: 年末/年明けは、消費者が最もショッピングを行う時期の一つです。特に、ブラックフライデー・サイバーマンデー(BFCM)は、世界中で注目される大規模なセールイベントであ...
By JapanGuru Sep 25, 2024