Skip to main content
Log inSign up
query

Returns a list of customers in your Shopify store, including key information such as name, email, location, and purchase history. Use this query to segment your audience, personalize marketing campaigns, or analyze customer behavior by applying filters based on location, order history, marketing preferences and tags. The customers query supports pagination and sorting.

Anchor to Arguments

CustomerConnection arguments

CustomerConnection!

The elements that come after the specified cursor.

The elements that come before the specified cursor.

The first n elements from the paginated list.

The last n elements from the paginated list.

A filter made up of terms, connectives, modifiers, and comparators. You can apply one or more filters to a query. Learn more about Shopify API search syntax.

Anchor to default
string

Filter by a case-insensitive search of multiple fields in a document.

Example:

  • query=Bob Norman
  • query=title:green hoodie
Anchor to accepts_marketing
boolean

Filter by whether a customer has consented to receive marketing material.

Example:

  • accepts_marketing:true
Anchor to country
string

Filter by the country associated with the customer's address. Use either the country name or the two-letter country code.

Example:

  • country:Canada
  • country:JP
Anchor to customer_date
time

Filter by the date and time when the customer record was created. This query parameter filters by the createdAt field.

Example:

  • customer_date:'2024-03-15T14:30:00Z'
  • customer_date:'>=2024-01-01'
string

The customer's email address, used to communicate information about orders and for the purposes of email marketing campaigns. You can use a wildcard value to filter the query by customers who have an email address specified.

Example:

  • email:bo.wang@example.com
  • email:*
Anchor to first_name
string

Filter by the customer's first name.

Example:

  • first_name:Jane
id

Filter by id range.

Example:

  • id:1234
  • id:>=1234
  • id:<=1234
Anchor to last_abandoned_order_date
time

Filter by the date and time of the customer's most recent abandoned checkout. An abandoned checkout occurs when a customer adds items to their cart, begins the checkout process, but leaves the site without completing their purchase.

Example:

  • last_abandoned_order_date:'2024-04-01T10:00:00Z'
  • last_abandoned_order_date:'>=2024-01-01'
Anchor to last_name
string

Filter by the customer's last name.

Example:

  • last_name:Reeves
Anchor to order_date
time

Filter by the date and time that the order was placed by the customer. Use this query filter to check if a customer has placed at least one order within a specified date range.

Example:

  • order_date:'2024-02-20T00:00:00Z'
  • order_date:'>=2024-01-01'
  • order_date:'2024-01-01..2024-03-31'
Anchor to orders_count
integer

Filter by the total number of orders a customer has placed.

Example:

  • orders_count:5
string

The phone number of the customer, used to communicate information about orders and for the purposes of SMS marketing campaigns. You can use a wildcard value to filter the query by customers who have a phone number specified.

Example:

  • phone:+18005550100
  • phone:*
string

Filter by the state, province, or prefecture associated with the customer's address. Use either the name or the two-letter code.

Example:

  • state:Ontario
  • state:California
string

Filter by the tags that are associated with the customer. This query parameter accepts multiple tags separated by commas.

Example:

  • tag:'VIP'
  • tag:'Wholesale,Repeat'
Anchor to tag_not
string

Filter by the tags that aren't associated with the customer. This query parameter accepts multiple tags separated by commas.

Example:

  • tag_not:'Prospect'
  • tag_not:'Test,Internal'
Anchor to total_spent
float

Filter by the total amount of money a customer has spent across all orders.

Example:

  • total_spent:100.50
  • total_spent:50.00
  • total_spent:>100.50
  • total_spent:>50.00
Anchor to updated_at
time

The date and time, matching a whole day, when the customer's information was last updated.

Example:

  • updated_at:2024-01-01T00:00:00Z
  • updated_at:<now
  • updated_at:<=2024
BooleanDefault:false

Reverse the order of the underlying list.

Sort the underlying list using a key. If your query is slow or returns an error, then try specifying a sort key that matches the field used in the search.


Was this section helpful?

The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.

[Customer!]!non-null

A list of nodes that are contained in CustomerEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.

PageInfo!non-null

An object that’s used to retrieve cursor information about the current page.


Was this section helpful?