DOCS

Customer profiles

Pre-load recurring shopper information into Zonos Checkout.

Customer profiles streamline your checkout experience by allowing customers with an account to pre-load their address and payment details.

This feature is currently only available for custom API integrations. This feature is not yet available for merchants using Checkout plugins.

If you sell to resellers, government agencies, or nonprofits, you can also sync their tax exemption certificates to a customer profile.

Create or update a profile without a shopper 

checkoutCustomerProfileAuthenticate requires the shopper to be present, since it issues a one-time password for that checkout session. When you want to create or update a profile outside of a checkout—loading your customer list ahead of time, syncing profile changes from your own system, or attaching tax exemptions before a customer's first order—use checkoutCustomerUpsert instead.

1mutation checkoutCustomerUpsert($input: CheckoutCustomerProfileInput!) {
2 checkoutCustomerUpsert(input: $input) {
3 customerId
4 email
5 name
6 phone
7 locations {
8 administrativeArea
9 countryCode
10 line1
11 line2
12 locality
13 postalCode
14 }
15 }
16}

Profiles are matched on customerId, so calling this repeatedly updates the same profile rather than creating duplicates. It is safe to run across your whole customer list on a schedule.

Three things to know about how updates apply:

  • Omitted fields are left alone. Sending only name updates the name and leaves email and phone as they were.
  • Values cannot be cleared. Sending an empty value is treated the same as omitting the field, so there is no way to remove a name, email, or phone once set.
  • Addresses are only added. A location that already exists on the profile is not duplicated, and locations left out of the request are not removed.

checkoutCustomerUpsert does not return a oneTimePassword. To load a profile into Checkout you still need checkoutCustomerProfileAuthenticate, which issues one for that session.

GraphQL API ReferenceTypes, inputs, and operations used in this guide
Book a demo

Was this page helpful?


Get support·Legal docs·© 2026 Zonos