nanuc / laravel-track
Requires
- php: ^8.0
- jenssegers/agent: ^2.6
- torann/geoip: ^3.0
Requires (Dev)
- nanuc/laravel-admin: ^1.0
- orchestra/testbench: ^6.0
README
此软件包为您的应用程序添加内容营销跟踪和A/B测试。该软件包试图在隐私和有用数据之间找到平衡。所有用户都将被匿名化,因此默认情况下无法追踪用户。
每个用户都会收到一个随机字符串,该字符串存储在cookie中,以在下次访问时识别他们。
安装
composer require nanuc/laravel-track
发布配置(可选)
php artisan vendor:publish --provider="Nanuc\LaravelTrack\LaravelTrackServiceProvider" --tag=config
您可以为配置一个独立的数据库连接。
运行迁移
运行 php artisan migrate
创建必要的表。
用法
中间件
只需将中间件 track
添加到您想要跟踪的路由中。
UTM
该软件包跟踪 utm_campaign
和 utm_source
查询参数。这里不需要您做任何事情。
目标
使用 Tracker::goal('goalName');
设置达到的目标。您不需要定义目标 - 它们将在第一次使用时创建。
如果您附加目标的路由未跟踪(例如,在Livewire路由中),则目标将附加到对该访问者的最后已知页面视图。
视图中的目标
您也可以在视图中设置目标。当组件放置的位置在视口中可见时,它们将被达到。例如,这可以用来衡量一个A/B测试的英雄画面是否滚动到页面底部。
只需在您的blade视图中使用 <track::goal goal="goalName" />
。为了使其正常工作,您需要在布局中有一个 scripts
栈 - 名称可以配置(laravel-track.goals.component.stack-name
)。
页面名称
由于Laravel Livewire使用相同的路由执行不同的操作,因此为页面命名可能很有用。您可以使用 Tracker::page('pageName');
来完成此操作。
A/B测试
在您的blade视图中使用以下语法
@ab('logo', 'blue') <img src="logo-blue"/> @endab @ab('logo', 'green') <img src="logo-green"/> @endab @ab('logo', 'red') <img src="logo-red"/> @endab
您不需要定义A/B测试的名称和选项 - 它们将在第一次使用时创建。选项将在每次访问时轮换。
仪表板
此软件包为 LaravelAdmin 提供了一个模块。要使用它,请确保首先安装LaravelAdmin。之后,将 \Nanuc\LaravelTrack\LaravelAdmin\LaravelAdmin::class
添加到 config/laravel-admin
'modules' => [
...
\Nanuc\LaravelTrack\LaravelAdmin\LaravelAdmin::class,
]