Freshpaint
HomeLogin
  • Documentation
    • What is Freshpaint?
    • ⚕️HIPAA Mode
    • 🏗️Building Out Your Account
    • 🌐Overview of Features
    • Guides
      • 📡Add Autotrack to your website to collect data from your users
        • Installing the Freshpaint Javascript SDK
        • Installing the Freshpaint SDK with a Content Security Policy (CSP)
        • Installing the Freshpaint Javascript SDK with Server-Side Rendering (SSR) + React
        • Autocapture + React
        • Configuring a Destination
        • Labeling User Actions
        • How do I install Freshpaint with Typescript?
      • 🔁Send historical data to any destination with Time Machine
      • Next.js Quickstart Guide
      • Android Quickstart Guide
        • Installing the Freshpaint Android SDK
        • Configuring a Destination
        • Instrumenting Your App
      • iOS Quickstart Guide
        • Installing the Freshpaint iOS SDK
        • Configuring a Destination
        • Instrumenting Your App
      • React Native Quickstart Guide
        • Installing the Freshpaint React Native SDK
        • Configuring a Destination
        • Labeling User Actions
        • Configuring Property Capture
    • Setting up Properties
    • Setting up Your Destinations
      • Enabling and Disabling a Destination
      • Deleting a Destination
    • Setting up Your Events
    • User Identification
      • Designated Identify Properties
    • Maps
    • Analytics (Beta)
      • Web Analytics Dashboard
      • Campaigns
      • Service Lines
      • Data Glossary
    • Translations
    • Web Tracker Monitoring
      • Tracker Resolution Types
      • Historical Scans
  • Integrations
    • Destinations
      • Demand Side Platforms (DSPs)
        • Basis
          • Basis Quick Start Guide
          • Basis Reference
        • Google Campaign Manager 360
        • StackAdapt
          • StackAdapt Quick Start Guide
          • StackAdapt Reference
        • theTradeDesk
          • theTradeDesk Quick Start Guide
          • theTradeDesk Reference
          • theTradeDesk with CM360 Configuration Guide
        • Viant
          • Viant Quick Start Guide
          • Viant Reference
      • Direct Response Ads
        • Facebook Conversions API
          • Facebook Conversions API Quick Start Guide
          • Facebook Conversions API Reference
        • Google Ads Conversion API
          • Google Ads Conversion API Quick Start Guide
          • Google Ads Conversions API Reference
        • Google Ads
          • Google Ads Quick Start Guide
          • Google Ads Reference
        • LinkedIn Ads
          • LinkedIn Ads Quick Start Guide
          • LinkedIn Ads Reference
        • Microsoft Ads (formerly Bing Ads)
          • Microsoft Ads Quick Start Guide
          • Microsoft Ads Reference
          • Microsoft Ads Multi-Config Reference
        • Pinterest Ads (Beta)
          • Pinterest Ads Quick Start Guide
          • Pinterest Ads Reference
        • Pinterest Tag
        • Reddit Ads
          • Reddit Ads Quick Start Guide
          • Reddit Ads Reference
        • TikTok Ads
        • Twitter Ads
      • Data Activation
        • ActiveCampaign
          • ActiveCampaign Quick Start Guide
          • ActiveCampaign Reference
        • Amplitude
          • Amplitude Quick Start Guide
          • Amplitude Reference
        • Braze (formerly Appboy)
          • Braze Quick Start Guide
          • Braze Reference
        • Customer.io
          • Customer.io Quick Start Guide
          • Customer.io Reference
        • Freshsales
        • Google Analytics 4 Proxy
          • Google Analytics 4 Proxy Quick Start Guide
          • Google Analytics 4 Proxy Reference
          • Google Analytics 4 Proxy Advanced Tracking Configurations
        • Google Analytics 4 Server-Side
          • Google Analytics 4 Server-Side Quick Start Guide
          • Google Analytics 4 Server-Side Reference
        • Heap
        • Hotjar
        • HubSpot Cloud
        • HubSpot Web
        • impact.com
          • Impact.com Quick Start Guide
          • Impact.com Reference
        • Intercom
          • Intercom Quick Start Guide
          • Intercom Reference
        • Iterable
          • Iterable Quick Start Guide
          • Iterable Reference
        • June
        • Klaviyo
        • Mixpanel
          • Mixpanel Quick Start Guide
          • Mixpanel Reference
        • OneSignal
          • OneSignal Quick Start Guide
          • OneSignal Reference
        • Sendinblue
        • Sentry
        • Vero Cloud
        • Webengage
        • Webhooks
        • Woopra
        • Zendesk
      • Data Warehouses
        • Azure Warehouse Setup
        • BigQuery Warehouse Setup
        • Databricks Warehouse Setup
        • Postgres Warehouse Setup
        • Redshift Warehouse Setup
        • S3 Warehouse Setup
        • Snowflake Warehouse Setup
      • Consent Management
        • Osano
        • OneTrust
        • Custom Consent Manager
    • Sources
      • Web
        • Autotrack
        • Precision Tracking
      • CallRail
      • Invoca
      • Customer.io
      • Intercom
      • Mailchimp
      • React Native
      • SendGrid
      • Sendinblue
      • Server-Side
      • iOS
    • 🔷Google Tag Manager integration
      • Google Tag Manager migration
      • Quick Start Guide
    • 📺Freshpaint Video Platform
    • 🖼️Impression Pixel
  • Admin Panel
    • Event Library
      • Event Library Bulk Actions
      • Event Definition Filters
      • Event Tester
      • 🔁Time Machine
      • Visual Tagger
      • Advanced Options
        • Tag Manager
        • Disabling Target Text Capture
        • Cross Domain Tracking
    • Projects & Environments
    • Teams
      • Role-Based Access Control (RBAC)
    • Transformations
      • Standard Events
      • Modify Data
      • Modify User Data
      • SQL Transformations
    • 📈Destination Monitoring
    • 🔎Investigate: Testing and Debugging
      • Live View
      • Event Verification
  • Reference
    • Developer Docs
      • Freshpaint Web SDK Reference
      • Freshpaint Web SDK Options
      • Freshpaint React Native SDK Reference
      • Freshpaint iOS SDK Reference
      • Freshpaint Android SDK Reference
      • HTTP API
    • Frequently Asked Questions
      • How do I circumvent ad blockers?
      • Can Freshpaint track users across domains?
      • Can I install Freshpaint on a Chrome extension?
      • What properties are captured with my events?
      • How Do I Switchover From Segment?
      • How Do I Switch From Native Google Analytics to the Freshpaint Google Analytics Destination?
      • Where do I find my Environment ID?
      • Is Freshpaint GDPR & CCPA Compliant?
      • Can I use transformations to anonymize data for client-side destinations?
      • How do I QA or debug my data?
      • Why Do My Numbers Differ Across Different Tools?
      • Billing: How Does Freshpaint Determine MTUs?
      • Can I Use Freshpaint on Multiple Sites?
      • How Can I Export Data From Freshpaint?
      • How Does Freshpaint Identify Users?
      • How Many Events Should I Create?
      • What Should I Name My Events?
      • How do I track scroll depth?
      • What Data Does Freshpaint Collect?
        • Data Collected on Web
        • Data Collected on React Native
      • Does Freshpaint's Autotrack slow my site down?
      • Running Freshpaint with a Proxy
      • Should my Environment ID be treated as a sensitive key?
      • How Does Freshpaint Determine Session Count?
      • What is the difference between client-side and server-side connection mode?
      • What is a Proxy Integration?
      • Where can I view Freshpaint’s Status?
      • Does Freshpaint provide HIPAA audit logs?
      • Freshpaint Cookie Too Large
      • How does Freshpaint compare to server-side Google Tag Manager?
      • If a user re-installs my app, will Freshpaint generate a new device ID?
      • Why doesn't Freshpaint need a BAA before sending data to Google Ads and Facebook Ads?
      • What Implementation Services Does Freshpaint Offer?
      • Single Sign On (SSO) Setup
