---
title: >-
  First sign-ins to customer accounts now set Customer.state and send
  customers/enable webhooks - Shopify developer changelog
description: >-
  Shopify’s developer changelog documents all changes to Shopify’s platform.
  Find the latest news and learn about new platform opportunities.
source_url:
  html: >-
    https://shopify.dev/changelog/posts/first-sign-ins-to-new-customer-accounts-now-set-customer-state-and-send-customers-enable
  md: >-
    https://shopify.dev/changelog/posts/first-sign-ins-to-new-customer-accounts-now-set-customer-state-and-send-customers-enable.md
metadata:
  effectiveApiVersion: ''
  affectedApi:
    - displayName: GraphQL Admin API
      handle: admin-graphql
    - displayName: App Events API
      handle: app-events-api
    - displayName: Events & webhooks
      handle: webhook
  primaryTag:
    displayName: API
    handle: api
  secondaryTag:
    displayName: Update
    handle: update
  indicatesActionRequired: false
  createdAt: '2026-10-16T16:26:16-04:00'
  postedAt: '2026-10-28T11:50:00-04:00'
  updatedAt: '2026-10-28T11:26:12-04:00'
  effectiveAt: '2026-10-17T12:00:00-04:00'
---

October 28, 2026

# First sign-ins to customer accounts now set Customer.state and send customers/enable webhooks

DateOctober 28, 2026

FlagsUpdate

SurfacesAPI

Affected APIs[GraphQL Admin API](https://shopify.dev/changelog?api_type=admin-graphql)[App Events API](https://shopify.dev/changelog?api_type=app-events-api)[Events & webhooks](https://shopify.dev/changelog?api_type=webhook)

A customer's first sign-in to [customer accounts](https://help.shopify.com/en/manual/customers/customer-accounts/new-customer-accounts) now sets [`Customer.state`](https://shopify.dev/docs/api/admin-graphql/latest/objects/Customer#field-Customer.fields.state) to `ENABLED` and sends the `customers/enable` and `customers/update` 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 [`customers/enable`](https://shopify.dev/docs/api/webhooks/latest?reference=toml#list-of-topics-customers/enable) and [`customers/update`](https://shopify.dev/docs/api/webhooks/latest?reference=toml#list-of-topics-customers/update) webhooks. This happens for every sign-in method, including email code, Shop, Google, Facebook, Apple, and [third-party identity providers](https://help.shopify.com/en/manual/customers/customer-accounts/new-customer-accounts/identity-provider/connect).

Until now, customers who used customer accounts stayed `DISABLED` after they signed in. As a result, Liquid [`customer.has_account`](https://shopify.dev/docs/api/liquid/objects/customer#customer-has_account) 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 `updated_at` to find these customers, because the update didn't change it for all of them. Query [`Customer.state`](https://shopify.dev/docs/api/admin-graphql/latest/objects/Customer#field-Customer.fields.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.state`](https://shopify.dev/docs/api/admin-graphql/latest/objects/Customer#field-Customer.fields.state) from the GraphQL Admin API
* Listens for the [`customers/enable`](https://shopify.dev/docs/api/webhooks/latest?reference=toml#list-of-topics-customers/enable) or [`customers/update`](https://shopify.dev/docs/api/webhooks/latest?reference=toml#list-of-topics-customers/update) webhooks
* Consumes [`customer.state`](https://shopify.dev/docs/api/events/latest/customer#list-of-topics-customer.state) events from the Events API
* Uses Liquid [`customer.has_account`](https://shopify.dev/docs/api/liquid/objects/customer#customer-has_account) 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 `customers/enable` 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 `ENABLED` in 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 `customer.has_account` returns `true` for customers who signed in to customer accounts.
