AttriFlow
UTM tracking, Meta CAPI integration and revenue analytics.
Attribution
liveAd spend
RM 24.4k
Attributed rev.
RM 89.7k
Blended ROAS
3.67x
+0.4x
Return on ad spend by channel
Clicks
24,180
Sessions
18,942
Leads
1,406
Purchases
312
?utm_source=meta&utm_campaign=q3_retarget&utm_content=v2
- 1
Channel-level return
Spend is pulled from the ad platforms, revenue from your payments. ROAS per channel is computed from both, not estimated by either.
- 2
Funnel you can trust
Clicks, sessions, leads and purchases are counted from your own data, with the drop-off at each stage visible.
- 3
Server-side postback
Conversions are sent to Meta from the server with hashed identifiers, unaffected by ad blockers or browser privacy changes.
Ad platforms report the numbers that make ad platforms look good. AttriFlow reports what actually happened: which click became which lead, which lead became revenue, and what each channel really returned.
It captures every visit's UTM parameters, stitches them to leads and payments in your own database, and posts conversions back to Meta through the Conversions API so the algorithm optimises on truth rather than pixels.
What AttriFlow does
Real-time UTM capture
Parameters are stored on first touch and persisted across the session, so a lead submitted three pages later is still attributed correctly.
Ad ROI dashboard
Spend, attributed revenue and blended return, filterable by channel, campaign and date. Built for the person who signs off the budget.
Automated webhook conversion postback
A payment or qualified lead triggers an n8n workflow that posts the event to Meta CAPI and logs the response, with retries and deduplication.
The stack, and why each piece is in it
Technology choices are decisions with reasons. These are ours.
- PostgreSQL
- Attribution is a join problem (clicks to leads to payments) and relational databases are built for exactly that.
- n8n
- Postbacks, spend imports and alerts run as visible workflows your marketing team can inspect and adjust.
- Next.js
- The dashboard and the tracking endpoint share one codebase and one deployment.
- Meta Conversions API
- Server-side events are the only reliable way to feed Meta's optimisation as browser tracking degrades.
What changes per client, and what does not
The core is proven and stays fixed. Everything that makes it yours is configuration.
Fixed
- First-touch UTM persistence and session stitching
- Deduplicated, retried server-side postback
- Spend and revenue reconciliation model
Configurable
- Ad platforms and accounts connected
- What counts as a lead and a conversion
- Attribution window and model
- Dashboard metrics and access
Talk to us about AttriFlow
Share the outcome you need and any constraints you are working within. You will get a straight answer on scope, timing and cost from the engineer who would do the work.
