Skip to main content

Sending review requests via Klaviyo

Boost review collection by automating personalized requests through Judge.me and Klaviyo.

Updated over a week ago

Judge.me x Klaviyo request integration lets you send fully customizable review request emails through your Klaviyo flows. Every review collected via these emails is verified by Judge.me, helping you:

  • Maintain brand consistency across all communications.

  • Control exactly when and how your review requests are sent.

  • Include review request logic in broader automation flows.


How it works

Here’s a quick look at how review requests are sent via Klaviyo after the integration is enabled:

  1. Your customer places an order.

  2. The order is marked as fulfilled in your store.

  3. We send a review request trigger event to Klaviyo. In the Requests dashboard, requests will show the status: Event sent to Klaviyo.

  4. This event can be used as a trigger in your Klaviyo flows to send review requests by email or SMS.


Considerations

  • Once an event is triggered, changes to product information won't reflect in the event.

  • Existing requests before the integration is enabled will still be sent via Judge.me.

  • As we only send the review request trigger to Klaviyo, these native Judge.me features will not work in Klaviyo:

  • The in-email form is only available with Judge.me email templates.

  • If a customer unsubscribes via Klaviyo, their subscription status in Judge.me remains unchanged.


Set up the Klaviyo integration

Step 1: Connect Klaviyo to Judge.me via OAuth

  1. From your Judge.me admin, go to Settings > Integrations.

  2. Search for Klaviyo, then click the Klaviyo integration card.

  3. In the Authentication section, click Connect.

  4. In the authorization pop-up, click Allow to authorize Judge.me to access your Klaviyo data.

Step 2: Enable review request triggers

  1. Once connected, scroll down to the Review requests section.

  2. Enable "Send trigger when it’s time to send a review request".

  3. Click Save.

Once enabled:

  • We will start sending review request events to Klaviyo.

  • You do not need to manually disable the native Judge.me review requests—enabling the trigger automatically takes care of that.

  • Native Judge.me request and reminder settings will remain visible but will be locked and uneditable, since they no longer control email sending.

Step 3: Fulfill a test order

As an event will only be triggered for new orders, you'd need to create and fulfill a test order to see the Eligible for Judge.me Review Request event in Klaviyo.

To create and fulfill a test order:

  • From your Shopify admin, go to Orders.

  • Click the Create order button on the top right.

  • Select any product and customer you want to use for this testing purpose.

  • Click Collect payment and select Mark as paid.

  • Click Create order.

  • Click Fulfill item.

Once the order is fulfilled, to see the event:

  • From your Klaviyo admin, in the left panel, go to Analytics > Metrics.

  • You'll be able to search for the Eligible for Judge.me Review Request event.

Step 4: Build your flow in Klaviyo

  1. From your Klaviyo admin, go to Flows > Create flow > Build your own.

  2. In the Select a trigger panel, select Your metrics > Judge.me > Eligible for Judge.me Review Request.

  3. Add a Trigger or Profile filter if needed.

  4. Click Save.

  5. Add a Time delay (e.g., 7 days after fulfillment).

  6. Add an Email action and customize the template (see examples below).

  7. Click Review and turn on to activate the flow.

💡 Tip!

Use Conditional Split to apply different delays or templates for domestic vs. international orders or specific customer segments.


Customize your email template in Klaviyo

Here are supported dynamic variables you can use in your Klaviyo email blocks:

Event variables

Meaning

Where to use

{{ event.products.0.product_title }}

Product title

Text block

{{ event.products.0.product_image_url }}

Product image

Image block

{{ event.products.0.product_url }}

Product URL

Button block

{{ event.products.0.quantity }}

Number of products purchased

Text block

{{ event.products.0.review_rating_url }}

Link to submit a verified review (required)

Button block

{{ event.first_name }}

Customer's first name

Text block

{{ event.last_name }}

Customer's last name

Text block

{{ event.email }}

Customer's email

Text block

{{ event.order_name }}

Order number

Text block

{{ event.placed_at }}

The date the order was fulfilled

Text block

{{ event.country }}

Customer's country

Text block

Note: 0 represents the first item in the order. For additional items, use 1, 2, etc.

Example template for 1 item

If you want to request reviews for a specific product in an order:

  1. Add a text block requesting reviews. You can customize the email by using variables such as {{ event.first_name }}, {{ event.placed_at }} and {{ event.products.0.product_title }}.

  2. Add an image block, then click Select image > Dynamic image. Add the variable to retrieve the product image: {{event.products.0.product_image_url }}.

  3. Add a button with the variable {{ event.products.0.review_rating_url }}. This variable will retrieve the unique link that helps the customers submit a verified review to your product.

Expected result:

Example template for all items

If you want to request reviews for all products in an order:

  1. Add a Table block with 2 columns: 1 for the product image and 1 for the product title and review URL.

  2. In Styles, select Dynamic as data type.

    1. In Row Collection, add event.products.

    2. In Row Alias, add product.

  3. In the image column, click Select image > Dynamic image, then insert an image using {{ product|lookup:'product_image_url' }}.

  4. In the text column, employ the Text block. Open the Source code and insert the following HTML code to display the product name and review URL.

    <p>{{ product|lookup:'product_title' }}</p>
    <div>
    <p><a style="color: #138d7b; text-decoration: none;" href="{{ product|lookup:'review_rating_url' }}"> <strong>REVIEW NOW</strong> </a></p>
    </div>

Expected result:

Example template for all Items (Klaviyo HTML Editor - Advanced)

For Klaviyo HTML editor, add a loop:

{% for item in event.products %}
<p>{{ item.product_title }}</p>
<a href="{{ item.review_rating_url }}">Review now</a>
<br/>
<img alt="Product image" src="{{ item.product_image_url }}"/>
{% endfor %}


Troubleshoot


I can't see the event in Klaviyo

Issue:

You have connected Judge.me and Klaviyo and enabled the review request trigger, but you don't see the Eligible for Judge.me Review Request event in Klaviyo.

How to fix:

We only push the event to Klaviyo when there's a new order. If you've just enabled the integration, to see the event, you'd need to create and fulfill a new test order.


I clicked "Install" but nothing happens

Issue:

You clicked the Install button in Settings > Integrations > Klaviyo and logged in to Klaviyo successfully, but in Judge.me, the Klaviyo settings are still disabled.

How to fix:

The Klaviyo integration is only available on the Awesome plan. If you're on the Free plan, the integration will not activate—even after logging into Klaviyo.

To set up the Judge.me x Klaviyo integration, you can upgrade to the Awesome plan then try connecting to Klaviyo again.



Disable the Klaviyo integration

If you no longer want to send review requests via Klaviyo, you can disable the review request trigger:

  1. From your Judge.me admin, go to Settings > Integrations.

  2. Search for Klaviyo, then click the Klaviyo integration card.

  3. Scroll down to the Review requests section.

  4. Disable "Send trigger when it’s time to send a review request".

  5. Click Save.

After the review request trigger is disabled, you can configure which type of orders you want to ask for a review in Judge.me.

  • This change applies only to new orders fulfilled after the trigger is disabled.

  • For review requests that we already triggered an event to Klaviyo, these cannot be resent via Judge.me.

We recommend disabling the trigger but keeping your current Klaviyo flow active until all pending requests have been sent, to avoid missing review requests during the transition.

Did this answer your question?