Klaviyo Reviewer Testing Instructions

Jamal Hamidu • January 20, 2026

Intended Audience:  Klaviyo App Marketplace Review Team

Purpose: Step-by-step instructions to test the Barika Co-Marketing integration


This video and article is NOT meant for customer consumption.

1. Quick Start for Reviewers

Install URL:  https://app.barika.ai/api/klaviyo/install


Klaviyo Account Credentials: app.marketplace@klaviyo.com (we've assumed this is the Klaviyo account you will be testing Barika from and therefore have assumed you already have access to this Klaviyo account)


Barika Test Account Credentials:

  • Email: A Barika account has been created for app.marketplace@klaviyo.com. You will need to login to this account to connect your Klaviyo account to Barika.
  • Password: password reset request sent to app.marketplace@klaviyo.com
  • Installation Path: For review purposes, you will install from the installation URL. The Klaviyo App Marketplace installation flow will be available once the app is listed.


Prerequisites:

  • Be logged into Klaviyo with the test account (app.marketplace@klaviyo.com) flows configured.
  • The test Barika account above has sample offers available for matching


Time Required:  15-25 minutes per flow


2. Test Use Cases

Use Case 1: OAuth Installation from Barika

Starting Point: Ensure you are logged into Klaviyo with the test account (app.marketplace@klaviyo.com). If not logged in, Klaviyo will prompt you to log in first when you try to access the installation URL


1 - Access the Install URL: https://app.barika.ai/api/klaviyo/install


2 - You will be redirected to Klaviyo OAuth authorization page


3 - Review the requested permissions and click Allow


4 - You will be redirected to the Barika + Klaviyo connect page showing:

  • Dual-logo header (Barika favicon + Klaviyo logo)
  • Your Klaviyo organization name
  • Tabbed interface with Log In and Create Account options


5 - Click the Log In tab (should be selected by default)


6 -Enter the test credentials:

  • Email: app.marketplace@klaviyo.com
  • Password: we've sent a password reset to app.marketplace@klaviyo.com


7 - Click Log In & Connect Klaviyo


8 - You will be redirected to the Barika + Klaviyo setup wizard


Expected Result: Authorization is successful. After logging in on the connect page, you are redirected to the setup wizard. The connection is not yet "Connected" until the setup wizard is complete.

Use Case 2: Complete the Barika + Klaviyo Setup Wizard

Continuing from Scenario 1, you are now in the 6-step onboarding wizard:


1 - Welcome page: Review the introduction, then click Continue


2 - Your Installation Goals page (Channel & Role Selection):

  • Select at least one channel (SMS, Email, or both)
  • Select at least one role (Host Partner, Offer Partner, or both)
  • Click Continue


3 - Compliance page: Review and acknowledge the co-marketing terms, then click Continue


4 - Host Setup page  (if Host Partner selected):

  • You will see a unified list of all your Klaviyo flows
  • Select which flows should include Barika co-marketing offers
  • If you enabled both SMS and Email channels, each flow shows checkboxes to select which channels to enable
  • If you enabled only one channel, flows automatically use that channel (shown with a badge)
  • For each selected flow, configure:
  • Industry Sector (e.g., Retail, Insurance, Travel, Rail)
  • Commerce Platform (only appears if Retail is selected - choose Shopify, WooCommerce, etc.)
  • Message Type (auto-derived from flow trigger)
  • Customer Moment (Pre-service, In-service, or Post-service)
  • Click Continue


5 - Offer Setup page (if Offer Partner selected):

  • Review the Offer Partner Agreement.
  • Check the Offer Partner Terms Acknowledgment checkbox to agree to Barika Terms of Service Policy
  • Click Continue


6 - Review page: Review the confirmation and next steps

  • Slide title

    Write your caption here
    Button
  • Slide title

    Write your caption here
    Button
  • Slide title

    Write your caption here
    Button
  • Slide title

    Write your caption here
    Button
  • Slide title

    Write your caption here
    Button
  • Slide title

    Write your caption here
    Button
  • Slide title

    Write your caption here
    Button
  • Slide title

    Write your caption here
    Button

Expected Result: Onboarding completes successfully. The Klaviyo connection now appears in Integration Centre with "Connected" status. A green checkmark or "Connected" badge is visible on the Klaviyo card.

  • Slide title

    Write your caption here
    Button
  • Slide title

    Write your caption here
    Button

Use Case 3: View Klaviyo Connection Detailed Settings

1 - Navigate to Integration Centre


2 - Click Connected Platforms


3 - Look for the connected Klaviyo card and click on the button 'Manage Settings'. This takes you to the Klaviyo Settings page.


4 - Expand the Connection Status  section and verify:

  • Connection ID
  • Klaviyo Account ID
  • Workspace name
  • Connected Since date
  • Status (Connected & Active)


 5 - Expand the 'Webhook Configuration' section and verify:

  • Webhook Endpoint URL - the URL to add as a webhook action in Klaviyo flows
  • Webhook Key - X-Barika-Key
  • Webhook Secret (Secret) - with show/hide toggle and regenerate option


6 - Expand the Enabled Flows section and verify:

  • List of configured flows with JSON payloads
  • Copy button for each flow's JSON payload


7 - Expand the Offer Template Code section and verify:

  • Email Template Code (HTML block for email templates)
  • SMS Template Code (template code for SMS messages)
  • Copy button for each template
  • Slide title

    Write your caption here
    Button
  • Slide title

    Write your caption here
    Button
  • Slide title

    Write your caption here
    Button
  • Slide title

    Write your caption here
    Button
  • Slide title

    Write your caption here
    Button
  • Slide title

    Write your caption here
    Button

Expected Result:  All connection details, webhook configuration, and offer template code are visible and can be copied directly from the settings page.

Use Case 4: Configure Webhook in Klaviyo Flow

1 - Open Barika and Klaviyo side by side


2 - In Klaviyo, open a flow (e.g., Order Confirmation)


3 - Add a Webhook action BEFORE the SMS or Email step. Provide a Webhook name.


4 - In Barika, navigate to Integration Centre → click Manage Settings  on the Klaviyo card


5 - Configure the webhook destination:

  • In Barika: Expand Webhook Configuration and copy the Destination URL
  • In Klaviyo: Paste into the Destination URL field


6 - Configure the webhook header:

  • In Barika: From the Headers section, copy the Key (X-Barika-Key)
  • In Klaviyo: Click Add header, paste the key
  • In Barika: Copy the Value (the secret)
  • In Klaviyo: Paste the value


7 - Configure the webhook body:

  • In Barika: Expand Enabled Flows and copy the JSON payload for your flow
  • In Klaviyo: Paste into the Body field


8 - Set the webhook action to Live


Expected Result: Webhook is configured in Klaviyo. The webhook action shows as Live and ready to trigger.

  • Slide title

    Write your caption here
    Button
  • Slide title

    Write your caption here
    Button
  • Slide title

    Write your caption here
    Button
  • Slide title

    Write your caption here
    Button

Expected Result:  Webhook is configured in Klaviyo. When the flow triggers, Barika will receive the webhook and match an offer.

Use Case 5a: Add Offer Template Code to Email Messages

1 - In Barika, navigate to Integration Centre → Expand the Connected Platforms section →Look for your Klaviyo card →click   Manage Settings on the Klaviyo card


2 - Expand the Offer Template Code section


3 - Copy the Email Template Code (HTML block)


4 - In Klaviyo, open the same flow from Scenario 4


5 - Edit the Email message that follows the webhook action


6 - Add an HTML block to the email template


7 - Paste the Email Template Code into the HTML block


8 - Save the message

  • Slide title

    Write your caption here
    Button
  • Slide title

    Write your caption here
    Button
  • Slide title

    Write your caption here
    Button
  • Slide title

    Write your caption here
    Button
  • Slide title

    Write your caption here
    Button

Expected Result:  The HTML block is added to the email. When the flow triggers, Barika renders a branded offer card image that displays in the email.

Use Case 5b: Add Offer Template Code to SMS Messages

1 - In Barika, navigate to Integration Centre → Expand the Connected Platforms section →Look for your Klaviyo card →click  Manage Settings on the Klaviyo card


2 - Expand the Offer Template Code section


3 - Copy the SMS Template Code (HTML block)


4 - In Klaviyo, open the same flow from Scenario 4


5 - Edit the SMS message that follows the webhook action


6 - Insert the SMS Template Code where you want the offer to appear (typically at the end of the message)


7 - Save the message

  • Slide title

    Write your caption here
    Button
  • Slide title

    Write your caption here
    Button
  • Slide title

    Write your caption here
    Button
  • Slide title

    Write your caption here
    Button

Expected Result:  The template code is added to the SMS. When the flow triggers, the message includes offer text and a trackable short link for the customer to tap.

Scenario 6: Verify Offer Matching (Trigger a Flow)

1 - Ensure Scenarios 1-5 are complete


2 - In Klaviyo, trigger a test event that activates the flow (e.g., place a test order)


3 - Wait for the flow to process (webhook fires to Barika)


4 - In Klaviyo, check the customer profile


Expected Result:  The Klaviyo profile is updated with Barika offer properties:


For Email matches (if email flow triggered):

  • barika_email_offer_image_url - Rendered offer card image URL
  • barika_email_offer_click_url - CPE-enabled tracking link
  • barika_email_offer_tracking_url - Impression tracking pixel URL
  • barika_email_offer_teaser_text - Offer teaser text
  • barika_email_offer_brand_name - Offer partner brand name
  • barika_email_offer_message - Composed message text
  • barika_email_offer_id - Offer identifier
  • barika_email_offer_expires_at - Offer expiration timestamp (ISO 8601)


For SMS matches (if email flow triggered):

  • barika_sms_offer_image_url - Rendered offer card image URL
  • barika_sms_offer_click_url - CPE-enabled tracking link
  • barika_sms_offer_tracking_url - Impression tracking pixel URL
  • barika_sms_offer_teaser_text - Offer teaser text
  • barika_sms_offer_brand_name - Offer partner brand name
  • barika_sms_offer_message - Full composed SMS message
  • barika_sms_offer_id - Offer identifier
  • barika_sms_offer_expires_at - Offer expiration timestamp (ISO 8601)
  • barika_sms_offer_updated_at - Last update timestamp (ISO 8601)


Scenario 7: View Analytics Across Centres

If you are already logged in from a previous use case, skip to step 2


1 - If not logged in: Navigate to https://app.barika.ai and log in with the test credentials (Email: app.marketplace@klaviyo.com, Password: enter your reset password


2 - Start on the Dashboard to view high-level analytics:


Dashboard - My partnerships:


  • Shows active brand partnerships and partnership performance at a glance
  • Displays partnership reach, engagement, and campaign ROI
  • Expected: Partnership overview with metrics visible


Dashboard - Messages & Revenue Performance:


  • Shows messages monetized and revenue breakdown
  • Displays total messages enhanced, average revenue per message, CPE and CPR earnings
  • Expected: Metrics from co-marketing activity (may show data from Use Case 6)


3 - Navigate to each of the following centres (each provides analytics specific to its purpose):


Brand Offer Centre:


  • Shows offers created by this account (as Offer Partner)
  • Since this test account has not created offers, this section displays an empty state
  • Expected: Empty state or "No offers created" message


Partnership Centre:


  • Shows partner network and brand relationships
  • Displays partnership activity and connection status
  • Expected: Partnership overview (may show connected partners)


Revenue Centre:


  • Shows Host Partner earnings from placing partner offers in messages
  • After completing Use Case 6, you should see data from the test order match
  • Expected: At least 1 impression from the email match triggered in Use Case 6, with channel breakdown.


Spend Centre:


  • Shows Offer Partner spend on campaigns and wallet balance
  • Since this test account's offers have not been matched to partner messages, spend data is minimal
  • Expected: Minimal or zero spend data (realistic for an account that hasn't created active offers)


Expected Result: The Dashboard shows high-level co-marketing activity, and each centre provides visibility into its specific area (offers, partnerships, revenue, spend). Revenue Centre shows real data from the Use Case 6 test order. Other centres may show empty states, which is realistic for a test account - this demonstrates the platform handles both active and inactive states appropriately.

Scenario 8: Create an Email Offer in Barika

1 - Log in to Barika using the test credentials


2 - Navigate to the Brand Offer Centre→ Click on Create Offer →Select Email


3 - Complete the email creation form


4 - Click create Email Offer button to save offer


Expected Result: 

  • Email offer successfully created and in listed in the Offer list in the Brand Offer Centre.

Scenario 9: Disconnect from Barika

1 - Log in to Barika using the test credentials


2 - In Barika, navigate to Integration Centre → Expand the Connected Platforms section →Look for your Klaviyo card →click Manage Settings on the Klaviyo card


3 - Click Disconnect or Remove Connection


4 - Confirm the disconnection when prompted


Expected Result: 

  • Klaviyo connection is removed from Barika Integration Centre
  • The Klaviyo card returns to "Not Connected" state
  • The app is removed from Klaviyo's authorized apps list

Scenario 10: Disconnect from Klaviyo

1 - Log in to Klaviyo


2 - Navigate to Integrations


3 - Find Barika app  in the list


4 - Click on the 3 dots at the far end and click Remove Integration


5 - Confirm removal


Expected Result:

  • The app is removed from Klaviyo
  • Barika receives the uninstall webhook and updates the connection status to disconnected.

Scenario 11: Deny Permission During OAuth

1 - Start the OAuth installation flow (Use Case 1, steps 1-5)


2 - On the Klaviyo permission screen, click Deny instead of Allow


Expected Result (Inbound flow - starting from Klaviyo): 

  • You are redirected to the Barika sign-in page (/auth?error=klaviyo_permission_denied)
  • An error parameter indicates that permission was denied
  • User can sign in or create an account and retry the connection.


Expected Result (Outbound flow - starting from Barika Integration Centre):

  • You are redirected to the Barika sign-in page (/auth?error=klaviyo_permission_denied)
  • An error parameter indicates that permission was denied
  • User can sign in or create an account and retry the connection.

URL References

URL TYPE URL
App URL https://app.barika.ai
Install URL https://app.barika.ai/api/klaviyo/install
Settings URL https://app.barika.ai/portal/integrations/klaviyo
Support URL https://barika.ai/help
Privacy Policy https://barika.ai/legal/privacy
Terms of Service https://barika.ai/legal/terms

Support Contact

Support Type Contact
Email Support support@barika.ai
Technical Support jamal.hamidu@barika.ai

Appendix A: Integration Architecture

Data Flow Overview

How It Works



  1. A Klaviyo flow triggers (e.g., order placed, shipment update)
  2. The webhook action sends event data to Barika's runtime endpoint
  3. Barika's Matchfabric® AI matches a relevant partner offer
  4. Barika updates the Klaviyo profile with offer properties
  5. The Klaviyo flow continues, embedding offer data in the SMS/Email message


Appendix B: API Endpoints Used

USE CASE Klaviyo API EndpointURL
Read customer profiles for offer personalization GET https://a.klaviyo.com/api/profiles/{id}
Write offer properties to customer profiles PATCH https://a.klaviyo.com/api/profiles/{id}
List available flows for configuration GET https://a.klaviyo.com/api/flows
Read subscriber lists for audience targeting GET https://a.klaviyo.com/api/lists
Read segments for audience matching GET https://a.klaviyo.com/api/segments

Appendix C: API Scope Justification

SCOPE Why Barika Needs This
profiles:read Read customer profile data to personalize offer matching based on purchase history and preferences
profiles:write Write matched offer properties (title, URL, image) to customer profiles for use in flow messages
flows:read Read flow configurations to display available flows for webhook integration setup
flows:write Enable automated webhook action configuration within customer flows
lists:read Read subscriber lists to enable audience-based targeting for offers
segments:read Read segments to enable segment-based targeting and exclusions
By Jamal Hamidu February 3, 2026
Connect your WooCommerce Wordpress store to Barika. Choose your channels, authorize placements, and complete onboarding in about 5 minutes.
By Jamal Hamidu February 1, 2026
To enable Barika co-marketing, you'll have to configure shopify email templates to ensure partner offers can appear in your customer emails.
By Jamal Hamidu February 1, 2026
Connect your Shopify store to Barika. Choose your channels, authorize placements, and complete onboarding in about 5 minutes.
By Jamal Hamidu January 27, 2026
Understanding the terminology used across the Barika platform will help you make the most of your co-marketing partnerships. Click on each category below to explore definitions.
By Jamal Hamidu January 26, 2026
If an auto top-up attempt fails, Barika notifies you immediately via email and your dashboard.
By Jamal Hamidu January 26, 2026
All Barika charges appear as “BARIKA” or “BARIKA.AI” on your card statement.
By Jamal Hamidu January 26, 2026
Barika requires a monthly spending cap for one reason: financial certainty.
By Jamal Hamidu January 26, 2026
Auto top-up is mandatory on Barika because offers are delivered continuously, not in fixed campaign bursts. 
By Jamal Hamidu January 26, 2026
Barika uses a pay-as-you-go billing model designed for trust, transparency, and control. You are charged only when your offers are delivered or engaged with, supported by a unified wallet, mandatory auto top-up, and clear spending limits.
By Jamal Hamidu January 25, 2026
Getting started