Freshpaint Web SDK Reference
The
track
call can be used to manually send data to your destinations. See the docs on manually tracking events in Freshpaint for more information.freshpaint.track("Purchase", {"price": 500});
Argument | Type | Required | Description |
---|---|---|---|
Event Name | String | Yes | The name of the event you want to send to Freshpaint. |
Properties | Object | No | A JSON object of properties you want to send along with the event. |
options | Object | No | This is an advanced feature. Options is a JSON object that can be used to configure what data is sent to what destinations. See the docs on Passing in Options to the Freshpaint SDK. |
callback | Function | No | A function that will be called after the track call completes. |
The
identify
call can used to attach user properties the current user. Destinations will then use that data to create a single profile for that user, even if data for that user comes from multiple places. See the identify docs for more information.// Associate all future events sent from
// the library with the distinct_id [email protected]
freshpaint.identify("[email protected]", {
"email": "[email protected]",
"name": "Ada Lovelace"
});
The properties argument is optional. If you want to only attach a unique identifier to the user, you can call identify like so:
freshpaint.identify("[email protected]");
Likewise, the identifier is also optional. If you only want to attach properties to the user without attaching an identifier, you can perform a call like the following:
Argument | Type | Required | Description |
---|---|---|---|
distinct_id | String | No | A string that uniquely identifies a user (such as email address). |
properties | Object | No | A JSON object of user properties to send to the destinations. |
options | Object | No | This is an advanced feature. Options is a JSON object that can be used to configure what data is sent to what destinations. See the docs on Passing in Options to the Freshpaint SDK. |
callback | Function | No | A function that will be called after the identify call completes. |
The
group
call can be used to attach group properties to the current user. Destinations will then allow you to analyze different groups of users.freshpaint.group("Google", {
"plan": "enterprise",
"sign-up-date": "04/01/2019"
});
Argument | Type | Required | Description |
---|---|---|---|
distinct_id | String | Yes | A string that uniquely identifies the group this user belongs to (such as a company name). |
properties | Object | No | A JSON object of group properties to send to the destinations. |
options | Object | No | This is an advanced feature. Options is a JSON object that can be used to configure what data is sent to what destinations. See the docs on Passing in Options to the Freshpaint SDK. |
callback | Function | No | A function that will be called after the group call completes. |
The
alias
call can be used to specify one user id as an alias for another user id. This is needed to implement the identify for some destinations, specifically Mixpanel and Kissmetrics.freshpaint.alias("[email protected]");
Argument | Type | Required | Description |
---|---|---|---|
new_id | String | Yes | The new id to alias the old id to. |
old_id | String | No | The old id to alias to the new id. Defaults to the id of the current user. |
options | Object | No | This is an advanced feature. Options is a JSON object that can be used to configure what data is sent to what destinations. See the docs on Passing in Options to the Freshpaint SDK. |
callback | Function | No | A function that will be called after the alias call completes. |
The
page
will trigger a virutal pageview in your downstream destinations. This is only supported by some destinations such as Google Analytics and HubSpot. By default, Freshpaint will collect pageviews out of the box, even for a single page application. If you have some notion of a page view that does not match the automatic pageview tracking, you should set up a custom event by using freshpaint.track() instead.Argument | Type | Required | Description |
---|---|---|---|
category | String | No | The category this page belongs to (such as a marketing page or product page). |
name | string | No | The name of this specific page. |
properties | Object | No | A JSON object of properties to send to the destintions. |
options | Object | No | This is an advanced feature. Options is a JSON object that can be used to configure what data is sent to what destinations. See the docs on Passing in Options to the Freshpaint SDK. |
callback | Function | No | A function that will be called after the page call completes. |
The
ready
call will call the provided callback after the Freshpaint SDK and the SDK for all destinations has finished loading.freshpaint.ready(function() { console.log("The Freshpaint SDK has loaded"); });
Argument | Type | Required | Description |
---|---|---|---|
callback | Function | Yes | The function to call once the Freshpaint SDK has completely loaded |
The
reset
call clears any local Freshpaint data attached to this user. This does not clear any local data for any of your destinations. For example this may be useful if a user logs out and logs in to a different account.freshpaint.reset();
The
addEventProperties
call can be used to set data layer properties. Once a property is set through addEventProperties
all events going forward will contain that property. The callfreshpaint.addEventProperties({"pricing plan": "enterprise"});
will include the property
pricing plan
with the value enterprise
until either the value is overwritten or you delete the property with removeEventProperty
. addEventProperties
should be used to set any properties that can change.Argument | Type | Required | Description |
---|---|---|---|
properties | Object | Yes | An object of properties and values to attach to all events going forward. |
The
addPageviewProperties
call creates data layer properties that persist until the user leaves the page. The properties created with addPageviewProperties
are automatically removed once the user leaves the current page. The call:freshpaint.addPageviewProperties({"product name": "pair of shoes"});
will send the property
product name
with the value pair of shoes
as part of all events that occur on the current page. Once the user leaves the current page, the property will no longer be sent. The addPageviewProperties
call should be used to set any properties that are specific to the page the user is currently on.If you call
addPageviewProperties
you should call it as part of the Freshpaint snippet. Specifically you should call addPageviewProperties
immediately after the freshpaint.init()
call and before the call to freshpaint.page()
. This ensures any pageview properties you set are attached to the pageview event created by Freshpaint.Argument | Type | Required | Description |
---|---|---|---|
properties | Object | Yes | An object of properties and values to attach to all events that occur on the current page. |
The
addInitialEventProperties
call works the same way as addEventProperties
except if a property is already set, addInitialEventProperties
will not override it. This is useful for when you care about the first value of some property. As an example, the callfreshpaint.addInitialEventProperties({"initial landing page": "/article"});
will set the value of the property
initial landing page
to /article
. Even after calling addInitialEventProperties
with a different of initial landing page
the value of initial landing page
will still be /article
. addInitialEventProperties
should be used to set properties that you never want to change.Argument | Type | Required | Description |
---|---|---|---|
properties | Object | Yes | An object of properties and values to attach to all events going forward. |
The
removeEventProperty
call can be used to remove data layer properties. Once used, freshpaint will no longer send the given property. As an example, the call:freshpaint.removeEventProperty('search term');
will delete the current
search term
property and Freshpaint will stop sending it going forward.Argument | Type | Required | Description |
---|---|---|---|
property | String | Yes | The name of the property to remove. |
You can pass in an
integrations
object in the options
argument for each of the tracking methods (track, identify, etc.) to specify which destinations to send a precision-tracked event.For example, the following sends the identify call to only Mixpanel and Braze:
freshpaint.identify('user_123', {
email: "[email protected]",
name: "Ada Lovelace"
}, {
integrations: {
'All': false,
'Mixpanel': true,
'Braze': true
}
});
All: false
tells Freshpaint to not send the message to any destinations unless the destination is explicitly set to true
.You can also use the integration objects to specify which destinations a message should not be sent to. This example will send the
identify
message to all destinations except Mixpanel and Braze:freshpaint.identify('user_123', {
email: "[email protected]",
name: "Ada Lovelace"
}, {
integrations: {
'Mixpanel': false,
'Braze': false
}
});
Note that for messages triggered by
freshpaint.track()
, you can specify which destinations an event should be sent to without code. You can do this by finding the event in the Freshpaint UI and toggling the destination.Enabling "override hardcoded destination" in the UI will take precedence over the configuration specified in the integrations object.
If you are using the Freshpaint SDK within a typescript application, you can include the following type declaration file
index.d.ts
1KB
Binary
- If you are having trouble accessing the Freshpaint SDK, please ensure you are calling
freshpaint.identify()
instead ofwindow.freshpaint.identify()
Last modified 16d ago