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
        • Podscribe (Early Access)
        • 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
  • Identify
  • Unsubscribe Users
  • Events
  • Turn on anonymous event merging
  • Pageviews
  • Configuration Settings
  • Connection Mode Settings
  • Event Transformations
  • Customer.io Limits
  • User Limits
  • Track API Event Rate Limits

Was this helpful?

  1. Integrations
  2. Destinations
  3. Data Activation
  4. Customer.io

Customer.io Reference

PreviousCustomer.io Quick Start GuideNextFreshsales

Last updated 2 months ago

Was this helpful?

Destination Info

  • Accepts , , , and calls

  • Supports

  • Connection Modes:

Client-side
Server-side

Web

Mobile

Server

Identify

When you call , if the user already exists, Freshpaint will attach the provided user properties to the corresponding user as by calling Customer.io's single request endpoint for their at endpoint: /api/v1/customers.

If the user does not exist, Freshpaint will create the user in Customer.io.

If your account supports both email and id as identifiers in Customer.io (this is the default setting for accounts created after June 2021), you can identify users using either one.

You can look at all the attributes collected with the user profile in Data & Integrations > Data Index.

If you want to add a custom user property, you just have to add it into the $user_props object in your identify. For example,

freshpaint.identify("userId1234", {
  "token": "<your_env_id>",
  "time": 1676399027,
  "distinct_id": "john.doe@example.com",
  "$device_id": "00000000-0000-0000-0000-00000000",
  "$user_props": {
    "firstname": "John",
    "lastname": "Doe",
    "customProp": 12345
  }
})

Unsubscribe Users

You can unsubscribe users in Customer.io by simply adding the unsubscribed: true key value pair to the identify call. For example,

freshpaint.identify("userId1234", {
    "email": "john.doe@example.com",
    "unsubscribed": true
  }
)

Events

You can view all recent events in Customer.io's Activity Logs.

Turn on anonymous event merging

When you create a new workspace, anonymous event merging is on by default. If you created your workspace before July 2021, you must enable Anonymous event merging to associate anonymous events with people you identify.

  1. Go to Settings > Workspace Settings.

  2. Scroll down to Merge Settings and click Settings.

  3. Turn on the Anonymous event merge setting.

Pageviews

Configuration Settings

Connection Mode Settings

Event Transformations

Customer.io Limits

User Limits

Customer.io limits user traits as listed below, referred to as Customers in Customer.io:

Data Type
Limit
Description

ID

150 bytes

Max length of a person's ID value

Attribute Name

150 bytes

Max length of each attribute name

Attribute Value

1000 bytes

Max length of attribute values

Unique attributes

300

Max number of attributes allowed per person or Identify call

Track API Event Rate Limits

Data Type
Limit
Description

Event Name

100 bytes

Max length of each event name

Event Data

100000 bytes

Max length of each event data

Freshpaint events will be sent to Customer.io as Customer.io by hitting their endpoint at:

Make sure the has gone out with either the email or id property prior to sending events to this destination. Anonymous events are only stored in Customer.io for 30 days.

You can send to Customer.io containing an anonymous_id. When you set the anonymous_id on a person, we associate those anonymous events with a person. This lets you log events before people log in, sign up, or are otherwise identified, and then attribute those events to people after you identify them.

Freshpaint will automatically send all page view events to Customer.io. Page views show up in Customer.io .

Both client side and server side connections modes are available for this destination. You can read more about connection modes .

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

Customer.io has limits on the data collected by their track API. If you are using Freshpaint's to send a batch of events to Customer.io at once, make sure you throttle the import to 100-200 requests per second. Below are the payload size limits for their track API.

See Customer.io's for more information.

See Customer.io's for more information.

Events
track API
https://track.customer.io/api/v1/customers/{identifier}/events
identify call
anonymous events
as events with the URL of the page as the name of the event
here
here
HTTP API
documentation
documentation
Page
Track
Group
Identify
HIPAA mode
identify()
Customer.io customer attributes
track api