28/Internal Tool · Attribution · Conversion Tracking

Jardella Ads Tracker

a click is a signal. a recorded payment is a different event.

A custom conversion tracking system built with Python and FastAPI, connecting Meta campaign activity to website visits, WhatsApp taps, saved enrolments and recorded payments.

Private internal tool · no public democase study
Jardella Ads Tracker overview with recorded revenue, lead status and landing-page reporting
fig. 01 — the main thing

01 · the short version

What is this thing?

Ad-platform clicks tell only part of the story. Jardella needed a clearer view of whether traffic was turning into enquiries, enrolments and paying students. I built an internal reporting tool that puts Meta campaign performance alongside activity recorded on the website, with separate views for landing pages, leads and click events.

the problem

What needed fixing?

An ad click, a tracked website visit, a WhatsApp tap and a paid enrolment are different measurements. The challenge was making those differences visible without presenting activity as revenue, or assuming that Meta totals and website totals should match. Older and manually entered records also needed to remain distinguishable when their original source was unknown.

the approach

What I actually did.

I used Python and FastAPI for tracking, Supabase for login, and integrations with Meta and Paystack. The dashboard separates campaign metrics from website activity, then exposes source, campaign, landing page, button location and enrolment status for investigation. The reporting explicitly treats a WhatsApp click as intent, not proof of a message or a payment.

Jardella / inside the build

The click is
just the beginning.

follow the evidence.
not just the big number. ↙

PRIVATE INTERNAL TOOLlogin: Supabase
01 / META INTEGRATIONWhat the ad platform reports

Spend · impressions · ad clicks · CPC / CTR

02 / FASTAPI TRACKINGWhat the website records

Visits · button taps · leads · recorded payments

turn over each receipt ↓
RECEIPT 01 / Python / FastAPI trackingvisit recorded

The ad got attention. What reached the website?

Inspect tracked visitors by source, campaign and landing page. Meta ad clicks and recorded website visits are separate measurements, so the dashboard keeps their totals separate.

  • source / campaign
  • landing page / route
  • tracked visitors

An ad-platform click is not proof of a recorded website visit.

Conceptual walkthrough of the reporting, not live traffic. Visitors may take different paths; a WhatsApp tap is not required before enrolment. Dashboard figures are point-in-time records, not performance-uplift claims.

02 · my part

What I worked on.

01

Custom conversion tracking development

02

Ad attribution reporting

03

Authentication integration

04

Payment integration

05

Internal dashboard

06

Lead and enrolment reporting

03 · from the archive

A closer look.

Meta campaign reporting showing spend, impressions, ad clicks, CPC and CTR
What Meta reports
Landing-page and campaign comparison with visitors, WhatsApp clicks and recorded paid sales
Which ads lead to website actions?
Website click log with first-visit attribution, source, campaign, landing route and button location
The event trail behind the dashboard
Landing-page report comparing tracked visitors, WhatsApp clicks, saved leads and paid records
Follow the landing page, not just the ad
Internal reporting overview with source breakdown, funnel stages and button-location reporting
A wider view of the conversion journey

04 · okay, but did it work?

The team can inspect the gap between ad engagement and recorded business outcomes in one internal workspace: compare campaign activity, find landing pages generating intent, review saved leads and distinguish pending records from paid students. The screenshots document the tool in use; their figures are snapshots rather than a claim of increased sales.

my take

I used Python and FastAPI for tracking, Supabase for login, and integrations with Meta and Paystack. The dashboard separates campaign metrics from website activity, then exposes source, campaign, landing page, button location and enrolment status for investigation. The reporting explicitly treats a WhatsApp click as intent, not proof of a message or a payment.

built with

PythonFastAPISupabase AuthMeta integrationPaystack integration