PostHog analytics

Mike's Notes

I plan to experiment with using PostHog for analytics. They are very open about their products. I have copied their approach and applied it to Ajabbi.com. The Ajabbi Handbook, for example, is based on the PostHog Handbook. I'm also creating a ribbon menu based on what PostHog does.

I need analytics to discover how to improve Pipi and provide an excellent service to developers. I'm not doing this to invade people's privacy and sell ads.

They have a generous free tier, which should work for the early startup stages.

Ways to install

  • JS snippet
  • Libraries
  • Frameworks
  • API

I will start including their code using JS snippets on web pages in the next few weeks.

Resources

References

  • Reference

Repository

  • Home > Ajabbi Research > Library > Subscriptions > PostHog
  • Home > Handbook > 

Last Updated

18/05/2025

Article

By: 
PostHog: 19/09/2024

Installation instructions

"This is the simplest way to get PostHog up and running. It only takes a few minutes.

Copy the snippet below and replace <ph_project_api_key> and <ph_client_api_host> with your project's values, then add it within the <head> tags at the base of your product - ideally just before the closing </head> tag. This ensures PostHog loads on any page users visit.

You can find the snippet pre-filled with this data in your project settings." - PostHog

Code

HTML

<script>

    !function(t,e){var o,n,p,r;e.__SV||(window.posthog=e,e._i=[],e.init=function(i,s,a){function g(t,e){var o=e.split(".");2==o.length&&(t=t[o[0]],e=o[1]),t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}}(p=t.createElement("script")).type="text/javascript",p.async=!0,p.src=s.api_host+"/static/array.js",(r=t.getElementsByTagName("script")[0]).parentNode.insertBefore(p,r);var u=e;for(void 0!==a?u=e[a]=[]:a="posthog",u.people=u.people||[],u.toString=function(t){var e="posthog";return"posthog"!==a&&(e+="."+a),t||(e+=" (stub)"),e},u.people.toString=function(){return u.toString(1)+".people (stub)"},o="capture identify alias people.set people.set_once set_config register register_once unregister opt_out_capturing has_opted_out_capturing opt_in_capturing reset isFeatureEnabled onFeatureFlags getFeatureFlag getFeatureFlagPayload reloadFeatureFlags group updateEarlyAccessFeatureEnrollment getEarlyAccessFeatures getActiveMatchingSurveys getSurveys getNextSurveyStep onSessionId".split(" "),n=0;n<o.length;n++)g(u,o[n]);e._i.push([i,s,a])},e.__SV=1)}(document,window.posthog||[]);

    posthog.init('<ph_project_api_key>', {api_host: 'https://us.i.posthog.com', person_profiles: 'identified_only'})

</script>

No comments:

Post a Comment