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
  • Types of Transformations
  • Standard Mapping
  • Modify Data
  • Modify User Data
  • Supported Operations
  • Transformations Dashboard
  • Creating a new transformation
  • Add a new operation to a transformation
  • Deleting or modifying an operation
  • Deleting an entire transformation set

Was this helpful?

  1. Admin Panel

Transformations

Modify your data before it's sent to destinations

PreviousRole-Based Access Control (RBAC)NextStandard Events

Last updated 7 months ago

Was this helpful?

Types of Transformations

Freshpaint supports three uses for transformations

Standard Mapping

Standard mappings are used to re-format the data you send to Freshpaint into the structure that a destination accepts and assigns special meaning to. For example, you can use transformations to rename your add_to_cart event that you're sending to Freshpaint into Facebook or Pinterest's AddToCart event.

Modify Data

You can use transformations to modify the data Freshpaint sends to destinations in order to match historical data or remove sensitive information before they are sent to a destination.

Modify User Data

Identify transformations allow you to re-format OR modify the user data you send to Freshpaint. This can be particularly useful if a certain destination requires a user property in one format, and another destination requires that same user property in a different format.

For example, if one destination enforces a naming convention that the user's operating system must be sent as user_os while another destination requires the operating system to be sent as os, you can rename the user property accordingly before the identify event is sent to the destination.

SQL transformations do not apply to identify events at this time.

Supported Operations

Use this operation to rename the event. For example, if you have an event named order_complete, but you want this to be named OrderCompleted in a destination, you can use this operation.

You can only rename an event once. If you try to add two "Rename Event" operations to a given event + destination combination, you will receive an error.

Use this operation to rename a property. This is often used to fix typos without involving developers, or for fixing data to match historical data.

Example use cases:

Rename a property with a typo like referer to referrer

Rename the property cart_total to revenue

Use this operation to convert between text, number, and true/false values of a property.

If a value cannot be converted to the desired type, it is left untouched.

Convert To Number

When converting a property into a number, we leave everything that is not text untouched. For text, we attempt to parse it as a decimal value, if it has characters that are non-numeric, it fails.

Initial Value

Initial Type

Result Value

Result Type

"-1"

Text

-1

Number

"24.6"

Text

24.6

Number

"$812.37"

Text

"$812.37"

Text

1

Number

1

Number

null

Null

null

Null

"button"

Text

"button"

Text

"$fourty-five"

Text

"$fourty-five"

Text

Convert To Text

When converting a property's value to text, we leave null and text values as-is, but convert objects, arrays, numbers and true/false values. For objects and arrays, we json-encode them without modifying the sub-element's types. For numbers and true/false values, we simply convert them to text as you'd expect.

Initial Value

Initial Type

Result Value

Result Type

true

True/False

"true"

Text

1

Number

"1"

Text

null

Null

null

Null

"button"

Text

"button"

Text

{x: 'yes', y: 23}

Object

'{"x": "yes", "y": 23}'

Text (json-encoded)

[1, 2, 3, "no", false]

Array

"[1, 2, 3, 'no', false]"

Text (json-encode)

Convert To True/False

When converting a property's value to True/False, all values besides the text values t, f, true and false (case insensitive) are let as-is.

Note: the numerical values of 0 and 1 are not converted to false or true

Initial Value

Initial Type

Result Value

Result Type

't'

Text

true

True/False

'f'

Text

false

True/False

'x'

Text

'x'

Text

'TrUe'

Text

true

True/False

'fAlse'

Text

false

True/False

'truthful'

Text

'truthful'

Text

true

True/False

true

True/False

false

True/False

false

True/False

0

Number

0

Number

42

Number

42

Number

Use these operations to convert the value of a property to upper or lower case. Useful for normalizing email addresses, or converting a currency property from usd to USD to match historical data.

Use this operation to delete an event property. This is often useful if you want to remove sensitive data from flowing into a third party destination.

Use this operation to send the built-in properties to destinations that Freshpaint automatically captures for each event.

The following built-in properties are currently supported:

Builtin Property Name
Remarks
Example Value

Time

1660750813.235

Device ID

User ID

Identifier for the user. Can be a UUID if the user is anonymous, or the user email if logged in.

support@freshpaint.io

OS

Operating System

Mac OS X

Browser

Chrome

Browser Version

104

Current URL

Full url of the page on which the event was captured.

https://yourwebsite.com/pages/target-page.html?param=value

Host

Domain of the page on which the event was captured.

yourwebsite.com

Initial Referrer

Initial Referring Domain

IP

The user's IP Address

Pathname

/pages/target-page.html

Referrer

Referring Domain

Screen Height

Screen height in pixels

1080

Screen Width

Screen width in pixels

1920

UTM Source

UTM Medium

UTM Campaign

UTM Content

UTM Term

Pageview ID

Session ID

Target Text

Text of the element which was clicked on

button text

Href

The href of a link which was clicked on

yourhref.com

Use this operation to send some constant value as a property. You can use one of the following values:

  • Number, which support numeric values (42, 42.1, 0.123)

  • True/False, which supports only True or False as literal booleans

  • Text, which can be any text

Transformations Dashboard

From the transformation dashboard, you can view and edit your existing transformations, as well as launch the wizard to guide you through creating a new transformation.

Transformations are grouped into sets based on their Transformation Type, Freshpaint Event and Destination.

Creating a new transformation

You can launch the wizard to create a new transformation by clicking the button in the top right.

Add a new operation to a transformation

  1. Expand the transformation set you want to modify by clicking on it. If you just created a new transformation via the wizard, it will already be opened.

Deleting or modifying an operation

  1. Expand the transformation set that contains the operation you want to modify by clicking on it. If you just created a new transformation via the wizard, it will already be opened.

  2. Click on the operation you want to delete or modify. It will highlight and show a pencil icon as you hover over it.

  3. From here you can either change the attributes and click "Save" or delete the operation by clicking "delete."

Deleting an entire transformation set

You can delete an entire set of transformations by clicking on the trash icon on the right side of any transformation set.

when the event was captured

You can also see the built-in properties that captures in .

2. Click the + button and choose the operation you want to apply. See for operation descriptions.

Standard Events
Modify Data
Modify User Data
liveview
above
Unix timestamp
View Built-in properties for each event in Live View
Expanding a transformation set