For businesses · Ad Attribution & Analytics Engine

AttriFlow

UTM tracking, Meta CAPI integration and revenue analytics.

PostgreSQLn8nNext.jsMeta Conversions API
B2B

Attribution

live

Ad spend

RM 24.4k

Attributed rev.

RM 89.7k

Blended ROAS

3.67x

+0.4x

Return on ad spend by channel

Meta Ads
RM 12,4004.2x
Google Search
RM 8,1503.1x
TikTok
RM 3,9001.8x

Clicks

24,180

Sessions

18,942

Leads

1,406

Purchases

312

?utm_source=meta&utm_campaign=q3_retarget&utm_content=v2

Meta CAPI postback312 events · 200 OK
  1. 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. 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. 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.

Capabilities

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.
Adaptation

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.