Understanding Customer Creation and Existing Customer Data on Approval
What you will achieve in this guide
Follow this step-by-step documentation to configure custom B2B registration forms, approval workflows, and customer tagging.
Approval matches Shopify customers by email, preserves existing name, phone, and tags, and adds the form’s approval tags.
Before you begin
Review the form’s questions, saved approval settings, and active rule order. Have controlled applications ready for matching and nonmatching cases. Check Shopify B2B availability separately before enabling company creation.
Email decides whether a record is reused
The current approval implementation uses customerSet to upsert by email. A matching customer is reused rather than creating a second record, and approval tags are added on top of existing tags.
An existing customer's name and phone are preserved, so a changed answer is not a promise that approval will overwrite those values. Inspect the linked record and the submission separately when a reviewer needs to compare the original customer details with the new application.
Reference and examples
| Before approval | Expected after approval |
|---|---|
| No customer for applicant email | Create/link the customer as part of approval. |
| Existing customer with name and phone | Reuse the record and preserve its saved name/phone. |
| Existing unrelated tags | Retain them and add the configured approval tags. |
| Changed answer in a new application | Keep the submission for review; do not assume existing customer fields are overwritten. |
Example
Create a Shopify test customer using an email you control, a known phone number, and an unrelated demo-existing tag. Submit an application using that email and approve it with demo-wholesale.
Expected result
The existing customer is reused by email, its existing name, phone, and tags are preserved, and the approval tag is added.
Limits and important behavior
- The current release uses customerSet as an email-based upsert.
- Customer matching depends on the applicant email; avoid conflicting email fields.
- Do not assume application answers overwrite all existing customer profile fields.
Troubleshooting and verification
If approval does not create a second customer, search by the submitted email: reuse of the existing customer is expected. Its name, phone, and prior tags are preserved while approval tags are added. Test a new email separately when checking new-record mapping.
Screenshots to add
Screenshot placeholder: Capture the app screen or test result described in “Understanding Customer Creation and Existing Customer Data on Approval”. Include the relevant saved settings and the example outcome so readers can connect the explanation to the interface. Use dummy applicant details and mask any secrets.
Related guides
Was this article helpful?
Your feedback helps us continuously improve our setup guides and documentation.
Thank you for your feedback! Our documentation team reviews all suggestions.