sibapp / footprints
适用于 Laravel 5.2+ 的简单注册归因跟踪解决方案(UTM 参数和引用者)
Requires
- php: ~5.5|~7.0
- illuminate/support: ~5.2|~5.3
Requires (Dev)
- laravel/framework: 5.2
- phpunit/phpunit: 4.*
- scrutinizer/ocular: ~1.1
- squizlabs/php_codesniffer: ~2.3
This package is not auto-updated.
Last update: 2024-09-15 05:44:32 UTC
README
Footprints 是适用于 Laravel 5.2+ 的简单注册归因跟踪解决方案。
“我知道我浪费了一半的广告费……我只是希望我知道是哪一半。” ~ 亨利·普罗克特。
通过跟踪用户注册(或任何其他类型的注册)的来源,您可以确保您的营销努力更加专注。
Footprints 使得您可以轻松回顾并查看导致用户注册的因素。
安装
通过 Composer
$ composer require kyranb/footprints
将服务提供者和(可选)别名添加到 config/app.php 中相应的数组中
'providers' => [ ... Kyranb\Footprints\FootprintsServiceProvider::class, ], ... 'aliases' => [ ... 'Footprints' => Kyranb\Footprints\FootprintsFacade::class, ],
发布配置和迁移文件
php artisan vendor:publish --provider="Kyranb\Footprints\FootprintsServiceProvider"
将 TrackRegistrationAttribution
特性添加到您希望跟踪归因的模型中。例如
namespace App; use Illuminate\Auth\Authenticatable; use Illuminate\Database\Eloquent\Model; use Kyranb\Footprints\TrackRegistrationAttribution; class User extends Model { use Authenticatable, TrackRegistrationAttribution; /** * The database table used by the model. * * @var string */ protected $table = 'users'; }
检查配置文件,特别是您希望跟踪的模型
连接名称(可选 - 如果您需要一个独立的跟踪数据库)
'connection_name' => 'mytrackingdbconnection'
模型名称
'model' => 'App\User'
认证保护者
'guard' => 'web'
列名
'model_column_name' => 'user_id'
以及归因持续时间(以秒为单位)
'attribution_duration' => 2628000
您还可以定义一些不希望跟踪的路由
'landing_page_blacklist' => ['genealabs/laravel-caffeine/drip', 'admin']
如果您想使用多个子域名,并使用通配符cookie,您可以设置自定义域名
'cookie_domain' => .yourdomain.com
此布尔值将允许您将跟踪数据写入队列中的数据库(可选)
'async' => true
将 \Kyranb\Footprints\Middleware\CaptureAttributionDataMiddleware::class
中间件添加到 App\Http\Kernel.php
中,在 EncryptCookie
中间件之后,如下所示
/** * The application's global HTTP middleware stack. * * These middleware are run during every request to your application. * * @var array */ protected $middleware = [ \Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class, \App\Http\Middleware\EncryptCookies::class, \Kyranb\Footprints\Middleware\CaptureAttributionDataMiddleware::class, ];
用法
Footprints 是如何工作的?
Footprints 跟踪所有来自未认证用户的对您的应用程序的请求中的 UTM 参数和 HTTP 引用者。不确定 UTM 参数是什么?维基百科 有详细的介绍。
UTM 参数(UTM)是 Urchin Traffic Monitor 的缩写。这些文本标签允许用户在分析工具(例如 Google Analytics)中跟踪和分析流量来源。通过在 URL 中添加 UTM 参数,您可以识别将流量发送到您网站的来源和活动。当用户点击推荐链接/广告或横幅时,这些参数将被发送到 Google Analytics(或其他分析工具),这样您就可以在报告中查看每个活动的有效性。
以下是一个 URL 中的 UTM 参数示例:www.wikipedia.org/?utm_source=domain.com&utm_medium=banner&utm_campaign=winter15&utm_content=blue_ad&utm_term=headline_v1
#### UTM 参数有 5 个维度
-
utm_source = 来源名称(通常是来源网站的域名)
-
utm_medium = 媒体名称;流量类型(例如 cpc = 支付搜索,organic = 有机搜索;referral = 来自其他网站的链接等。)
-
utm_campaign = 活动名称,例如 Google AdWords 中的活动名称,电子邮件活动的日期等。
-
utm_content = 区分同一活动中的不同部分;例如 Google AdWords 中的 AdGroup 名称(使用自动标记,您将看到此维度中您的广告标题)
-
utm_term = 区分同一内容中的不同部分;例如 Google AdWords 中的关键字
每个访问跟踪哪些数据?
着陆页
引用者 URL
引用者域名
utm_source
utm_campaign
utm_medium
utm_term
utm_content
created_at
(访问日期)
获取用户注册前的所有访问记录。
$user = User::find(1); $user->visits;
获取用户注册前首次访问的归因数据。
$user = User::find(1); $user->initialAttributionData();
获取用户注册前最后一次访问的归因数据。
$user = User::find(1); $user->finalAttributionData();
变更日志
请查看提交历史以获取更多最近变更的信息。
测试
尚未开始这项工作 - 欢迎提交PR ;)
$ composer test
贡献
如果您遇到任何问题,有建议或想扩展这个包的功能,请提交一个问题或pull request :)
许可
MIT许可证(MIT)。请参阅许可文件获取更多信息。