Skip to main content

Reward customers for Klaviyo Reviews via Growave Custom action

Learn how to automate Growave loyalty points for customers who leave a product review via Klaviyo Reviews using a Custom action and a Klaviyo flow.

Written by Simon Akhrameev

Overview

This article explains how to reward customers with Growave loyalty points when they leave a review using Klaviyo Reviews. Because Klaviyo Reviews and the Growave Rewards app are separate systems, the integration connects them through a Klaviyo flow: when a customer submits a review, Klaviyo's "Submitted review" event triggers a webhook that calls Growave's Custom action API to issue the reward.

This setup is intended for merchants who specifically want to keep Klaviyo Reviews as their primary review platform. If you use the native Growave Reviews app, rewarding reviews works out of the box with no API setup required.

🚀 Plan requirements

  • Growave: Plus plan (API access is required for Custom actions and API tokens).

  • Klaviyo Reviews: Klaviyo Reviews is billed separately from Klaviyo email and SMS and is not included with your email or SMS plan.


Key benefits and use cases

  • Automate review rewards: Keep collecting reviews in Klaviyo Reviews while Growave awards loyalty points automatically, with no manual point adjustments.

  • Reward genuine purchasers: A trigger filter ensures points go only to customers who actually purchased the product, preventing point farming from anonymous guests.

  • Flexible earning rules: Reward every review, cap earning to a set number per period, or grant a one-time bonus for a customer's first review by using the Custom action's frequency limit.

  • No custom server required: Klaviyo's flow builder sends the webhook directly to Growave, so the entire integration is configured within the two platforms.


How to use the Klaviyo Reviews integration

Follow these steps to connect your Klaviyo Reviews to your Growave Rewards program.

Step 1: Create a Custom action in Growave

  1. In your Growave admin panel, go to RewardsPointsWays to earn.

  2. Click Add ways to earn and select Custom action.

  3. Enter action title and description (e.g., Earn points for product reviews) — these will be displayed in the Rewards widgets on your storefront.

  4. Choose your Reward type (e.g., Points, or another reward) and define its value.

  5. Under Limit how many times a customer can get a reward for completing this action, leave it unchecked to reward every review, or check it to cap earning (e.g. a few per month). Because customers can review many products, avoid a once-per-lifetime limit unless you intend to reward only a customer's first review.

  6. Save the rule, then copy the API reference ID from the How it works section. You'll need this for the webhook payload.

Growave - Rewards - Points - Ways to earn - Custom action

Step 2: Create a Growave API token

The webhook authenticates to Growave with a bearer token.

  1. In your Growave admin panel, open SettingsAPI tab.

  2. Click Create token.

    Growave - Settings - API - Create token
  3. Enter a clear Description (e.g., "Klaviyo Reviews rewards").

  4. Under Scopes, grant write_reward (required to issue rewards via the API).

  5. Choose No expiration for the Expiration period.

    Growave - Settings - API - Configure token
  6. Save the token and copy it — you'll paste it into the Klaviyo webhook in Step 3.

    Growave - Settings - API - Copy token

Step 3: Build the Klaviyo flow

  1. In Klaviyo, go to Flows and create a new flow.

  2. In the Select a trigger menu, go to All triggersMetric.

  3. Set the trigger to the Submitted review metric.

    Klaviyo Reviews flow - Select trigger - Metric - Submitted review
  4. Under Trigger filters, add the review_verified property with a Boolean condition of is true, so only verified reviews are rewarded (see Preventing abuse below).

    Klaviyo Reviews flow - Trigger filter - review_verified
  5. Add a Webhook action and configure the Destination URL to: https://api.growave.io/v2/rewards/sendEvent

  6. Configure the Headers:

    • Key: Authorization | Value: Bearer <YOUR_GROWAVE_TOKEN>

    • Key: Content-Type | Value: application/json

  7. Paste the following into the JSON body:

    {
    "customerIdentifier": "{{ person.email }}",
    "ruleId": <YOUR_API_REFERENCE_ID>,
    "ruleType": "custom_action",
    "locale": "en"
    }
Klaviyo Reviews flow - Webhook details.png

Preventing reward abuse

It is critical to reward only verified purchasers to prevent customers from farming points using guest reviews.

⚠️ Important: If you use Klaviyo Reviews, anyone can leave an unverified review directly on your product page by typing in a name and email.

To protect your Rewards program, this integration relies on two safeguards:

  • Growave email matching: Growave attaches the reward to the customer whose email matches the customerIdentifier. If the submitted email does not match an active store customer, no points are issued.

  • Klaviyo verified filter: The review_verified = true filter ensures that only reviews submitted through a Klaviyo review-request flow (which verifies the buyer's identity) will trigger the reward.

By keeping the review_verified filter enabled (as outlined in Step 3), you guarantee that the email address reliably maps to a genuine customer, preventing unverified on-site reviews from improperly issuing rewards.


Troubleshooting

If the reward isn't issued, check the webhook response in Klaviyo:

  • 400 (Rule not active / Unsupported earning rule): The Custom action is turned off, or ruleType / ruleId don't point to a valid Custom action. Make sure the rule is live and the IDs are correct.

  • 404 (Customer or earning rule not found): No customer matches the customerIdentifier, or the ruleId is wrong. Confirm the reviewer's email matches a Shopify customer.

  • 422 (Customer already rewarded): The customer has already earned this reward and the Custom action's frequency limit has been reached. This only occurs if a limit is set on the rule.


If you have questions or need help setting up Custom actions, please contact our support team via live chat in the Growave admin panel or at [email protected]. We're here to help! 🤗

Did this answer your question?