darvis/livewire-google-analytics
Composer 安装命令:
composer require darvis/livewire-google-analytics
包简介
Clean Google Analytics 4 event tracking for Laravel Livewire applications
README 文档
README
Clean and secure Google Analytics 4 event tracking for Laravel Livewire applications.
// Before: Complex and error-prone ❌ $this->js("gtag('event', 'generate_lead', {...})"); // After: Simple and safe ✅ $this->trackLead(['form_name' => 'contact_form']);
Features
- ✅ Clean API - No more manual
gtag()calls in your components - ✅ Type-safe - Full PHP type hints and IDE autocomplete
- ✅ Secure - No JavaScript injection vulnerabilities
- ✅ Zero configuration - Works out of the box
- ✅ Livewire 3 & 4 - Full support for both versions
- ✅ Laravel 10, 11, 12, 13 - Compatible with all modern Laravel versions
Quick Start
1. Install
composer require darvis/livewire-google-analytics
2. Add Script to Layout
Add this once in your main layout, after @livewireScripts:
@livewireScripts @include('livewire-google-analytics::script')
3. Use in Components
use Darvis\LivewireGoogleAnalytics\Traits\TracksAnalytics; class ContactForm extends Component { use TracksAnalytics; public function submit() { $this->validate(); Contact::create($this->all()); // Track the conversion $this->trackLead([ 'form_name' => 'contact_form', 'lead_type' => 'contact', ]); $this->success = true; } }
That's it! 🎉
Available Methods
trackLead() - Lead Generation
For contact forms, quote requests, demo requests:
$this->trackLead([ 'form_name' => 'contact_form', 'lead_type' => 'contact', ]);
trackEvent() - Any GA4 Event
For standard GA4 events like purchases, logins:
$this->trackEvent('purchase', [ 'transaction_id' => 'T12345', 'value' => 25.99, 'currency' => 'EUR', ]);
trackNewsletterSignup() - Newsletter Subscriptions
$this->trackNewsletterSignup([ 'source' => 'footer_widget', ]);
trackCustomEvent() - Custom Events
Automatically adds ga_ prefix:
$this->trackCustomEvent('download_brochure', [ 'brochure_name' => 'Product Catalog 2024', ]);
Documentation
- What is this? - Learn what the package does and why
- Installation Guide - Detailed installation instructions
- Basic Usage - Learn all the methods and best practices
- Examples - 7 complete real-world examples
- Testing - How to verify your tracking works
- Troubleshooting - Common issues and solutions
📖 Quick Start Guide - 5-minute beginner-friendly guide
How It Works
PHP Component → Livewire Event → JavaScript Listener → Google Analytics
- You call
$this->trackLead([...])in your Livewire component - The trait dispatches a browser event with the data
- The JavaScript listener forwards it to
gtag() - Google Analytics receives and processes the event
Benefits:
- ✅ Clean separation of PHP and JavaScript
- ✅ No JavaScript injection vulnerabilities
- ✅ Works with async GA4 loading
- ✅ Fails silently if GA4 is blocked
Requirements
- PHP 8.1 or higher
- Laravel 10, 11, 12, or 13
- Livewire 3 or 4
- Google Analytics 4 property
Testing
Browser Console:
// You should see: [GA4] Event tracked: generate_lead {form_name: "contact_form"}
GA4 Realtime: Events appear in Google Analytics within seconds.
DebugView: See detailed event information in GA4 Admin → DebugView.
Examples
Contact Form
class ContactForm extends Component { use TracksAnalytics; public function submit() { $validated = $this->validate(); Contact::create($validated); $this->trackLead([ 'form_name' => 'contact_form', 'lead_type' => 'contact', ]); $this->success = true; } }
E-commerce Purchase
class CheckoutForm extends Component { use TracksAnalytics; public function completePurchase() { $order = Order::create([...]); $this->trackEvent('purchase', [ 'transaction_id' => $order->id, 'value' => $order->total, 'currency' => 'EUR', ]); return redirect()->route('order.success'); } }
Best Practices
✅ Track after success - Only track after validation and processing
✅ Use standard events - Prefer trackLead() over custom events
✅ Include context - Add meaningful parameters for analysis
✅ Validate first - Don't track bot submissions
Troubleshooting
Events not firing?
- Check if script is after
@livewireScripts - Verify trait is added to component
- Look for JavaScript errors in console
Events fire multiple times?
- Don't call tracking in
render()ormount() - Only track in action methods
See all troubleshooting solutions →
Contributing
Contributions are welcome! Please see CONTRIBUTING.md for details.
Security
If you discover any security issues, please email info@arvid.nl instead of using the issue tracker.
Credits
- Arvid de Jong - Creator and maintainer
- All Contributors
License
The MIT License (MIT). Please see License File for more information.
Support
- 📧 Email: info@arvid.nl
- 🐛 Issues: GitHub Issues
- 📖 Documentation: docs/README.md
darvis/livewire-google-analytics 适用场景与选型建议
darvis/livewire-google-analytics 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 6 次下载、GitHub Stars 达 0, 最近一次更新时间为 2026 年 01 月 27 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「analytics」 「events」 「laravel」 「google-analytics」 「tracking」 「livewire」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 darvis/livewire-google-analytics 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 darvis/livewire-google-analytics 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 darvis/livewire-google-analytics 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Библиотека для реализаций паттерна Pub/Sub
Wireless Cross-Component Communication
A powerful event calendar Tool for Laravel's Nova 5.
Analytics chooser extensions for site settings.
Command bus implementation: Commands and domain events
A Laravel Nova Card to show Fathom Analytics stats.
统计信息
- 总下载量: 6
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 30
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2026-01-27