A customer's first sign-in to customer accounts now sets Customer.state to ENABLED and sends the and webhooks. This matches how account activation works in legacy customer accounts.
What's changing
When a customer signs in to customer accounts for the first time, Shopify sets Customer.state to ENABLED. Shopify then sends the and webhooks. This happens for every sign-in method, including email code, Shop, Google, Facebook, Apple, and third-party identity providers.
Until now, customers who used customer accounts stayed DISABLED after they signed in. As a result, Liquid returned false for them. It now returns true after their first sign-in.
Customers who already signed in
Customers who signed in to customer accounts between May 27, 2024 and today are already ENABLED. Shopify set their state in a one-time update that didn't send any webhooks. Don't rely on to find these customers, because the update didn't change it for all of them. Query Customer.state instead.
Customers who haven't signed in since May 27, 2024 stay DISABLED. Their next sign-in counts as a first sign-in. It sets their state to ENABLED and sends both webhooks.
Who's affected
You're affected if your app, integration, or theme does any of the following:
- Reads
Customer.statefrom the GraphQL Admin API - Listens for the
orwebhooks - Consumes
customer.stateevents from the Events API - Uses Liquid
to check whether a customer has an account
What you should do
Most apps don't need changes. If your app sends welcome messages, awards loyalty points, or syncs records when it receives or sees state: ENABLED, check these things:
- A customer's first sign-in is the moment you want your app to act.
- Your app handles customers who became
ENABLEDin the one-time update. They didn't trigger webhooks, so an app that only listens for webhooks won't see them. - Your theme still works as you expect now that
returnstruefor customers who signed in to customer accounts.