sibapp/footprints

适用于 Laravel 5.2+ 的简单注册归因跟踪解决方案(UTM 参数和引用者)

0.2.9 2017-05-19 19:19 UTC

README

Footprints for Laravel 5.2+ (UTM and Referrer Tracking)

Latest Version on Packagist Software License Build Status Total Downloads

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)。请参阅许可文件获取更多信息。