Two ways to track: our JavaScript SDK for browser events, and a direct API for backend events. Both feed into the same ingestion pipeline - formatted, encrypted, and delivered to Meta, TikTok, and GA4.
Use either method - or both together for maximum coverage.
A lightweight JavaScript snippet installed on your site. Automatically captures fbclid, _fbp, _fbc, IP, user agent, and page URL. Events fire with full browser context for maximum match quality.
A direct HTTP endpoint. Send any event from your Laravel controllers, jobs, webhooks, or cron tasks. No browser needed. You control exactly what data goes in.
Add the script to your Blade layout. Trigger events on any page.
<!-- Add before </body> -->
<script>
(function(w,d,u,k){
w.st=function(){(w.stq=w.stq||[]).push(arguments)};
var s=d.createElement('script');
s.src=u+'/lib/st.js?key='+k;
s.async=true;
d.head.appendChild(s);
})(window,document,'https://your-subdomain.servertrack.io','YOUR_AUTH_KEY');
</script>
<!-- Trigger events anywhere -->
<script>
// On checkout success page:
st('Purchase', {
value: {{ $order->total }},
currency: 'USD',
transaction_id: '{{ $order->id }}'
});
</script>
The SDK automatically collects fbclid, _fbp, _fbc, client IP, user agent, and source URL. You just pass the event data.
POST to /v1/track from anywhere. No browser needed.
use Illuminate\Support\Facades\Http;
// Fire from controller, job, or event listener
Http::withHeaders([
'Authorization' => 'Bearer ' . config('services.servertrack.key'),
])->post('https://your-subdomain.servertrack.io/v1/track', [
'event_name' => 'Purchase',
'event_id' => Str::uuid()->toString(),
'user_data' => [
'em' => hash('sha256', $order->email),
'ph' => hash('sha256', $order->phone),
'fn' => hash('sha256', strtolower($order->first_name)),
],
'data' => [
'value' => $order->total,
'currency' => 'USD',
'transaction_id' => $order->id,
],
'event_source_url' => url('/checkout/thank-you'),
]);
// Standard events
Purchase
AddToCart
InitiateCheckout
Lead
CompleteRegistration
ViewContent
// Your own custom events
SubscriptionRenewed
CourseCompleted
TrialStarted
RefundIssued
AppointmentBooked
WhateverYouNeed
Whatever string you pass as event_name, our system processes and delivers. No pre-configuration needed.
Hold specific events before they're sent to platforms. Useful for fraud verification, order confirmation, or manual review workflows.
In your server settings, define which event names should be delayed. E.g. hold all "Purchase" events for manual review.
Release held events manually from your dashboard, or programmatically via a single API call when you're ready.
If you don't act within 24 hours, delayed events are automatically released and forwarded to all platforms.
// Release a specific delayed event by ID
Http::withHeaders(['Authorization' => 'Bearer YOUR_KEY'])
->post('https://your-subdomain.servertrack.io/v1/events/{event_id}/release');
// Release all delayed events at once
Http::withHeaders(['Authorization' => 'Bearer YOUR_KEY'])
->post('https://your-subdomain.servertrack.io/v1/events/release-all');
Purchase, Lead). Any matching event is held in encrypted storage instead of being forwarded immediately. You can release events individually, in bulk, or let the 24-hour auto-release handle it.
ServerTrack is a high-performance ingestion server that processes everything in RAM. No database. No disk writes.
Event arrives via SDK or API
Format data, fill missing fields, correct params
PII is hashed. Payload encrypted before forwarding
Delivered to Meta CAPI, TikTok, GA4 simultaneously
Data passes through RAM and is gone
ServerTrack operates as a pass-through ingestion server. Your event data is processed entirely in memory - validated, formatted, encrypted, and forwarded. We do not write customer data to disk.
If you enable Delay Events, held events are stored temporarily in encrypted form (AES-256) until released or auto-released after 24 hours. After forwarding, the encrypted record is purged. At no point does readable PII exist on our servers.
Events fire from your server. Ad blockers, iOS privacy, and browser restrictions cannot interfere.
Dispatch API calls to Laravel queues. Zero impact on your application's response time. Fire and forget.
Every conversion captured with certainty. No browser dependency means no lost data from privacy restrictions.
Free tier available. Set up in under 5 minutes. No credit card required.