Marketing attribution
Know which channels bring customers.
Without cookies or stored IPs.
Sourcetrail records where each visit came from, receives your conversions server-side, and splits the credit across channels with the model you choose. Add ad spend to see cost per acquisition and return on ad spend.
- 10,000 events / month free
- No cookies, no fingerprinting
- Honours Do Not Track and GPC
What you get
From first visit to paid order.
Capture the source of every visit, connect it to the conversions your backend records, and see what each channel and campaign returns.
Light, cookie-free snippet
One script tag. No cookies, no fingerprinting. Browsers with Do Not Track or Global Privacy Control send nothing.
Server-side conversions
Send purchases and sign-ups from your backend with an API key. Idempotent, so retries never double count. Emails are hashed.
Five models, side by side
First touch, last touch, last non-direct, linear and position-based, with your own lookback window.
Editable channel rules
An ordered list like “utm_medium is one of cpc, ppc → Paid search”. Change a rule and past visits are re-classified.
CPA and ROAS
Enter ad spend or import your ad platforms' CSV exports. See cost per acquisition and return on ad spend per channel and campaign.
Consent mode
Turn on “Require consent” and nothing is stored or sent until your consent banner says yes.
Attribution models
See how the credit is split.
Each visit is a touchpoint. A conversion looks back over the visitor's touchpoints inside your lookback window and shares the credit by the model you pick.
- First touch, last touch and last non-direct
- Linear: equal shares across every touch
- Position-based: 40% first, 40% last, 20% for the middle
Server-side events
Conversions from your backend.
Post purchases and sign-ups with an API key. Send an idempotency key with each one, so a retried request is recorded once.
- Up to 100 events per request
- Emails and user ids are hashed before storage
- Each event comes back accepted, duplicate or rejected
POST /api/v1/events Authorization: Bearer <key> { "site_id": "st_…", "type": "conversion", "name": "purchase", "value": "49.90", "currency": "USD", "idempotency_key": "order-1001", "anonymous_id": "…" }
Honest limits
What attribution can and can't tell you.
We'd rather you know the edges up front.
It is an estimate
Visitors who block scripts, use several devices without logging in, or opt out aren't connected.
You add the spend
We don't pull data from ad platforms automatically yet. Enter spend by hand or import a CSV.
Minimal data, kept briefly
IP addresses are never stored. Raw visit data is deleted after the retention period you set.
How it works
Set up in four steps.
Add your site
Get a site id and a snippet. Paste it into the <head> of every page.
Check visits
The site page shows incoming visits within seconds, so you know the install works.
Send conversions
Create an API key and post purchases or sign-ups from your server.
Read the reports
Add ad spend, pick a model and compare channels and campaigns.
Pricing
Start free. Upgrade when traffic grows.
Free
$0 /month
- 1 site
- 10,000 events / month (pageviews + conversions)
- All attribution models
- Server-side events API
- Ad spend entry + CSV import
- CSV exports
Pro
$99 /month
- 20 sites
- 1,000,000 events / month
- Everything in Free
FAQ
Questions, answered.
Do I need a cookie banner for the snippet?
What counts as an event?
Does it connect to my ad accounts?
How long is data kept?
Spend where customers actually come from.
One snippet, one API call per conversion, and reports you can explain.