Appify CPO stores a short hidden _state id on each customized line at add-to-cart. The order confirmation email can link to a shop-domain recover page that rebuilds that configuration and adds it to the clicker’s cart.
Shopify’s built-in reorder only posts a variant id and drops options.
For the full order-confirmation setup — custom options and Reorder, with a find-and-paste for every title in Shopify’s default template — use Set up the Order Confirmation Email.
A Reorder this item link under a customized line. Clicking it opens https://your-store.com/apps/calculator-ai/reorder?state=…, briefly shows “Restoring your cart…”, then lands on /cart. If the published calculator changed, they review the filled-in options first.
Hide the link when _state is blank (orders placed before this feature).
<!-- APPIFY CPO REORDER -->
{% assign st = line.properties._state %}
{% if st == blank %}
{% assign st = component.properties._state %}
{% endif %}
{% if st != blank %}
<p><a href="{{ shop.url }}/apps/calculator-ai/reorder?state={{ st }}">Reorder this item</a></p>
{% endif %}
<!-- APPIFY CPO END REORDER -->
Use line.properties or component.properties depending on your template (newer Shopify templates use component).
The HTML comments mark the Appify CPO block. Search for APPIFY CPO REORDER later if you need to find or remove it.
/cart/add.js uses that browser’s cart cookies.