FROM CACHE - jp_header
このコミュニティはピアツーピアサポートに移行しました。Shopify サポートは今後、このコミュニティへのサービスを提供いたしません。これからもぜひ、他のマーチャントやパートナーとつながり、サポートし合い、経験を共有してください。 当社の行動規範に違反する行動や削除を希望するコンテンツがありましたら、引き続きご報告ください

Shopify管理画面上に表示される顧客数と、Admin API 経由で取得できる顧客の総数が一致しない

Shopify管理画面上に表示される顧客数と、Admin API 経由で取得できる顧客の総数が一致しない

mojibakeo
Shopify Partner
1 0 0

自社 EC における顧客数の推移を記録するため、毎朝バッチ処理で Customers API をコールし、

pagination にも対応した上で顧客を全件取得し、取得できた顧客の総数を記録してスプレッドシートに日付を添えて書き込んでいます。

 

本日の集計結果を確認したところ、前日と比較して急激に顧客数が減ったので調査してみたところ、

そもそも Shopify管理画面上の顧客数と API 経由で取得できる顧客数が一致していないことがわかりました。

 

Admin API をコールするときはフィルタ設定なし、Shopify 管理画面上では以下のフィルタのみを適用しています。

customer_account_status != 'DECLINED'

20顧客ほどのズレが生じしているのですが、どういうケースでズレが発生するのでしょうか?

2件の返信2

ogasawarakyohei
Shopify Partner
114 44 43

ズレている原因なのかはわかりませんが、Shopify管理画面の顧客管理ページ上の顧客総数はCustomers APIではなく、customerSegmentMembersを使って取得してそうです。

下記のようなクエリで顧客数を取得してます。

 

{
  customerSegmentMembers(first: 1) {
    statistics {
      totalCount
    }
  }
}

 

管理画面のページ上でリクエストしているのを確認しただけですので、これが正しいというわけではないですが、customerSegmentMembersで取得できる数と比較してみると原因がわかるかもしれません。

小笠原 京平 | 株式会社Tsun | RuffRuff アプリ
・私の回答が役に立ったら、いいね! ボタンをクリックして教えてください!
Shopify 開発で役に立つ情報を発信していますので、テックブログおすすめ Shopifyアプリ もぜひご参照ください。
ogasawarakyohei
Shopify Partner
114 44 43

クエリを一部間違えていたので訂正します。

{
  customerSegmentMembers(first: 1, query: "") {
    statistics {
      totalCount
    }
  }
}

 

また、APIバージョン2023-07以降ではstatistics.totalCountが非推奨になるので、下記のクエリで同様のことができます。

https://shopify.dev/changelog/moving-total_count-field-from-segmentstatistics-to-customersegmentmemb...

{
  customerSegmentMembers(first: 1, query: "") {
    totalCount
  }
}
小笠原 京平 | 株式会社Tsun | RuffRuff アプリ
・私の回答が役に立ったら、いいね! ボタンをクリックして教えてください!
Shopify 開発で役に立つ情報を発信していますので、テックブログおすすめ Shopifyアプリ もぜひご参照ください。