The free funnel audit: one week, a walkthrough, read access. See where the money leaks

Attribution for brokers who buy traffic

Your ads buy clicks. Your P&L runs on funded traders. Join the two.

Keep your CRM · 30+ brokerages audited · The engine inside Callisto, sold on its own

Meta knows who clicked. Your cashier knows who funded. Until one record holds both, part of every budget goes to campaigns that never fund. This layer is that record.

One trader, one commercial thread
CID_482910Active
Source
meta / summer_fx_promo
Click ID
fbclid · persisted
Acquisition$23.16
Time to FTD3h 12m
First deposit$250
Value to date$640
CampaignROAS
ChannelCPA
GeoLTV
PublisherFTD%
IBNRC

Illustrative record. Hover or tap a source to run its thread.

Runs beside what you already runWebhooks, callbacks and platform sync. Nothing migrates.
MetaTrader 5Trading platform cTraderTrading platform TradeLockerTrading platform SumsubKYC provider PraxisPayments Meta AdsAd platform Google AdsAd platform WhatsApp BusinessMessaging Your CRMWebhooks

Where the money goes dark

Four campaigns, one cashier, no way to say which funded.

The ad platform counts the signups. The cashier counts the deposits. Between them sit KYC, the CRM and the platform, each with an ID of its own, so the budget is set on the cheapest signup.

Reports · last 30 daysIllustrative
CampaignSignupsMeta reportsFundedYour cashier
summer_fx_promo1,380?
gold_cfd_search1,040?
ib_partner_12950?
retarget_30d630?
Totals4,000240
4,000 signups. 240 funded. Which campaigns funded them? The report cannot say.
Sync · ad platformsIllustrative
JoinSend backOptimise
CallistoOne connected trader recordCID_482910CRM · KYC · cashier · platform
KYC passedFTD $250First trade
Meta AdsReceiving conversions Optimising on funded traders
Google AdsReceiving conversions Optimising on funded traders
One record sends KYC passed, the first deposit and the first trade back, so Meta and Google bid for traders, not clicks.
Results · 30 daysIllustrative
1.7×
True cohort ROAS, same spend
LineEffect
Before the layer1.7×
Budget follows funded traders+0.3×
Platforms buy traders, not clicks+0.2×
True cohort ROAS2.2×
Same spend, a third more funded traders. Illustrative figures.

How the record is built

One ID in. Value back out.

The click is written down once, at first touch.

Click ID, source, campaign, keyword and geo are captured when the visitor lands, and nobody can overwrite them.

gclidfbclidutm_campaignib_ref
The same ID follows him through KYC, the cashier and the platform.

Signup, KYC, deposit, first trade: each an event with a timestamp, on one record.

lead_createdkyc_approveddeposit_failedftd_successfirst_trade
What he deposits rolls back to whatever bought him.

Deposits, volume and net revenue by campaign, keyword, geo, publisher and IB.

Meta and Google are told who funded.

KYC passed, first deposit and first trade go back server to server, hashed, so the platforms bid for traders, not clicks.

Better measurement, better optimisation inputs. The budget stays yours to move.

Your CRM PSP / cashier KYC provider MT5 · cTrader Meta Ads Google Ads CID_482910 source click id ftd · first trade Campaign · Channel · Geo Publisher · IB Meta · Google Capture Persist · attribute Feed back eligible outcomes returned, server to server, hashed one trader record

What 30+ audits found

Read the TRACE framework
  1. Budget follows the campaigns that fund

    FoundNo tracking from the landing page to the CRM.

    FixOne ID from the ad click to the CRM record.

  2. Meta and Google bid for traders, not clicks

    FoundOptimised for signups.

    FixFunded and first trade sent back as conversions.

  3. More of the leads you paid for fund

    FoundLeads reach the wrong rep, late.

    FixRouted by source, geo and language, context in front of the rep.

  4. Fewer drop out before the first deposit

    FoundSignup and support in English only.

    FixSignup and support in the trader's own language.

What changes

Five tools that never agreed, in one window.

  1. The ads report stops at signups.

    Spend moves to the campaigns that fund.

    Which campaigns, keywords, geos, publishers and IBs produce traders who fund and keep trading, and which only register.

  2. Funded never reaches the ad platforms.

    The platforms optimise on funded traders.

    KYC passed, first deposit and first trade go back as conversions, so the platforms optimise on what a trader is worth.

    Better inputs to their optimisation. Not a guaranteed uplift.

  3. A failed deposit is a row with no reason.

    Every failed deposit gets a reason. Half come back.

    Bank decline, PSP error and abandoned checkout are three different problems. Split them and the recoverable ones show.

  4. The IB thread lives in an inbox.

    Partners paid for the traders they bring, not the traffic.

    Every IB link reports clicks, signups, KYC, funded and net contribution after commission. Payouts stop being arguments.

  5. Monday's report is somebody's spreadsheet.

    Monday morning with numbers, not opinions.

    One weekly scoreboard the leadership team owns: spend, funded, deposits and retention, by source.

What it takes from your team

Keep the CRM. Two ways in.

Your CRM, cashier, KYC provider and platform already emit the events. Path A captures them as they are; Path B builds the owned stream under them. Week one is discovery, not a build: your team’s job is access and a walkthrough.

Path A · fastest

Capture what already fires

Webhooks from the CRM, callbacks from the cashier, state changes from KYC: one stream, stable IDs, the attribution fields on every event.

CRM webhooksPSP callbacksKYC state changes
Path B · best long term

Own the stream

