Skip to main content
— Setup walkthrough

Add a checkout customisation input for personalized products

Personalised products need the customer's request — a name to embroider, a recipient, a date — captured at checkout. Add a Shopify line-item property or checkout UI extension that writes a property named Customization Request. Alva Digital Downloads reads it and surfaces the value on the order detail page when you upload the file.

Two ways to capture personalisation

Shopify owns the storefront and checkout, so the input is added through Shopify-native mechanisms. Pick one path.

  • Line-item property — a custom field on the product page. Works on every Shopify plan. Requires a small theme edit.
  • Checkout UI extension — a custom block rendered inside checkout. Shopify Plus only. No theme edit, but a developer deploys a custom app.

Both methods produce the same outcome: a property attached to the line item. As long as it is named Customization Request, Alva auto-extracts the value.

Method 1 — Line item property

1. Open the product template

In Shopify admin, go to Online Store → Themes, click Edit code, and open sections/main-product.liquid (or product-template.liquid on older themes).

Screenshot needed

Shopify theme code editor. Show the file tree on the left with main-product.liquid highlighted, and the Liquid file open on the right scrolled to the product form block. No real shop data visible.

The product template open in the Shopify theme code editor.

2. Add the input inside the product form

Inside the {% form 'product' %} block, add a label and a text input. The name attribute must use the bracket syntax properties[Customization Request] — this tells Shopify to attach the value to the line item.

<label for="customization">Personalisation request</label>
<input type="text"
       id="customization"
       name="properties[Customization Request]"
       maxlength="200"
       required>

3. Set required and length constraints

Add required so customers cannot leave it blank, and maxlength="200" so they cannot paste a paragraph. Keep the label concrete — Name to embroider beats Customisation.

4. Save and place a test order

Save the template, view the product on the storefront, fill in the input, and place a test order. The value appears in Shopify under Order → Line items and inside Alva on the personalised order detail page.

Screenshot needed

A product page on the storefront with the personalisation input rendered above the Add to cart button. Field labelled "Name to embroider" with a placeholder example. No real shop branding required.

The personalisation input rendered on the storefront product page.

Method 2 — Checkout UI extension

Plus merchants can render the input inside checkout itself. Alva Digital Downloads does not ship this extension — building it is a Shopify developer task. See Shopify's checkout UI extensions reference for the current API.

1. Scaffold an extension

From a custom Shopify app, run shopify app generate extension and choose Checkout UI extension. Pick the purchase.checkout.block.render target.

2. Write the line-item property

Use the line-item property API from @shopify/ui-extensions-react/checkout to attach the value to the line item under the key Customization Request.

3. Deploy and place the block

Run shopify app deploy, then in Settings → Checkout → Customise, drop the new block into the layout and place a test order.

Where the value appears in Alva

When Shopify fires the orders/paid webhook, Alva reads any line-item property named exactly Customization Request and stores it against the purchase. The personalised order detail page renders the value above the file uploader, and the same text is included in the merchant notification email.

FAQ

Can I make the customisation field required?

Yes. Add the HTML required attribute. Shopify blocks Add to cart until the field has a value. The checkout UI extension method exposes a required option in the extension settings.

Can I capture more than one input per product?

Yes, but Alva only auto-extracts the property named Customization Request. Other line-item properties still appear on the Shopify order and are visible inside Alva on the order detail page.

Can the customer edit the input after the order is paid?

No. Line-item properties are immutable once the order is placed. If a correction is needed, ask the customer to email it and update the order notes manually before uploading the file.

See also

Was this helpful?

Still stuck? Email us.

Last updated 2026-05-06