Overview
Klaviyo already lets you send abandoned cart emails when a customer leaves items in their cart without completing checkout. By connecting Growave Reviews to Klaviyo via Web Feeds, you can display 5-star customer reviews for the products left in the cart. This extra layer of social proof can encourage customers to return and complete their purchase.
How to use Web Feeds with Klaviyo
Prepare your Web Feed in Growave
Go to the Growave admin → Integrations → Klaviyo.
Find the Klaviyo Web Feed option. Click Enable product reviews feed. Allow one hour for the feed to populate before using its URL in Klaviyo.
Copy the feed URL provided for your store. This link dynamically pulls in product review data.
⚠️ Important
Each Web Feed is tied to your main store domain. If you use multiple currencies or subdomains, the feed may only display reviews for the main store setup.
Set up Klaviyo Web Feeds
In your Klaviyo admin, click your company name in the bottom-left corner.
Go to Settings → Other → Web feeds.
Click Add web feed.
Fill in the fields:
Feed name: use
GROWAVE_PRODUCT_REVIEWS
Feed URL: paste the Web Feed URL you copied from your Growave admin → Integrations → Klaviyo.
Request method: Select
GET
.Content type: Select
JSON
.
5. Click Add web feed. Klaviyo will validate your feed. If successful, it will appear in your Web feeds list and can be previewed.
Insert reviews into abandoned cart emails
Once the Web Feed is active, you can insert reviews directly into your abandoned cart flow.
In Klaviyo admin, open your abandoned cart flow or create a new one.
Click Edit in the existing email action or add a new one.
Add a Text block, go to the Source code section.
Replace the example code with the HTML snippet below and click Apply. Save and launch your flow.
Product reviews HTML snippet for Klaviyo abandoned cart emails
{% with max_product_count=5 max_review_count=3 %}
{% for line_item in event.extra.line_items %}
{% if forloop.counter <= max_product_count %}
{% with line_item_product_id=line_item.product.id|slugify %}
{% for product_id, reviews in feeds.GROWAVE_PRODUCT_REVIEWS.items %}
{% if line_item_product_id == product_id %}
<div style="height:0px; margin:20px 0px; border-top:1px solid #eaedef;"></div>
<h4 style="text-align:center;">What customers are saying about <strong>{{ line_item.product.title }}</strong></h4>
{% for review in reviews %}
{% if forloop.counter <= max_review_count %}
<table border="0" cellpadding="0" cellspacing="0" role="presentation" style="vertical-align:middle; margin:20px 0px;" width="100%">
<tbody>
<tr>
<td align="center">
<div>
<img width="28" height="28" src="https://growave-common-assets.s3.us-east-1.amazonaws.com/email-assets/review-star-f6c343.png" alt="1 Star" />
<img width="28" height="28" src="https://growave-common-assets.s3.us-east-1.amazonaws.com/email-assets/review-star-f6c343.png" alt="2 Stars" />
<img width="28" height="28" src="https://growave-common-assets.s3.us-east-1.amazonaws.com/email-assets/review-star-f6c343.png" alt="3 Stars" />
<img width="28" height="28" src="https://growave-common-assets.s3.us-east-1.amazonaws.com/email-assets/review-star-f6c343.png" alt="4 Stars" />
<img width="28" height="28" src="https://growave-common-assets.s3.us-east-1.amazonaws.com/email-assets/review-star-f6c343.png" alt="5 Stars" />
</div>
</td>
</tr>
{% if review.2 %}
<!-- Title -->
<tr>
<td align="center" style="padding-bottom: 5px; word-break:break-word;" vertical-align="middle">
<strong style="font-size: 16px;">{{ review.2 }}</strong>
</td>
</tr>
{% endif %}
<tr>
<!-- Body -->
<td align="center" style="padding-bottom:5px; word-break:break-word;" vertical-align="middle">
<p style="font-size:16px;">{{ review.0 }}</p>
</td>
</tr>
</tbody>
</table>
{% endif %}
{% endfor %}
{% endif %}
{% endfor %}
{% endwith %}
{% endif %}
{% endfor %}
<div style="height: 0px; margin: 20px 0px 0px; border-top: 1px solid #eaedef;"></div>
{% endwith %}
✅ Tip
You can control how much content displays in your emails by adjusting the values at the top of the code block:
max_product_count=5
→ maximum number of products shown (default is 5).max_review_count=3
→ maximum number of reviews shown per product (default is 3).
FAQs
What feed name should I use in Klaviyo?
What feed name should I use in Klaviyo?
The feed name must be set to GROWAVE_PRODUCT_REVIEWS
. Our HTML snippet references feeds.GROWAVE_PRODUCT_REVIEWS.items
, so using any other name will break the integration.
Do I need to change the request method or content type?
Do I need to change the request method or content type?
No. Keep Klaviyo’s default settings: Request method = GET and Content type = JSON. Changing these will prevent the feed from working.
Where should I paste the HTML code in Klaviyo?
Where should I paste the HTML code in Klaviyo?
Use a Text block in Source code mode. If you paste the snippet into an HTML block, it may not render correctly.
How many products and reviews are displayed by default?
How many products and reviews are displayed by default?
The snippet is set to display up to 5 products and up to 3 reviews per product. You can adjust these limits to the lower end by editing the values for max_product_count
and max_review_count
at the top of the code.
What happens if a product has no 5-star reviews?
What happens if a product has no 5-star reviews?
The review block for that product will be hidden automatically, so your email layout remains clean.
Do I need to enable abandoned cart tracking in Growave?
Do I need to enable abandoned cart tracking in Growave?
No. If you have already set up the relevant Klaviyo flow, it will track abandoned carts automatically. Growave only provides the product review data via the Web Feed.
For any questions or requests regarding Klaviyo integration, please get in touch with us at [email protected] or use the chat icon in the bottom-right corner of your Growave admin panel. We are here to help! 🤗