> ## Documentation Index
> Fetch the complete documentation index at: https://storekit.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Customer Details Prefill via URL

> Pre-populate customer details like name, email, and phone using URL query parameters. Build seamless checkout links for loyalty, marketing, and CRM workflows.

You can construct a URL that automatically fills in a customer's contact details (name, email, phone, etc.) when they open your store. This is useful for marketing campaigns, loyalty program links, captive Wi-Fi portals, QR codes, or any integration where you already know the customer and want to save them from entering their details manually.

## URL Format

```
https://{your-store-domain}/{venueSlug}?firstName={value}&lastName={value}&email={value}&phone={value}&postCode={value}
```

All parameters are optional — include only the ones you want to prefill.

## Supported Parameters

| Parameter   | Description              | Example                  |
| ----------- | ------------------------ | ------------------------ |
| `firstName` | Customer's first name    | `firstName=Jane`         |
| `lastName`  | Customer's last name     | `lastName=Smith`         |
| `email`     | Customer's email address | `email=jane@example.com` |
| `phone`     | Customer's phone number  | `phone=%2B447700900000`  |
| `postCode`  | Delivery postcode        | `postCode=SW1A%201AA`    |

<Note>
  Values containing special characters must be URL-encoded. For example, `+447700900000` becomes `%2B447700900000`, and spaces become `%20`.
</Note>

## Examples

Prefill just an email address:

```
https://order.storekit.com/my-restaurant?email=jane@example.com
```

Prefill full customer details:

```
https://order.storekit.com/my-restaurant?firstName=Jane&lastName=Smith&email=jane@example.com&phone=%2B447700900000
```

Combine with a discount code:

```
https://order.storekit.com/my-restaurant?email=jane@example.com&discount=WELCOME10
```

## How It Works

1. The customer opens the URL containing query parameters.
2. The store loads the menu as usual.
3. Each recognised parameter is read and used to populate the corresponding field in the checkout form.
4. The query parameters are removed from the URL so they do not appear in the address bar or get shared accidentally.
5. The customer sees their details pre-filled at checkout and can review or edit them before placing an order.

## Combining with Basket Prefill

You can combine customer detail parameters with a [basket prefill URL](/developers/basket-prefill) to send a customer directly to a pre-populated basket with their details already filled in:

```
https://order.storekit.com/my-restaurant/basket/BURGER01:2,FRIES01:1?firstName=Jane&email=jane@example.com
```

## Field Visibility

Prefilled values only appear if the corresponding field is enabled in your store's **User Information Settings** in the dashboard. For example, if the phone number field is disabled for your store, the `phone` parameter will be accepted but won't be visible to the customer at checkout.

<Warning>
  The query parameters are removed from the URL after being applied. If the customer refreshes the page, the values will not be re-applied from the URL. However, the fields remain populated for the duration of the session.
</Warning>
