# Checkout extra fields

**Checkout extra fields** allow you to add highly customizable input fields, selectors, and tips/charges to the checkout.&#x20;

With checkout extra fields, you can:

* Collect additional customer data at the checkout and save it to the order details, for example, delivery comments.
* Set up a tips collection in your store.
* Collect additional hidden surcharges based on certain conditions, for example, specific shipping methods.
* Set up a referral or loyalty tracking.
* And many more!

Choose one of three ways of adding extra fields to the checkout:

* Use a [**no-code solution**](https://my.ecwid.com/#extrafield-settings) built into the Ecwid admin.\
  The functionality is limited to input fields, selectors, and a non-configurable datepicker.
* Set up a custom JavaScript file that dynamically adds checkout extra fields on the storefront. This way, you are not limited in available functionality, and can set up extra fields flexibly for each order depending on custom conditions. [Add checkout extra fields with JavaScript](/api-reference/rest-api/checkout-extra-fields/add-checkout-extra-fields-with-javascript.md)
* Create and manage checkout extra fields with the REST API. This way, you also have access to all functionality and do not depend on the availability of your JavaScript file. However, these fields will always be the same for all orders in your store. [Manage checkout extra fields with REST API](/api-reference/rest-api/checkout-extra-fields/manage-checkout-extra-fields-with-rest-api.md)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.ecwid.com/api-reference/rest-api/checkout-extra-fields.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
