Skip to main content
Solved

Reviews API - POST Create a Review? (For Entire Business, Not Specific Product)


Forum|alt.badge.img+1

Is it possible to create a review via API that isn’t tied to a specific product?

Our use case is we’re a local retail store, and most of our reviews come from platforms like Google, Facebook, Yelp, etc. We’d like to import these reviews into Klaviyo as general testimonials for our business.

Best answer by jason-myers

Hi ryanev,

The reviews API should allow creating non-product (aka “store”) reviews

 

Referencing our documentation here: https://developers.klaviyo.com/en/reference/create_client_review_beta

 

There is a “review_type” field that you can set to “store”

 

 

I hope this answers your question.

Jason

View original
Did this topic or the replies in the thread help you find an answer to your question?

2 replies

Forum|alt.badge.img+1
  • Klaviyo Employee
  • 10 replies
  • Answer
  • February 5, 2025

Hi ryanev,

The reviews API should allow creating non-product (aka “store”) reviews

 

Referencing our documentation here: https://developers.klaviyo.com/en/reference/create_client_review_beta

 

There is a “review_type” field that you can set to “store”

 

 

I hope this answers your question.

Jason


MANSIR2094
Problem Solver IV
Forum|alt.badge.img+13
  • Problem Solver IV
  • 174 replies
  • February 5, 2025

Hello ​@ryanev , 

Yes, it is possible to create a review via API that isn’t tied to a specific product by using a custom event in Klaviyo. Since Klaviyo’s built-in review features typically associate reviews with products, creating a custom event for general business testimonials is the best approach.  

First, structure your review data and send it to Klaviyo using the Track API. The payload should include essential details such as reviewer name, rating, review text, and source platform. A sample API request using `POST` to `https://a.klaviyo.com/api/events/` would look like this:  

```json
{
  "data": {
    "type": "event",
    "attributes": {
      "event_name": "Business Review Submitted",
      "customer_properties": {
        "$email": "customer@example.com"
      },
      "properties": {
        "reviewer_name": "John Doe",
        "review_text": "Great experience at this store!",
        "rating": 5,
        "platform": "Google"
      }
    }
  }
}
```  

After sending this data to Klaviyo, the event will appear under Analytics > Metrics and can be used in flows or email templates. To display the reviews dynamically in emails, use the following Liquid code in Klaviyo:  

```liquid
{% for review in event.reviews %}
   <p><strong>{{ review.reviewer_name }}</strong></p>
   <p>Rating: {{ review.rating }} ⭐</p>
   <p>"{{ review.review_text }}"</p>
   <p>Source: {{ review.platform }}</p>
{% endfor %}
```  

If reviews need to be stored and accessed outside of a specific email event, consider using Profiles API to store testimonials as custom profile properties. This approach allows for segmentation and personalization based on review history.  

For bulk importing, automate the API call using a script to fetch and send reviews from Google, Facebook, or Yelp. If those platforms provide structured data via API or CSV exports, a scheduled script can parse and send the reviews to Klaviyo automatically.  

Let me know if you need further clarification on API setup or automation.