定制 darvis/livewire-google-analytics 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

darvis/livewire-google-analytics

Composer 安装命令:

composer require darvis/livewire-google-analytics

包简介

Clean Google Analytics 4 event tracking for Laravel Livewire applications

README 文档

README

Latest Version on Packagist Total Downloads

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

📚 Complete Documentation

📖 Quick Start Guide - 5-minute beginner-friendly guide

How It Works

PHP Component → Livewire Event → JavaScript Listener → Google Analytics
  1. You call $this->trackLead([...]) in your Livewire component
  2. The trait dispatches a browser event with the data
  3. The JavaScript listener forwards it to gtag()
  4. 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.

Learn more about testing →

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');
    }
}

See 7 complete examples →

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

Learn all best practices →

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() or mount()
  • 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

License

The MIT License (MIT). Please see License File for more information.

Support

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 我们能提供哪些服务?
定制开发 / 二次开发

基于 darvis/livewire-google-analytics 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 6
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 30
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-01-27