How Do I Switch From Native Google Analytics to the Freshpaint Google Analytics Destination?

Switching from Native Google Analytics to the Freshpaint Google Analytics destination takes only two steps:

  1. Setup your destinations in Freshpaint

  2. Replace the Google Analytics tag with the Freshpaint tag

  3. Reroute events that were going to Google Analytics to Freshpaint

1. Setting up your Google Analytics Destination in Freshpaint

See our guide to getting started with Google Analytics 4 in order to get data flowing from Google Analytics to Freshpaint.

2. Replacing the Google Analytics Tag with the Freshpaint Tag

First remove the Google Analytics tag and replace it with the Freshpaint tag. You can find the Freshpaint tag in the Freshpaint sources page which will look something like the Freshpaint snippet below:

<script type="text/javascript">
(function(c,a){if(!a.__SV){var b=window;try{var d,m,j,k=b.location,f=k.hash;d=function(a,b){return(m=a.match(RegExp(b+"=([^&]*)")))?m[1]:null};f&&d(f,"fpState")&&(j=JSON.parse(decodeURIComponent(d(f,"fpState"))),"fpeditor"===j.action&&(b.sessionStorage.setItem("_fpcehash",f),history.replaceState(j.desiredHash||"",c.title,k.pathname+k.search)))}catch(n){}var l,h;window.freshpaint=a;a._i=[];a.init=function(b,d,g){function c(b,i){var a=i.split(".");2==a.length&&(b=b[a[0]],i=a[1]);b[i]=function(){b.push([i].concat(Array.prototype.slice.call(arguments,
0)))}}var e=a;"undefined"!==typeof g?e=a[g]=[]:g="freshpaint";e.people=e.people||[];e.toString=function(b){var a="freshpaint";"freshpaint"!==g&&(a+="."+g);b||(a+=" (stub)");return a};e.people.toString=function(){return e.toString(1)+".people (stub)"};l="disable time_event track track_pageview track_links track_forms track_with_groups add_group set_group remove_group register register_once alias unregister identify name_tag set_config reset opt_in_tracking opt_out_tracking has_opted_in_tracking has_opted_out_tracking clear_opt_in_out_tracking people.set people.set_once people.unset people.increment people.append people.union people.track_charge people.clear_charges people.delete_user people.remove people group page alias ready addEventProperties addInitialEventProperties removeEventProperty addPageviewProperties".split(" ");
for(h=0;h<l.length;h++)c(e,l[h]);var f="set set_once union unset remove delete".split(" ");e.get_group=function(){function a(c){b[c]=function(){call2_args=arguments;call2=[c].concat(Array.prototype.slice.call(call2_args,0));e.push([d,call2])}}for(var b={},d=["get_group"].concat(Array.prototype.slice.call(arguments,0)),c=0;c<f.length;c++)a(f[c]);return b};a._i.push([b,d,g])};a.__SV=1.4;b=c.createElement("script");b.type="text/javascript";b.async=!0;b.src="undefined"!==typeof FRESHPAINT_CUSTOM_LIB_URL?
FRESHPAINT_CUSTOM_LIB_URL:"//perfalytics.com/static/js/freshpaint.js";(d=c.getElementsByTagName("script")[0])?d.parentNode.insertBefore(b,d):c.head.appendChild(b)}})(document,window.freshpaint||[]);
freshpaint.init("Your Env ID");
freshpaint.page();
</script>

3. Reroute events that were going to Google Analytics to Freshpaint

With that done, you need to point your Google Analytics tags to Freshpaint. This can be done by replacing any code that looks like:

gtag('event', <event-name>, <event-props>);

with the Freshpaint equivalent:

freshpaint.track(<event-name>, <event-props>);

Congrats! You're Done.

After replacing the Google Analytics tag with the Freshpaint tag, you've finished the migration process. We promised this would be easy. If you want to run a test to show that everything is working properly, try performing an action that would normally trigger an event in Google Analytics. You should see that event show up in the Freshpaint Liveview and in Google Analytics too!

If you are curious about any differences in how the data will appear, see the relevant section of the relevant section of the Google Analytics 4 integration.

Last updated