Add wishlist items in email
This guide explains how to display a customer’s wishlisted items inside a Klaviyo email using the custom properties generated by the Wishlist Power Klaviyo integration.
Once the Klaviyo integration is enabled, Wishlist Power automatically syncs each customer’s wishlisted product IDs to a Klaviyo custom property called WishlistPowerProductList.
With a small HTML snippet, you can dynamically show these products in any email.
Step-by-step guide
1. Open the Klaviyo Flow
Go to Flows, then select the flow where you want to display wishlisted items.

2. Open the email you want to edit
Click the “Edit” button on the email block.

3. Click “Edit email”

This opens the full email editor.
4. Insert an HTML block
Drag an HTML block into the email wherever you want the wishlisted items to appear.

5. Paste the HTML code
Insert the following code inside the HTML editor:
<table cellpadding="0" cellspacing="0" role="presentation" style="border-collapse:collapse;" width="100%">
<tr>
<td align="center" style="padding:16px 0;">
<table cellpadding="0" cellspacing="0" role="presentation" style="border-collapse:collapse; max-width:600px; width:100%;" width="600">
{% if person|lookup:'WishlistPowerProductList' %}
{% for item in person|lookup:'WishlistPowerProductList' %}
{% catalog item %}
{% if forloop.counter0|modulo:2 == 0 %}
<tr>
{% endif %}
<td style="padding:8px;" valign="top" width="50%">
<table cellpadding="0" cellspacing="0" role="presentation" style="border-collapse:collapse;" width="100%">
<tr>
<td align="center" style="padding:8px;">
<a href="{{ catalog_item.url }}" style="text-decoration:none;" target="_blank">
<img alt="{{ catalog_item.title }}" src="{{ catalog_item.featured_image.thumbnail.src }}" style="display:block; border:0; max-width:100%; height:auto;" width="260"/>
</a>
</td>
</tr>
<tr>
<td style="padding:8px 12px 12px; text-align:left;">
<p style="margin:0 0 6px; font-size:15px; color:#333; font-weight:600;">
{{ catalog_item.title }}
</p>
{% if catalog_item.metadata.price %}
<p style="margin:0 0 10px; font-size:14px; color:#555;">
${{ catalog_item.metadata.price }}
</p>
{% endif %}
<p style="margin:0;">
<a aria-label="View {{ catalog_item.title }}" href="{{ catalog_item.url }}" style="display:inline-block; text-decoration:none; padding:10px 14px; background-color:#000; color:#ffffff; font-weight:600; font-size:14px;" target="_blank">
View product
</a>
</p>
</td>
</tr>
</table>
</td>
{% endcatalog %}
{% if forloop.counter0|modulo:2 == 1 %}
</tr>
{% elif forloop.last %}
<td style="padding:8px;" valign="top" width="50%"></td>
{% endif %}
{% endfor %}
{% endif %}
</table>
</td>
</tr>
</table>
This code loops through the product IDs stored in the customer’s WishlistPowerProductList property, fetches the corresponding Shopify catalog items, and displays their image, title, and a link.
6. Test using a real customer
Send a preview email using a customer profile that has at least one item in the WishlistPowerProductList custom property.
This ensures you see the actual product rendering in the email rather than a blank section.
You’re all set!
You now have dynamic wishlist-powered emails — perfect for:
- Wishlist reminders
- Back-in-stock automations
- Abandoned browse flows
- Personalized campaigns