Hello, we have recently switched our shop from the legacy accounts system to the new account system but have some issue differentiating users who signed up manually vs users who ordered (and where shopify created the customer profile automatically). Previously we used the state field which is no longer used by the new accounts. We also tagged those users using a flow that triggered on “Customer account enabled”, which also seems to no trigger on manual registration.
Now I am wondering if there is any way we can determine which users have created their account manually? The only indication seems to be a small icon next to the “Customer was created.” timeline entry in the customer page, but that is not exposed in the API or anywhere else.
Hi, I’m Vineet from Identixweb, a Shopify Development Company.
Unfortunately, there isn’t a reliable native way to make this distinction with the new customer accounts system.
With passwordless customer accounts, Shopify no longer treats creating an account as a separate activation event. If the customer already has a profile from an order, they can sign in using that profile. If the email is new, Shopify creates a profile automatically.
Because of this, the old Customer account enabled Flow trigger and account state field won’t help, and the timeline icon you mentioned isn’t currently available through Flow or the Admin API.
For future tracking, the cleanest option would be a small custom app or customer account extension that adds a customer metafield or tag the first time someone accesses their account, such as account_accessed or first_account_login_date.
That would tell you who has actually used the account area, although it still wouldn’t prove whether the original customer profile was created by checkout or by their first sign-in. Without custom tracking, using order count or creation date would only be an estimate and could also include abandoned checkouts, newsletter signups, or profiles created by staff/apps.
Hi @robdev This is a real gap in the new accounts system. A few workarounds that can help:
1. Shopify Flow — “Customer created” trigger with conditions
Set up a Flow that triggers on “Customer created” and checks if an order exists for that customer at the time of creation. If no order exists → tag as “manual-signup”. If an order exists simultaneously → tag as “auto-created”.
2. Check orders_count via API
When a customer is auto-created by an order, their orders_count will be 1 immediately. A manually registered customer will have orders_count: 0 at creation. You can query this via the Customer REST or GraphQL API to retroactively tag existing customers.
customer.orders_count == 0 at creation = manual signup
customer.orders_count == 1 at creation = auto-created by order
3. verified_email field
Manually registered customers go through email verification, so verified_email: true shortly after creation with orders_count: 0 is a strong signal of manual signup.
4. For retroactive tagging
Export your customer list and filter by customers with 0 orders — these are almost exclusively manual signups unless you have accounts created via API/app.
Unfortunately there’s no native “registration method” field exposed in the API yet, so Flow + orders_count is currently the most reliable approach.
Shopify doesn’t show the state fields in the new accounts system, the timeline icon is the only place it displays, and it’s not in the API or Flow currently.
Closest workaround would be to create a Flow on ‘Customer created’ that tags the customer as ‘manual-signup’ if they have no order at that moment. This is the best option without a custom app for now. For existing customers, filter an export by ‘0 orders’ - this picks up most manual signups, though it may include newsletter signups too.
Hi there @robdev
With the new customer accounts system, the old state based approach is now broken. A workaround would be to track account created events using Flow triggers available in the new system or your store a custom metafield for your customers on registration. For existing customers, you might want to compare acount creation dates, order history, and customer event to try to form a cluster. A custom app or automation can also keep that differentiation going forward.