> For the complete documentation index, see [llms.txt](https://the-wishlist-documentation.gitbook.io/the-wishlist-documentation-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://the-wishlist-documentation.gitbook.io/the-wishlist-documentation-docs/developer-reference/wishlist-sharing.md).

# Wishlist sharing

### How share links work

A share link looks like this:

```
https://<your-domain>/pages/share-wishlist?share_id=<share_id>
```

* `share_id` is an opaque, URL-encoded token generated by The Wishlist Co. It is **not** the wishlist ID. Don't build or modify it yourself.
* The page at `/pages/share-wishlist` loads the TWC storefront script. The script reads `share_id`, fetches the shared wishlist and renders it.
* The link is only as good as the page it points to. If the page doesn't render the wishlist, the link "doesn't work", even though the token is valid.

### Common problems and fixes

#### 1. The share page is missing the wishlist markup

**Symptom:** The page loads (often with the title "Share Wishlist") but shows nothing.

**Cause:** The Shopify page `share-wishlist` exists but its content doesn't include the TWC wishlist container, so the script has nothing to render into.

**Fix:** Make sure the page uses the TWC share-wishlist page content or template (it must contain the `ucwl-page-container` element). Compare it with your `/pages/wishlist` page, which should already contain the container.

#### 2. The widget is disabled on the share page

**Symptom:** The page loads, the container is present, but nothing renders.

**Cause:** The theme sets `window.theWishlistDisable = true` on the share page. When this flag is `true`, the TWC script does not initialise.

**Fix:** Search your theme for `theWishlistDisable` and make sure it isn't set on the share-wishlist template. Only use it on pages where you intentionally don't want the widget.

#### 3. Wrong share page URL

**Symptom:** The share page never activates, or the generated link points to a page that doesn't exist.

**Cause:** The script only runs the share logic when the current URL matches the configured share page path (default `/pages/share-wishlist`). If your page uses a different handle, the script won't recognise it.

**Fix:** Either use the default handle `share-wishlist`, or set `wishlistSharePageUrl` in your storefront wishlist configuration to your actual path.

#### 4. Incorrect `shareLinkPrefix` (server-generated links only)

This applies only if you generate links through the API (for example, from POS or the public Wishlist API) rather than the storefront Share button. The storefront button builds the link from the current site origin and does not use the prefix.

**Symptom:** Links from the API point at a host that doesn't resolve.

**Cause:** `shareLinkPrefix` in your tenant config contains a wrong or malformed domain, for example a public domain with `.myshopify.com` appended to it.

**Fix:** Set the prefix to the exact storefront URL, including the trailing `share_id=`:

```
shareLinkPrefix: https://<your-storefront-domain>/pages/share-wishlist?share_id=
shareLinkMethod: SHOPIFY
```

Use your customer-facing domain. The store's tenant ID and `.myshopify.com` domain may differ from it.  &#x20;

Contact us if you need more help with custom share links.

### Checklist

* [ ] `/pages/share-wishlist` exists and contains the TWC wishlist container.
* [ ] `window.theWishlistDisable` is not `true` on that page.
* [ ] The page path matches `wishlistSharePageUrl` (default `/pages/share-wishlist`).
* [ ] If you generate links via the API, `shareLinkPrefix` uses your real storefront domain and ends with `share_id=`.
* [ ] Opening a real share link in a private browser window shows the wishlist, and the browser console shows no errors from the TWC script.
