Pan PHP: Library Analytics Sederhana untuk Project Laravel

A simple, lightweight, and privacy-focused product analytics php package

Pan PHP: Library Analytics Sederhana untuk Project Laravel

Deskripsi

Dalam dunia pengembangan web modern, memahami bagaimana pengguna berinteraksi dengan aplikasi kita menjadi sangat penting. Namun, kebanyakan solusi analytics yang ada saat ini seringkali kompleks, mahal, atau mengumpulkan terlalu banyak data pribadi pengguna. Inilah mengapa Pan PHP hadir sebagai solusi yang lebih sederhana dan fokus pada privasi.

Apa itu Pan PHP?

Pan adalah library analytics PHP yang ringan dan mengutamakan privasi. Dirancang sebagai package yang sangat sederhana, Pan dapat diinstal melalui Composer dan langsung digunakan untuk melacak elemen-elemen dalam aplikasi web hanya dengan menambahkan atribut data-pan pada HTML.

Keunggulan Utama Pan PHP

1. Privacy-First Approach Pan tidak mengumpulkan informasi pribadi apapun seperti alamat IP, user agent, atau data lain yang dapat digunakan untuk mengidentifikasi pengguna. Ini menjadikannya solusi yang aman dan sesuai dengan regulasi privasi modern.

2. Kesederhanaan Implementasi Hanya perlu menambahkan atribut data-pan pada elemen HTML yang ingin dilacak. Tidak perlu konfigurasi rumit atau setup tracking code yang kompleks.

3. Integrasi Seamless dengan Laravel Pan bekerja out-of-the-box dengan stack Laravel favorit Anda, termasuk Inertia.js dan Livewire. Library ini secara otomatis menangani single-page application behavior dengan benar.

Event yang Dilacak

Saat ini, Pan melacak tiga jenis event dasar:

  • Impressions: Ketika elemen terlihat di layar
  • Clicks: Ketika elemen diklik
  • Hovers: Ketika cursor berada di atas elemen

Kasus Penggunaan Praktis

Pan sangat berguna untuk berbagai skenario analytics sederhana:

1. Tracking Tab Engagement

<div>
  <button data-pan="tab-profile">Profil</button>
  <button data-pan="tab-settings">Pengaturan</button>
  <button data-pan="tab-history">Riwayat</button>
</div>

2. Menganalisis Efektivitas Button

<button data-pan="register-header" class="btn-primary">Daftar Sekarang</button>
<button data-pan="register-sidebar" class="btn-secondary">Daftar</button>
<button data-pan="register-footer" class="btn-outline">Bergabung</button>

3. Tracking Help Elements

<span data-pan="help-tooltip-pricing" class="help-icon">?</span>
<div data-pan="help-popup-features" class="help-section">Bantuan</div>

Instalasi dan Setup

Requirements

  • PHP 8.3+
  • Laravel 11.0+

Langkah Instalasi

  1. Install via Composer
composer require panphp/pan

  1. Install ke Laravel Project
php artisan install:pan

  1. Mulai Tracking Tambahkan atribut data-pan pada elemen yang ingin dilacak:
<button data-pan="checkout-button">Checkout</button>

Penting: Nama event hanya boleh mengandung huruf, angka, tanda hubung (-), dan underscore (_).

Visualisasi Data Analytics

Pan menyediakan command Artisan yang sederhana untuk melihat data analytics:

# Melihat semua analytics
php artisan pan

# Filter analytics tertentu
php artisan pan --filter=tab-profile

Command ini akan menampilkan tabel dengan data analytics yang telah dikumpulkan, membantu Anda memahami pola interaksi pengguna.

Keamanan dan Konfigurasi

Whitelist Analytics

Untuk mencegah bad actors memanipulasi tracking, Pan menyediakan sistem whitelist:

use Pan\PanConfiguration;

public function register(): void
{
    PanConfiguration::allowedAnalytics([
        'tab-profile',
        'tab-settings',
        'checkout-button',
    ]);
}

Pengaturan Limit

// Batasi jumlah analytics records
PanConfiguration::maxAnalytics(10000);

// Atau unlimited (tidak disarankan untuk production)
PanConfiguration::unlimitedAnalytics();

Custom Route Prefix

PanConfiguration::routePrefix('internal-analytics');
// URL tracking menjadi: /internal-analytics/events

Cara Kerja di Balik Layar

Pan menggunakan pendekatan yang cerdas:

  1. Client-Side: JavaScript library sederhana diinjeksi ke halaman HTML melalui middleware
  2. Event Collection: Library mendengarkan event viewed, clicked, dan hovered
  3. Batching: Event dikumpulkan dan dikirim secara batch untuk mengurangi beban server
  4. Server-Side: Hanya menyimpan nama analytics dan counter event, tanpa informasi pribadi

Maintenance

Untuk membersihkan data analytics lama:

php artisan pan:flush

Mengapa Memilih Pan PHP?

  1. Sederhana: Setup dalam hitungan menit, tidak perlu learning curve yang panjang
  2. Privacy-Focused: Tidak mengumpulkan data pribadi pengguna
  3. Performant: Event collection yang efisien dengan batching
  4. Laravel Native: Terintegrasi sempurna dengan ecosystem Laravel
  5. Open Source: Licensed under MIT, gratis untuk digunakan

Kesimpulan

Pan PHP menawarkan solusi analytics yang sempurna untuk developer yang membutuhkan insight sederhana tentang interaksi pengguna tanpa kompleksitas berlebihan. Dengan fokus pada privasi dan kemudahan penggunaan, Pan menjadi pilihan ideal untuk aplikasi Laravel yang membutuhkan basic product analytics.

Jika Anda mencari alternatif yang lebih ringan dari Google Analytics atau solusi tracking lainnya, Pan PHP layak dipertimbangkan. Library ini membuktikan bahwa analytics tidak harus rumit untuk menjadi berguna.

Pan PHP adalah project open-source yang tersedia di GitHub dan dapat digunakan secara gratis untuk proyek apapun.


Developer

Pan PHP

Developer

1,215 Stars
61 Forks