Download the PHP package clicktrail/laravel without Composer
On this page you can find all versions of the php package clicktrail/laravel. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download clicktrail/laravel
More information about clicktrail/laravel
Files in clicktrail/laravel
Package laravel
Short Description Laravel adapter for ClickTrail attribution: service provider + facade, capture middleware, queued delivery jobs, Blade components/directives, artisan diagnostics, first-party proxy stub, webhook signature verification, consent resolver interface.
License MIT
Informations about the package laravel
中文
Index
- Why
- Installation
- Quick start
- Blade output
- Queued delivery
- Failed events and replay
- Consent
- First-party proxy
- Diagnostics
- Webhook signatures
- How it differs
- Testing
- License
Why
Most tracking packages store what a page showed. ClickTrail proves which campaign created the lead or sale. This package is a thin adapter over clicktrail/php-sdk: the SDK owns parse/classify/merge/serialize; Laravel owns capture middleware, consent-gated session persistence, queued delivery, Blade output, and artisan diagnostics.
Installation
Package auto-discovery registers the service provider and the ClickTrail facade. Publish the config and fill CLICKTRAIL_SITE_ID and CLICKTRAIL_ENDPOINT in .env:
Quick start
clicktrail() is the main entry point (a ClickTrail facade also exists).
A direct visit afterwards changes nothing: first touch stays, stored last touch persists. That is the SDK's merge law, tested, not promised.
Blade output
Queued delivery
Events are never sent during the request. Dispatch the delivery job from your own triggers:
The job uses the BatchClient, so bind a PSR-18 client as Psr\Http\Client\ClientInterface plus PSR-17 request/stream factories before dispatching. Queue connection and queue name come from clicktrail.queue_connection / clicktrail.queue.
Failed events and replay
After all retries fail, payloads are stored verbatim in the clicktrail_failed_events table (clicktrail.persist_failed_events, default true). Diagnose, then replay through the same helper:
Consent
ClickTrail is a consent consumer, not a CMP. Implement ClickTrail\Laravel\Consent\ConsentResolverInterface with your CMP adapter and bind it, or set clicktrail.consent_resolver to its class name. Until then the shipped NullConsentResolver returns an unknown snapshot, which is treated as denied everywhere: no identifiers are persisted and no events are delivered. Setting clicktrail.consent_required to false declares this use needs no CMP gating.
First-party proxy (optional)
With CLICKTRAIL_FIRST_PARTY_PROXY=true the provider registers POST /clicktrail/collect. It minimally validates the batch payload shape and re-queues delivery through your own infrastructure.
Diagnostics
Checks config presence, endpoint reachability (TCP-level flag), and consent resolver resolution.
Webhook signatures
Verify ClickTrail webhook callbacks with HMAC-SHA256 constant-time comparison:
How it differs
| Package | What it does | Boundary |
|---|---|---|
| combindma/laravel-trail | Stores UTMs/referrers in cookies | ClickTrail proves which campaign created the lead or sale: deterministic first/last-touch merge laws validated by golden fixtures shared with our WordPress and GTM engines, consent-gated persistence, batched delivery with idempotency keys |
| DirectoryTree/Metrics | Counts anonymous events | Complementary: ClickTrail connects campaigns to identities and revenue |
See ../docs/COMPETITOR-NOTES.md for the full analysis.
Testing
CI lints all files and runs both stages on PHP 8.1–8.3 (.github/workflows/ci.yml).
License
MIT. Copyright (c) 2026 Vizuh OÜ
All versions of laravel with dependencies
illuminate/support Version ^10.0|^11.0
illuminate/http Version ^10.0|^11.0
illuminate/config Version ^10.0|^11.0
clicktrail/php-sdk Version dev-main