{"title":"CustomerAddress - Liquid Object Reference","slug":"customer-address-liquid-object-reference","url":"https://support.storeconnect.com/articles/customer-address-liquid-object-reference","url_markdown":"https://support.storeconnect.com/articles/customer-address-liquid-object-reference.md","subtitle":null,"summary":"Attributes of the CustomerAddress Liquid object, one entry in the signed-in customer\u0026#39;s address book. Use it to list, edit, delete, or set default addresses in a theme, and to pre-fill address forms.","type":"Developer_Documentation","video_url":"","keywords":"liquid, objects, CustomerAddress, address book, addresses, default shipping, default billing, template, storeconnect","last_modified":"2026-11-03T22:15:07+0000","body_markdown":"## Description\n\nThe CustomerAddress object is one entry in a customer's address book. Reach the list through `current_customer.addresses`, which returns only the signed-in customer's saved entries. The address book belongs to the contact rather than the account, so colleagues on one account never see each other's entries.\n\n\n```liquid\n\n{% for entry in current_customer.addresses %}\n  \u003cp\u003e\n    {{ entry.label | default: entry.address.city }}\n    {% if entry.is_default_shipping? %}(default shipping){% endif %}\n    \u003ca href=\"{{ entry.edit_path }}\"\u003eEdit\u003c/a\u003e\n  \u003c/p\u003e\n{% endfor %}\n```\n\n\n## Attributes\n\n| Attribute | Type | Description |\n|-----------|------|-------------|\n| `address` | Address | The address itself. See [Address - Liquid Object Reference](address-liquid-object-reference) |\n| `contact` | Contact | The Contact this entry belongs to |\n| `edit_path` | String | Path to the page that displays the edit form for this entry |\n| `id` | String | The unique id for this entry |\n| `is_default_billing?` | Boolean | Returns true when this is the contact's default billing address |\n| `is_default_shipping?` | Boolean | Returns true when this is the contact's default shipping address |\n| `label` | String | An optional label the customer gave the entry, such as `Home` or `Warehouse` |\n| `path` | String | Path to this entry, which a form posts to in order to update or delete it |\n\nThe address fields sit on the nested `address` attribute, not at the top level, so a book entry and a cart or order address expose the same field surface for the same data. Read `entry.address.street` and `entry.address.city`, and only the entry's own metadata directly on the entry.\n\n## Available on\n\n- [Contact - Liquid Object Reference](contact-liquid-object-reference) — `addresses`\n\n## Pre-filling a form\n\nUse `current_customer.preferred_shipping_address` and `current_customer.preferred_billing_address` to pre-fill an address form. They return the customer's default entry for that type, or the account's own address when the customer has no default. This is also the only way the account's own address reaches a theme.\n\nThey are not CustomerAddress objects. They return a plain [Address](address-liquid-object-reference) with no `id`, `label` or `contact`, and they never return nil, so you do not need to check whether they are present.\n\n\n```liquid\n\n{% assign ship_to = current_customer.preferred_shipping_address %}\n\u003cinput name=\"city\" value=\"{{ ship_to.city }}\"\u003e\n```\n\n\n:::note\nA theme cannot tell whether the customer set an explicit default. `preferred_shipping_address` returns the same shape either way, and there are no `default_shipping_address` or `default_billing_address` attributes on the customer, so a template cannot prompt a customer to set a default address.\n:::"}