This doc covers information on sending server side events into Freshpaint.

When to track events server-side vs. client-side

The Javascript source is the easiest way to collect data with Freshpaint. The Javascript source automatically collects data from your site and lets you retroactively create events from the collected data.

We recommend that you track events server-side in the following scenarios:

  1. Offsite events: when a user interaction is not on a website or app (for example, using your API)

  2. Revenue events: the event for completing a purchase (for example, a user may click the 'Purchase' button, but that purchase may time out)

Sometimes you can make an argument for tracking an event either client-side or server-side. We recommend that you should only consider tracking events server-side in the following scenario:

  1. Essential events to operations: For example, events that you trigger a critical email drip from (so that users don't get left out or sent the wrong emails).

Sending Server-side events to Freshpaint

To send server-side events to Freshpaint, you should use the Freshpaint HTTP API. Take a look at HTTP API reference for how to go about sending events to Freshpaint.


Sending Server-side events to Destinations

After sending a server side event to Freshpaint, you will see it show up in the server-side section on the events page. From here, you'll be able to send the event to any of the Destinations you've set up in Freshpaint.

Supported Server Side Destinations

Not all destinations accept server-side events. Here's a list of destinations you can send server-side events to:

  • Amplitude

  • Azure Synapse Analytics

  • BigQuery


  • Facebook Conversions API

  • Google Analytics

  • Iterable

  • Klaviyo

  • Mixpanel

  • MySQL

  • Panolpy

  • Postgres

  • Redshift

  • S3

  • Snowflake

Most advertising destinations do not integrate well with server-side events because they require an ad click ID parameter which is collected via the browser. Facebook Conversions API is an exception because it does not require an ad click ID.

Last updated