承接 mrustamzade/laravel-marketing-touchpoints 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

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

mrustamzade/laravel-marketing-touchpoints

最新稳定版本:v1.0.1

Composer 安装命令:

composer require mrustamzade/laravel-marketing-touchpoints

包简介

Laravel package to track marketing touchpoints and connect them to orders.

README 文档

README

Track user marketing touchpoints (including UTM params) with a unique visitor token, then link the final order to that token after checkout.

Features

  • Generates a unique token cookie when a visitor arrives.
  • Stores each touchpoint in DB with URL, path, referrer, UTM data, and request metadata.
  • Links orders to the same visitor token after checkout.
  • Supports custom order table and primary key resolution.
  • Includes an admin route (/marketing) for viewing touchpoints by token or order ID.

Screenshot

Marketing Touchpoints Dashboard

Installation

composer require mrustamzade/laravel-marketing-touchpoints

Publish config and migrations:

php artisan vendor:publish --tag=marketing-touchpoints-config
php artisan vendor:publish --tag=marketing-touchpoints-migrations

Run migrations:

php artisan migrate

Enable Tracking Middleware

Option 1: Enable auto-injection in config:

'middleware' => [
    'auto_track_web' => true,
],

Option 2: Add alias manually to your routes/group:

Route::middleware(['web', 'track-touchpoints'])->group(function (): void {
    // your storefront routes
});

Link Order After Checkout

In checkout success flow:

use MRustamzade\MarketingTouchpoints\Facades\MarketingTouchpoints;

MarketingTouchpoints::linkOrder($order); // Eloquent model

Or scalar order ID:

MarketingTouchpoints::linkOrder($orderId);

Or pass full order reference:

MarketingTouchpoints::linkOrder([
    'table' => 'shop_orders',
    'primary_key' => 'uuid',
    'id' => $orderUuid,
]);

Optional model trait

Add this to your order model to auto-link when created:

use MRustamzade\MarketingTouchpoints\Concerns\LinksMarketingTouchpoints;

class Order extends Model
{
    use LinksMarketingTouchpoints;
}

Order Table + Primary Key Resolution

The package resolves order reference in this order:

  1. If you pass an Eloquent model to linkOrder(), it uses that model's table and key name.
  2. Else if orders.model is configured, it loads table/key from that model.
  3. Else it falls back to orders.table and orders.primary_key.

Set defaults in config/marketing-touchpoints.php:

'orders' => [
    'model' => App\Models\Order::class,
    'table' => 'orders',
    'primary_key' => 'id',
],

Admin Marketing Route

Default route:

  • URL: /marketing
  • middleware: web, auth
  • filters: ?token={token} or ?order_id={orderId}

Customize from config:

'route' => [
    'prefix' => 'marketing',
    'middleware' => ['web', 'auth'],
],

Config Summary

  • tables.visitors, tables.touchpoints, tables.conversions
  • orders.model, orders.table, orders.primary_key
  • middleware.except to skip tracking admin/internal routes
  • track.only_with_utm if you only want UTM-tagged touchpoints
  • track.dedupe_seconds to skip identical rapid reloads (set 0 to disable)

统计信息

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

GitHub 信息

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

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-03-16

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固