Four cards. One glance. Know exactly how much was funded, how much Meta spent, what's left in the balance, and how long it'll last — all pulled from Meta, updated in real time.
The money strip shows four cards: Funded — the prepaid ledger balance your client topped up. Ad spend — what Meta has actually charged against the account. Balance left — the remaining budget, calculated live. Funds will last — a projection based on current burn rate. No manual entry. No spreadsheet formulas. Every number comes from Meta's API. When a client asks “how much is left?”, you're looking at the answer — not scrambling to update a spreadsheet.
For an agency owner scanning 15 client brands before their morning coffee, four cards replace four mental math calculations. Every number comes directly from Meta's API — no manual entry, no stale spreadsheet figures.
The prepaid ledger balance your client topped up. This is the total the client wired — the starting line. Always current, always accurate.
What Meta has actually charged against the ad account. Pulled directly from the Meta Marketing API. Not an estimate. Not a spreadsheet entry. Canonical.
Funded minus Ad Spend — calculated live. This is the number that replaces your Monday morning spreadsheet ritual. It updates itself as campaigns burn.
A projection based on current burn rate. “Balance hits zero in 14 days.” Not a static number — a velocity reading that updates as spend accelerates or decelerates.
See the ledger balance, Meta-reported spend, remaining budget, and burn-rate projection on four cards. No mental math.
The money strip pulls directly from Meta’s API. No manual reconciliation. No “wait, what exchange rate did we use?”
Balances update as campaigns spend. Overdraft thresholds fire before the client notices.
This isn't a ritual. It's a tax you pay for using tools that weren't built for how agencies actually manage money.
Your spreadsheet is accurate the moment you hit save. That’s the last moment it’s accurate. Everything that happens after — a campaign scaling, a CPM spiking, a client wiring money — happens in the dark. By the time you open the sheet again, the number is wrong. Hundreds or thousands of dollars wrong.
A client gives you $5,000. You spend $5,200. It’s not malicious — Meta doesn’t enforce client-side budgets. But the client doesn’t care. One overdraft is a conversation. Three overdrafts is a reputation. In regulated verticals, trust erosion is expensive.
Every Monday you’re pulling Meta reports, matching them against bank statements, calculating what’s left, and sending updates. Hours. Every. Week. Multiply by the number of account managers. Multiply by 52 weeks. That’s real salary dollars burned on data entry.
Most analytics tools show you what was spent. Ott tracks what's LEFT — because it models agency budgets as prepaid accounts. Client deposits money → balance increases. Campaigns spend → balance decreases. All automatic. All in real time.
Wire transfer. Bank deposit. Crypto. Doesn’t matter. Ott doesn’t process the payment — it tracks what happens after.
Manual entry (30 seconds). Amount, currency, optional receipt attachment for audit trail. Balance updates instantly.
Ott connects to the Meta Marketing API. As campaigns spend, Ott deducts from the brand balance in real time. Meta-native spend is the canonical source — no toggle needed. A per-ad-account breakdown shows spend per linked ad account with MTD, 30-day, and 90-day date presets. No daily imports.
Dashboard shows current balance per brand, recent transaction history, and spending velocity. Client sees their balance in the Brand Portal.
When a brand balance drops below its threshold, Ott alerts the agency. You handle it before the Thursday morning WhatsApp message.
Sometimes a balance drifts — a bank transfer was logged late, a currency conversion had rounding, or a top-up was entered in the wrong amount. Ott's balance reset lets you pin the balance to the correct number without wiping out chart history. A reset checkpoint appears on the timeline as an amber marker. Everyone can see what happened. Nothing is hidden. The audit trail stays intact.
Each brand row has an eye-icon toggle. Click it to visually hide a brand from the card — useful when you manage 10+ brands and only need to focus on active ones. Hidden brands collapse into a “N hidden brands — click to show” placeholder. The enable/disable switch (which controls budget tracking) is unaffected — this is purely a visual preference, per user, per session.
The Balance Evolution chart tracks every client's ad spend over time. Now, drag across any two dates on the chart and Ott totals the ad spend between them. Need to tell a client what they spent on ForexHub between March 1st and March 15th? Drag from March 1st to March 15th. The chart highlights the range and shows the total. No calculator. No export-to-CSV. No “let me get back to you on that.” This is how agency account managers answer client spend questions: a drag gesture, a number, and a confident reply.
Click the start date, drag to the end date, release. The chart highlights the selection and totals the ad spend. Works on touch and mouse.
“How much did we spend last week?” Drag. “What about the first two weeks of March?” Drag. No report generation, no calendar math.
The highlighted range and total persist on screen. Share your screen during a client call and walk them through it in real time.
An ad account that stopped syncing used to draw €0 — visually identical to “the client spent nothing.” PR #276 changed that. Now a stalled account shows “Spend data through 2026-07-20 · error” on the chart. You know exactly when the data stopped, which account it affects, and that it needs attention — instead of discovering missing data after you've already billed the client.
Before this change, a sync failure looked exactly like a zero-spend day. Now Ott shows the last successful sync date and flags the error. You catch it before the client's invoice goes out. For finance agencies where data integrity is the product, the difference between €0 and “we don't know” is the difference between a correct invoice and a dispute.
Sync error state
Chart showing “Spend data through 2026-07-20 · error” with the timeline visibly cut off after the last successful sync. No silent zeroes.
Agencies running multi-account brands need to know which ad accounts are driving spend — not just a single rollup number. Ott surfaces spend per individual ad account linked to a brand, using Meta's own canonical data. No toggle. No reconciliation. Just the numbers, broken down the way you actually need them. For account-level spend across all accounts — including the ones not assigned to any brand — use Ad Account Management.
Each brand card has a lazy-loaded “Ad account spend” section below its ledger entries. Expand it to see every linked ad account — each with its own spend total, pulled directly from Meta's account-level reporting.
Switch between month-to-date, last 30 days, and last 90 days with one click. Date ranges use a safe sync window so today's spend is always included — no waiting for end-of-day rollups.
Spend numbers come from Meta's meta_ad_account_spend_daily — the same source of truth as Ads Manager. No rollup aggregation. No transformed numbers. No discrepancies to reconcile.
Per-ad-account spend breakdown
Expanded ad account spend section showing individual ad account rows with MTD / 30d / 90d spend columns. Date preset selector visible above the table.
No toggle. No reconciliation. Ott now uses Meta-canonical spend as the default data source — the same number you see in Ads Manager. The per-ad-account breakdown is lazy-loaded below each brand's ledger entries, so you expand it only when you need it. Every linked ad account gets its own row with MTD, last-30-day, and last-90-day totals. You finally know exactly which account is driving spend — without opening another tool.
Configurable per brand. Set thresholds: “alert when Balance A drops below $500.” Spending velocity projections tell you “balance hits zero in 4 days.” Alerts go to you — email, in-app, wherever you want. Never to the client. Ott doesn’t auto-pause campaigns — that’s intentional. The decision stays with you. Ott just makes sure you have the information to make it.
EUR. GBP. USD. USDT. Whatever currency the client pays in, the brand’s balance tracks in that currency. No manual FX conversions. No rounding errors. Brand A: €4,200. Brand B: $3,800. Brand C: 2,500 USDT. All in the same dashboard. No “which sheet has the EUR brands?” moments.
Same ledger. Two views. Agency dashboard shows the full picture — what the client paid, what was spent on ads, what’s available post-fee. Brand Portal shows the client a clean number: their available ad budget after your fees. No line items. No breakdown. No awkwardness. Toggle per brand. White-label. Your agency fees are architecture — invisible, essential, and none of the client’s business.
Finance agencies face budget complexity that ecommerce agencies never touch. Multi-currency. Multi-client. Multi-geo. Per-brand prepaid ledgers prevent cross-contamination. Every dollar accounted for. Every balance isolated.
Ten introducing broker relationships. Each with a prepaid ad budget. Each in a different currency. One brand’s overage can’t be covered by another’s surplus — that’s the broker’s money. Per-brand ledgers prevent cross-contamination.
Volatile ad environments where budgets shift weekly. Campaign suddenly scales because the market moved. Client wants to double spend because a token is pumping. Real-time balance tracking means instant answers — no “let me check the spreadsheet.”
Multi-geo, multi-currency, multi-brand. Budget per region, per brand, per currency — all in one dashboard. An operator running campaigns in UK (GBP), Germany (EUR), and Canada (CAD) across three brands doesn’t need three spreadsheets.
High-volume, lower-budget accounts. Ten accounts at $1,000/month each. A $50 overage per account is $500 across the book — and $50 overages are exactly the kind of thing spreadsheets miss. Ott catches every one.
Every tool below handles one piece of the budget puzzle. Ott does all of it — at a flat price that doesn't penalise you for adding clients.
For a full feature-by-feature breakdown, see Ott vs AgencyAnalytics
Knowing a brand's balance is step one. Knowing whether that balance is being spent well is step two. Ott's brand performance page shows you the campaigns, creatives, and conversion data behind every dollar. Finding the right brand is instant: type a client name to see all their brands, or type a brand name to jump straight to it. Filtered views are shareable — send a link with ?q=ForexHub and your team sees the same brands you do.
Type a client name to surface every brand under that client. Type a brand name to go straight to it. No scrolling through a dropdown of 54 entries.
Search state lives in the URL (?q=). Copy the link. Send it to your team. Survives refresh.
Same search behavior as Management → Brands. One search box works everywhere.
AgencyAnalytics reports what Meta says you spent. Ott tracks what’s LEFT to spend — because it models each brand’s balance as a prepaid account with top-ups, deductions, and configurable overdraft thresholds. AA shows you the past. Ott shows you the present.
No. That’s intentional. Auto-pausing campaigns is dangerous — it could kill a profitable campaign the client would have topped up for. Ott alerts you with enough lead time (spending velocity projections, threshold alerts) that you can make the decision yourself.
Yes. Every brand has its own configurable threshold. High-spend, high-trust client with a track record of timely top-ups? Set the threshold low. New client with uncertain payment timing? Set it higher. You control the risk tolerance per relationship.
The Brand Portal shows clients their available ad budget after your agency fees. If Private Mode is on for a brand, the client sees the post-fee balance — e.g., $8,500 available of a $10,000 top-up. The $1,500 management fee is invisible. Your agency dashboard shows the full numbers.
Yes. Every manual top-up entry supports document attachments. Bank confirmation, wire receipt, invoice — attach it at entry time. It lives with the transaction in the ledger forever. Audit trail, compliance box checked, no searching through email for the receipt from three months ago.
Yes. You can track balances in USDT or any currency designation. Top-up entries are manual (you confirm the crypto address and amount). Spend tracking is automatic (Meta API integration doesn’t change). The ledger works the same way — the currency label is just different.
No. Ott’s flat pricing means you track as many brands as you have. $29/month on Starter, $199/month on Agency Pro. No per-brand fee. No per-client fee. Your margin doesn’t shrink as your client roster grows — which is the entire point of building an agency.
Yes. Each brand row has an eye-icon toggle. Click it to visually hide a brand from the card — it’s still tracked, still enabled, just not cluttering your view. Hidden brands are grouped under a “N hidden brands — click to show” placeholder at the bottom of the card. A header badge shows the count. This preference is per-user and doesn’t affect budget tracking state.
Export your current balances as a CSV. Import into Ott per brand with the starting balance. From that point forward, Ott tracks everything automatically. The spreadsheet becomes an archive. You never open it again.
Yes. Each brand card has a lazy-loaded "Ad account spend" section below its ledger entries. Expand it to see every linked ad account, each with its MTD, last-30-day, and last-90-day spend totals. The data comes directly from Meta’s own account-level reporting — no rollup aggregation, no discrepancy. Date presets use a safe sync window so today’s spend is always included.
Yes. Ott’s balance reset lets you pin the balance to the correct amount at a specific date. A reset checkpoint appears on the budget chart as an amber marker labeled "Reset: <amount>," so your team and client know exactly when and where the balance was corrected. Everything before the reset stays visible — chart history, spend records, audit trail — nothing is lost or hidden.
Ott resolves each ad account’s backfill start date from the brand’s initial balance ledger entry — so sync starts from when the brand actually began spending, not an arbitrary cutoff. Where Meta’s 37-month insights limit applies, it caps the backfill at that boundary. This means new accounts get accurate historical data from their earliest meaningful point.
Ott now uses Meta-canonical spend as the default data source — no toggle needed. The rollup comparison was a temporary feature during the migration from aggregated ad_metrics data to Meta’s own account-level spend. Now that Meta-native spend is the canonical source, the toggle has been removed. The per-ad-account breakdown gives you even more granular visibility.
Yes — drag across any two dates on the Balance Evolution chart and Ott totals the ad spend between them. Click the start date, drag to the end date, release. The chart highlights the range and shows the total. No exports, no reports, no calendar math. This works for any date range the chart covers — last week, last quarter, a specific campaign window.
No. A stalled ad account shows “Spend data through [last sync date] · error” on the chart instead of drawing €0. You know exactly when the sync stopped and that it needs attention — instead of discovering missing data after billing the client. Ott distinguishes between “zero spend” and “we don’t know” because, for finance agencies, the difference is an invoice dispute.
Yes. The brand card now shows a per-ad-account spend breakdown directly on the card. Each ad account under the brand reports its own spend. If spend is spiking on one account, you’ll see it immediately — no need to open each account in Meta Business Suite individually.
Yes. Alongside drag-to-measure on the chart, the ad account spend breakdown has a Custom option next to the MTD, last 30 days, and last 90 days presets. Pick Custom, select a start and end date, and the breakdown shows spend for that window. Each brand card’s date range is independent.
The breakdown shows two totals when currencies mix: the exact native-currency sum from Meta and a ≈ Total (EUR) row that converts all accounts to EUR using the day’s ECB rate. Both rows appear together. Missing FX rates are flagged instead of silently zeroed.
Catch no-spend campaigns, CPM spikes, and CTR drops before clients notice. Morning triage in 90 seconds instead of 30 minutes.
Track Telegram joins, bot starts, and DMs as Meta conversions. CAPI postback with per-ad attribution. Built in, not bolted on.
The only PPC analytics platform built for regulated finance. Track FTDs, deposits, and Telegram conversions across every client.
Four cards. One glance. Know exactly what was funded, what Meta spent, and what's left — updated in real time. Drag across any two dates on the Balance Evolution chart to total the ad spend between them. Per-ad-account spend breakdown on every brand card. Sync visibility that shows when data stops — not silent zeroes. Ott's prepaid ledgers update themselves. Real-time balance tracking. Automatic ad spend deduction. Meta-canonical spend data so you never reconcile discrepancies again. Overdraft alerts before the client notices. Multi-currency without multi-spreadsheet. Private Mode that hides your margin. One dashboard. Always accurate. Always current.