Tag Manager

Inject code directly on your website without requiring engineering support

By using our Tag Manager feature, you can inject code into your website. To add or edit code snippets, you should go to the Projects Pagearrow-up-right, and click the settings button for the project you want to inject code onto.

To use this feature, you must add the unsafe-eval expression to your Content Security Policy.arrow-up-right

On Initial Page Load:

Code injected here will be triggered when your website is first loaded. This is similar to a DOMContentLoaded event, except we call it a little later, once Freshpaint is loaded. A common use case for this is attaching user propertiesarrow-up-right or event propertiesarrow-up-right with dynamic properties that are only available after page load.

circle-exclamation

On Page Change:

Code injected here will be triggered each time a page is loaded. This includes the initial page load event, but also any subsequent page changes within a single page app. This is often used for attaching page view propertiesarrow-up-right within single page apps.

On Identify

Code injected here will be triggered each time freshpaint.identify()arrow-up-right is called. You will have access to two variables, userID and userProps. These variables will take on the values of the unique_id and properties arguments of freshpaint.identify().

circle-exclamation

Code injected by On Identify is most often used to build custom javascript integrations by passing identity information from Freshpaint to a javascript SDK.

On Track

Code injected here will be triggered each time freshpaint.track()arrow-up-right is called. You will have access to - eventName, eventProperties, builtinProperties and eventOptions. The variables eventName, eventProperties and eventOptions will take on values as they were passed to freshpaint.track.

eventName will be the name of the event as a string.

eventProperties will be an object with event properties as key, value pairs.

eventOptions will only be present in manual/precision track calls, and it will be the third parameter passed in, which is usually used to control which destinations an event is sent to.

builtinProperties will contain the properties that Freshpaint automatically captures for each event. It is populated for autotrack events.

chevron-rightSample value of builtinProperties for an autotrack eventhashtag

Code injected by On Track is most often used to build custom javascript integrations by passing identity information from Freshpaint to a javascript SDK.

On Track can also be used to compute new properties using javascript and send them with the event.

The following example shows how On Track in tag manager can be used to compute new event properties using custom javascript code.

Write transformation code in On Track
Computed property is available in the event

Security

If you want to opt out of this feature, and disable Freshpaint admins from using it, you can set the option tag_manager to false in your Freshpaint init() call.

Last updated

Was this helpful?