Powered by GitBook
On this page
  • Destination Info
  • Getting Started
  • Follow these steps in order to enable the Klaviyo destination:
  • Set up User Identification
  • Enable Klaviyo Destination for Event(s)
  • Confirm events are sending successfully to Klaviyo
  • Identify
  • Client-side Identify
  • Server-side Identify
  • Events
  • Configuration Options
  • Connection Mode
  • Event Transformations
  • Event Tester

Was this helpful?

  1. Integrations
  2. Destinations
  3. Data Activation

Klaviyo

PreviousJuneNextMixpanel

Last updated 1 month ago

Was this helpful?

is an an e-commerce focused multi-channel marketing platform. With Klaviyo, businesses of all sizes can deliver personalized experiences across owned marketing channels such as email and SMS.

When integrated with Klaviyo, Freshpaint will create and update user profiles in Klaviyo and associate events with those user profiles.

Destination Info

  • Accepts and calls

  • Supports

  • Connection Modes:

Client-side
Server-side

Web

Mobile

Server

Getting Started

Follow these steps in order to enable the Klaviyo destination:

  1. Go to the Klaviyo in Freshpaint and click "configure".

  2. Find your public Klaviyo API Key under Account > Settings > API Keys and enter it into the Integration Settings in Freshpaint.

  3. By default, email is set as the preferred user identifier in Klaviyo. If for some reason, you would like to prioritize a different identifier, uncheck this box.

  4. Choose a connection mode. You can take a look at the differences between the connection modes in the reference section below.

  5. the destination.

