Same budget, more deposits: optimizing creatives with per-link data
Clicks lie. Deposits don't. Use per-link attribution to see which creative actually drives revenue — then move spend to the winner and kill the losers.
Three creatives, the same budget. Facebook tells you the one with the cheapest clicks is "winning." But cheap clicks aren't the goal — deposits are. Per-link attribution shows you the difference, and it's usually enormous.
Clicks are a vanity metric
Here's a real shape. Three links under one campaign, same spend:
/stories got plenty of clicks and registrations — it looks busy. But follow the money: /reels produced $3,920 against /stories' $640. Same budget, 6× the revenue. If you optimized on clicks or even registrations, you'd have backed the wrong horse.
Why this happens
Different audiences click for different reasons. A creative can be great at earning cheap clicks from people who never deposit, and another can earn pricier clicks from people who do. Only deposit-level attribution exposes that — and only if every step is tracked back to the link the user came from.
That's exactly what per-link attribution gives you: every click mints a uid tied to its link, and every downstream registration / deposit is stitched back to it. So the by-link table shows true revenue per creative, not just activity.
The 3-number read
For each link, look at three things in order:
- Deposit rate (deposits ÷ clicks) — the real efficiency number.
- Revenue — the outcome that pays the bills.
- Trend (the sparkline) — is it rising or fading?
/reels wins on all three. /stories is busy but broke. /feed is a quiet performer worth scaling.
Act on it
- Shift spend to the winner. Move budget from
/storiesto/reelsand watch total revenue rise at the same spend. - Kill the losers.
/storiesisn't "underperforming," it's costing you — pause it. - Scale the sleepers.
/feedconverts well on low volume; give it more budget and watch the trend.
Use campaign macros to go deeper
Pass campaign / adset / ad attribution into your links (the postback and webhook carry campaign_name, adset_id, ad_name, etc.). Then you can answer not just "which link" but "which ad" drove the deposit — and prune at the ad level.
The mindset shift
Stop asking "which creative got the most clicks?" Start asking "which creative produced the most deposits per dollar?" The dashboard already has the answer; you just have to look past the vanity column.
Next
- Find and fix funnel leaks — once you've picked the winner, optimize its funnel.
- Keep your finger on the pulse — monitor the shift in real time.
- Reading your dashboard — the by-link table explained.
Keep reading
How to find and fix the leak in your funnel
A practical walkthrough: use the funnel breakdown and conversion gauge to pinpoint exactly where users drop off, form a hypothesis, fix one thing, and measure the lift.
PlaybookKeep your finger on the pulse: real-time conversion monitoring
A live dashboard isn't a vanity metric — it's an early-warning system. Here's how watching conversions in real time catches broken funnels and dead campaigns before they burn your budget.
PlaybookThe deposit you almost counted twice
A story about exactly-once tracking: how retries and re-fired postbacks silently inflate (or lose) revenue, and how dedup + a durable outbox keep your numbers honest.