Links

Freshpaint Web SDK Options

Init Options

Freshpaint's SDK accepts a number of options in its init method. We'll go over those options in this document. Here's a typical invocation of init, which you can find in our Autotrack snippet:
freshpaint.init("11111111-2222-3333-4444-555555555555", {
"api_host": "https://my.api.host/prod",
"app_host": "https://my.app.host"
});
Below is a table of the options we support with the init method:
Option
Type
Default
Description
api_host
string
(your account's api host)
We use api_host to communicate with our servers, whether that's loading event definitions or tracking events. You shouldn't change the value of this option without specific guidance from Freshpaint.
app_host
string
(your account's app host)
This is an internal option we use to support client-side events and our Visual Tagger. You shouldn't change this value without specific guidance from Freshpaint.
disable_target_text_capture
boolean
false
Set this option to true if you don't want autotrack to capture target text properties like $el_text and $el_nested_text.
integrations
object
{}
Pass a list of integrations that you want to send your events to. This will override your events normal destinations. See the documentation on event options for details on how this should look.
persistence
string
cookie
How Freshpaint's SDK will save user session information. The possible values are cookie and localStorage.
unload_wait_time
number
100
The SDK will register an onUnload event to wait this number of milliseconds to let any queued events be sent to us and client-side destinations when closing a page with the SDK on it. Increasing this will cause us to wait longer, and maybe capture more events, at the cost of a longer delay before leaving a page.

Event Options

Each event allows you to pass in a list of integrations to which you want to send your event. This is a great way to conditionally enable or disable an integration while you're experimenting. Here's an example of how it works:
freshpaint.track(
"some-event-name",
{
some_property: 123,
},
{
integrations: {
All: false,
Mixpanel: true,
Iterable: true
}
}
);
There's a couple of interesting properties to highlight here. The first is All: false. You can use this to override your event's normal list of destinations, and send to none of them, except for Mixpanel and Iterable, which are both true.
The inverse of this behavior is also possible. Consider the following:
{
All: true,
Mixpanel: false
}
Here, you'll send to every destination except Mixpanel.