Set up User Identification

Enable Klaviyo Destination for Event(s)

In order to send events to Klaviyo, you'll need to enable the Klaviyo destination for the desired event in the event definition.

Confirm events are sending successfully to Klaviyo

You can see events associated with user profile by clicking into a user profile

Identify

You must include one of the following: email, phone, or a unique identifier such as a user ID. If you have the "Use Email as Identifier" box checked under your configuration, Freshpaint will still create a profile in Klaviyo with another identifier. However, if you send an identify call later with an email, Freshpaint will prioritize that email identifier and the profiles will merge under the email address.

If a profile record with the given identifier already exists, Freshpaint will update the existing profile record. If no record with the identifier exists, Freshpaint will create a new user profile.

The following Freshpaint parameters map to Klaviyo's user traits when calling identify:

Freshpaint Parameter
Klaviyo User Trait

firstName

$first_name

lastName

$last_name

email

$email

phone or phoneNumber

$phone_number

title

$title

id

$id

Client-side Identify

Server-side Identify

https://a.klaviyo.com/api/identify

You can see the newly created/updated user profiles under "profiles" in Klaviyo.

Events

https://a.klaviyo.com/api/track

There are some properties that are required for events to be accepted by Klaviyo. You can view them in the table below.

If you are sending a precision tracking event via Freshpaint's track method, or sending Autotrack events either server-side or client-side, Freshpaint will make sure any required properties are attached to the event.

Argument
Type
Description

token (required)

string

event (required)

string

Name of the event you want to track

customer_properties (required)

hash/dictionary

Properties of the profile that triggered this event. You must identify the person by their email using a $email key (or if you have SMS-only contacts, by their phone number using a $phone_number key). Other than that, you can include any data you want and it can then be used to create segments of people.

properties (optional)

hash/dictionary

time (optional)

integer (10 digit unix timestamp)

When this event occurred. By default, Klaviyo assumes events happen when a request is made. If you'd like to track an event that happened in the past, use this property.

You can view events in Klaviyo under the user's profile.

Configuration Options

Connection Mode

Client-side Connection Mode

Events originating from the user's web browser will be sent directly to Klaviyo.

Server-side Connection Mode

All events will be sent to Klaviyo using Freshpaint's servers. Your website will not send data directly to Klaviyo.

Event Transformations

Event Tester

If you are in server-side connection mode you can use the event tester to test certain payloads to see if they are being sent correctly to Klaviyo. Here is an example of an identify event you might test sending to this destination along with the response code from Klaviyo:

In order to create profiles and attribute events to those profiles in Klaviyo, you need to have set up. See below for more on user identification specifically for Klaviyo.

When you call , Freshpaint will create or update a profile in Klavyio.

We highly recommend you consistently identify all individuals using only their email address ($email) or phone number ($phone_number), and do not pass $id values. Inconsistent identifiers sent to Klaviyo will result in inflated user profiles being created in Klaviyo. For more information, see Klaviyo's .

If you are using client-side connection mode, Freshpaint calls Klaviyo's identify method which calls their .

If you are in server-side connection mode, or if you otherwise have server-side identify calls set up, Freshpaint will create or update a user profile in Klaviyo by calling their at:

When you send events to Klaviyo from Freshpaint in client-side connection mode, Freshpaint creates an event in Klaviyo by calling their front-end Track method, which uses_learnq object to track customers. You can learn more about that .

When you send events to Klaviyo in server-side connection mode, or send server events to Klaviyo, Freshpaint creates an event in Klaviyo by calling their back-end at:

Your (six characters long)

Properties of this event. Any properties included here can be used for creating segments later. There are also you can use here, denoted by a $, which map directly to some of Klaviyo’s features. For example, if you track an event called Ordered Product, you can include a property for item type (e.g. image, article, etc.), size, etc.

Both server-side connection mode and client-side mode are available for this destination. You can read more about the different connection modes .

Set up transformations to modify your data before it's sent to your destination. Read more about transformations .

You can read more about the Event Tester .

User Identification
this section
freshpaint.identify
documentation
Identify API
Identify API
here
Track API
here
here
here
public key
specific properties
Klaviyo
Track
Identify
HIPAA mode
configuration page
Enable