Pan - A simple, lightweight, and privacy-focused product analytics php package
Published on by Eric L. Barnes
Nuno Maduro just released a new PHP package called Pan. Pan is a lightweight and privacy-focused PHP product analytics library. It’s designed as a very simple package that you can install via composer require
and start tracking your pages or components with a simple data-pan
attribute.
Currently, Pan tracks only the following events: impressions, hovers, and clicks. It does not collect any personal information, such as IP addresses, user agents, or any data that could be used to identify a user.
Pan Use Cases
- you have different tabs within a page with the same URL, and you want to know which one is the most viewed. By adding the
data-pan
attribute to your tabs, you can track this information. - you have different register buttons in your application, and you want to know which one is the most clicked. By adding the
data-pan
attribute to your buttons, you can track this information. - you have different "help" pop-hovers in your application, and you want to know which one is the most hovered. By adding the
data-pan
attribute to your pop-hovers, you can track this information. - and so on...
How does Pan work?
Via middleware, Pan injects a simple JavaScript library into your HTML pages. This library listens to events like viewed
, clicked
, or hovered
and sends the data to your Laravel application. Note that this library does not collect any personal information; such as IP addresses, user agents, or any information that could be used to identify a user.
Also on the client-side, these events are collected in a very performant way and batched together to reduce the number of requests to your server.
On the server-side, Pan only stores: the analytic name, and a counter of how many times the different events were triggered. Via the pan
Artisan command, you may visualize this data, and hopefully use this information to improve your application.
Visit the projects Github for complete details.
Eric is the creator of Laravel News and has been covering Laravel since 2012.