An event stream you own, with integrity monitoring, IB attribution checks and nightly reconciliation against the cashier.

attribution break alertsIB overwrite alertsnightly reconciliation

Before you decide

Questions a sceptical executive asks.

Sixteen objections, answered plainly. Five groups, every question in view.

We already have this

Our CRM already shows where every lead came from.
It shows the source written at signup, usually last touch, in a field a rep can overwrite. It rarely holds the click ID, a locked first touch, or the thread through KYC, deposit and first trade. Ask of last month’s funded accounts: what share traces to a spend line with a click ID? In our audits, usually well under half.
Our affiliate platform handles IB tracking.
It handles the link and the payout. It rarely sees a referral overwritten by a later click, a KYC reject behind a “funded” count, or what a partner’s traders were worth after commission. The layer sits beside it and adds net contribution by partner, tier and campaign.
Google and Meta already report our cost per FTD.
They report what they were told. Feed them page views and signups and their cost per FTD is a model, and their optimisation buys whatever registers cheapest. Give them KYC passed, first deposit and first trade, and the platform’s number matches your ledger.
Our data team could build this in Looker.
They could build the dashboards. The hard part is the stream they point at: a lead ID that becomes a client ID without losing its source, deposit failures with reasons, the first trade on the same record as the click. We build and monitor that stream. Your BI sits on top.

It will not work here

This means a CRM migration.
No. The layer connects to the CRM, KYC, cashier and platform you run, through the webhooks and callbacks they already offer. Migration is Path C in our own framework, and only when a vendor refuses you access to your own data.
Our data is a mess.
The mess is what the audit maps. The layer needs clean capture from the day it goes in, not clean history. Old records are reconciled where the identifiers allow and labelled unknown where they do not.
Our developers are underwater.
Week one is discovery, not a build. Your CRM fires webhooks, your PSP sends callbacks, your KYC provider posts state changes, MT4, MT5 and cTrader expose first login and first trade. Your team’s job is access and a walkthrough.
Click IDs get lost at the platform hop.
Breakage is normal. Undetected breakage is the problem. The layer monitors click capture, source persistence, unknown-source rate, match rate to funded outcomes and overwrites. A break is found that week, with the stage named.

Compliance will stop it

Compliance will never let us send client data to Meta and Google.
Nothing is sent by default or in the clear. Outcomes you choose go server to server through Meta’s Conversions API and Google’s offline and enhanced conversion imports, with hashed identifiers. Consent, lawful basis and financial-promotion rules are signed off before the first event leaves.
Is this profiling?
No. The layer measures and attributes. It does not route, score, message or decide anything about a client. Every record is an event with a timestamp and an owner a person can read. Automations are a separate, later choice with their own sign-off.

Show me the money

Can you guarantee a ROAS improvement?
No, and be wary of anyone who does. What changes is what you can see and therefore decide: which sources produce traders who fund and keep trading, where deposits fail and how many come back, what each partner is worth after commission. The audit puts a number on it against your own volume first.
Why is the audit free?
It is how we qualify. We run your funnel as a prospect, from ad to first trade, and trace the events behind it. You get the leakage map, the size of the prize and a 90-day plan whether or not you buy anything. We need a week, a walkthrough and read access.
We are a smaller brokerage. Is this built for bigger ones?
The leak is proportional. Whatever you spend, the share of it with an unknown source is decided blind every month, and the deposit-failure and IB-dispute numbers scale the same way. The audit is free and will say if the layer is not worth it for you yet. Some brokerages hear exactly that.

Who owns what

Whose data is it, and what if we stop?
Yours. The stream is built from your systems and the attribution fields live on your records. Stop, and you lose the monitoring, the reconciliation and the feedback to the platforms, not the history.
Why the layer rather than all of Callisto?
Because you are keeping your CRM, at least for now. The layer is the same attribution engine that runs natively in Callisto, sold on its own. If you ever move, you move with a clean event history instead of a text field.
Our IBs will not like being measured.
Your good IBs will. Each gets a link per campaign and sees their own clicks, signups, KYC, funded and volume: the dashboard they ask for. Disputes come from overwritten referrals and unexplained rejections. Measurement ends them.

Start with the audit

One week with your funnel. The leak, priced. Free.

We sign up to your brokerage as a trader would, from the ad to the first trade, and trace every event behind it. One week, a walkthrough, read access. The findings are yours whether or not you buy.

Leakage map

Every stage from the click to net revenue, with the loss at each, in traders and in money.

The size of the prize

The one constraint worth fixing first, priced against your own volume.

A 90-day plan

One owner, one scoreboard, the build order.

What we checkAttribution coverageSpeed to leadKYC drop-offDeposit failures by reasonFirst 72 hoursIB net contributionAd-to-page match

Three steps, one week.

  1. 01
    Discovery callPlatforms, providers, channels, partner model, and where you think the leak is.
  2. 02
    We run your funnelAs a prospect, from the ad to the first trade, then we trace the events behind it.
  3. 03
    Findings sessionThe leakage map, the size of the prize and the 90-day plan, with the people who will act on them.

Free for brokerages with a live funnel. We reply within one business day. Prefer WhatsApp? Message us.

That did not send. Please email [email protected] and we will pick it up straight away.
Thank you. Your request is in.

Someone from Jupiter Tech will reply within one business day. How would you like to carry on?

Ready to try the tracking layer: what a funded trader costs by campaign, a budget that moves to what funds, IB payouts nobody disputes, Meta and Google told who funded, a Monday report with real numbers, attribution with no CRM migration, and a free week with your funnel.