Another BridgeBI tab is open in this browser and is locking the local database. Close the other tab(s) and this page will continue automatically. Your lead data is safe.
⚠️
Local database needs attention
The local database would not open.
This usually means a previous update was interrupted and left the database locked or partially upgraded. Your lead data is almost certainly still safe.
Retry just tries opening again (close any other BridgeBI tabs first). Reset wipes the stored leads and rebuilds the database empty; you can re-import your Velocify exports right after. Hold the button for 1.5 seconds to confirm a reset.
☁️
BridgeBI server is taking longer than expected
The server didn't respond in time. It may be waking up from idle.
Your data is safe in the cloud database — nothing was lost. The Render service sleeps when idle and can take a while to spin back up on the first request after a quiet period.
Retry pings the server again. If it just woke up, the second attempt usually loads in a few seconds.
Busca lo que sea — programa, campaign, lead source…⌘K
Alerts
MC
⚠️
Data Sources
Manage file imports, platform connectors, and snapshots in Settings.
Upload your Velocify exports and PowerBI goals here. Each successful import is automatically backed up and can be restored from Import History.
🕵️ Analyst-only reminder
To reveal the hidden "Culpa de quién" panel on any report card, triple-click the school seal or press Ctrl + Shift + Q. Only you can see this note.
Two Velocify reports per period.
Upload 1009 (Date Added) for new leads and 1008 (Inquiry) for re-inquiries. BridgeBI merges them by Lead ID so the total matches PowerBI's new + relead count. Upload both for Current Year and both for Prior Year.
Daily Velocify - Date Added (1009)
No file imported yet
Daily Velocify - Inquiry (1008)
No file imported yet
Prior Year - Date Added (1009)
No file imported yet
Prior Year - Inquiry (1008)
No file imported yet
Bulk CSV → Cloud (server-side)
For huge Velocify exports. The browser streams the raw CSV; the server parses + inserts.
PowerBI Enrollment Goals
No goals imported yet
Lead Goals (optional)
No lead goals imported yet
Diagnose skipped rows
Drop any Velocify export here to see which rows would be skipped — does not change your stored data.
Drop .xlsx / .xls / .csv here, or
Lead Cleanup Analyzer
Inspect stored leads, find duplicates, and reset if you want to re-import a clean Velocify export.
-
Current Year Leads
-
Current Year Inquiry Rows
-
Prior Year Leads
-
Unique Lead IDs
-
Duplicate Lead IDs
-
Earliest Date
-
Latest Date
Division Budgets by Channel
Total Period Budget by Division
Set the total media investment available per division and the date it expires. BridgeBI tracks how much is allocated across months and how much is left.
Saved
Monthly Allocation by Channel
Enter the allocated media budget for each division, per channel, per month. Division report cards compare this against synced spend to show pace and month-end projection.
No budgets saved yet.
Stored Import Sessions
These are automatic backups created every time you upload a file. Click Restore to reload a backup into the dashboard. Click Delete to remove a single backup (this does not clear the main data unless it is the only remaining backup).
No imports yet
Upload a file in Data Sources to create a recoverable backup.
Live Platform Data
Accounts are discovered automatically from the connected Meta token and the Google Ads MCC. Toggle each card to include or exclude it from sync. Removed accounts stay visible so you can re-add them anytime.
📘 Meta Ad Accounts
No Meta accounts loaded. Click Refresh Accounts or Connect Meta.
🔍 Google Ads Accounts
No Google accounts loaded. Click Refresh Accounts or Connect Google Ads.
🗂️ Campaign → Program Mapping
Unmatched campaigns (whose names don't overlap a program name) get proposed to a program based on the strongest UTM-campaign signal in your lead data. Review, override the program if needed, then save. Saved mappings override fuzzy matching by exact campaign ID, so their ads show in the right program's report card.
Advanced: manual ID override
Only use this if auto-discovery is broken and you need to force specific account IDs. These override any card selections.
Choose Meta Ad Accounts
Manual Snapshot
Export a JSON snapshot of all currently loaded data for safekeeping or to transfer to another browser. Import a snapshot to overwrite the current dataset.
Stat Box Visibility
Choose which stat chips appear on By Program accordion rows. Everything is shown by default; turn off only the boxes you don't need.
Program Placements
Right-click any campus / division / school / program row on the By Program dashboard and choose Edit placement / rename… to re-route it or rename it. Everything you change here is saved to the cloud and applied on every future upload. Same-campus moves just re-group (campus total is unchanged); cross-campus moves update the totals.
Sticky Tab Alerts
Create colored sticky tabs that pop up on report cards when the numbers match your rules. Great for weekly analysis shortcuts.
Push Notifications
Turn on alerts for this device, then broadcast to everyone who has BridgeBI installed on their phone.
Checking…
Send a push
Goes to every subscribed device. Use it when the week's data lands, or when something needs eyes before a status meeting.
Subscribed devices
Danger Zone
Clearing all data removes the current dataset, prior year dataset, enrollment goals, lead goals, division budgets, and all stored import-session backups. This cannot be undone.
Power BI enrichment…run /powerbi-pull
🎯
Contando desde —
Date Range & Start Period
unapplied changes
Lead vintage
All periods selected
Any period
Auto range: —
Overview
No leads in this date range. You have imported data, but none of it falls between . Try a wider range.
Top & Bottom 3
ordenar por
Heatmap YTD = vs año pasado · WoW = última semana vs anteriores · click división → drill · click programa → report card
Drill · Escuelas → Programas
Click escuela → programas · click programa → report card
Initiative Heatmap separaciones custom — NO quita leads del heatmap principal, es una vista aparte · para añadir: right-click división / escuela / programa en By Program → "Añadir a iniciativa"
click nombre → ver/quitar miembros · click celda → marca 🟢🔴🟡
▸By Program click para abrir/cerrar
💡 Right-click any campus · division · school · program → highlight 🟢 good / 🔴 bad / 🟡 eh
Paid Channel Quality
Channel
Leads
Closed Lost %
Ineligible %
Bad Phone/DNC %
No Show %
Enrolled %
Spend
CPL
Status
ⓘBridgeBI is the source of truth. Counts may differ from PowerBI by roughly 3% to 4%. The difference is leads that live in PowerBI's pipeline but appear in neither the Velocify 1009 nor the 1008 export, not a BridgeBI under-count. Show reconciliation & methodology ▾
Methodology & PowerBI Reconciliation
How BridgeBI builds this number
BridgeBI counts leads from the union of two Velocify exports, #1009 (Incoming Leads by Date Added) and #1008 (Incoming Leads by Inquiry), merged by Lead ID. The 1009 captures every NEW lead (Date Added inside the window). The 1008 captures RELEADS (leads created before the window that re-inquired inside it, with Date Added as far back as 2003). Together they cover the same New + Relead population PowerBI reports. Rows are deduped by Lead ID so one lead equals one count, and the window is applied on Inquiry Date to match PowerBI's filter. Campus-to-division follows the PowerBI-aligned rules (PR Campus, NU TEC, NU Online, CCU, Continuing Education).
Why the numbers differ
PowerBI's pipeline joins Velocify to additional sources (SIS and other report views), so it carries a small set of leads that appear in NEITHER the 1009 nor the 1008 export. That residual, typically 3% to 4%, is the entire gap. It is not a BridgeBI under-count; it is data PowerBI has that Velocify does not surface in these two exports.
Why BridgeBI is the more trustworthy source
Auditable to the row. Every lead resolves to a Velocify Lead ID you can open and verify. PowerBI's number is a black box; you cannot drill to the row behind it.
Built from exports you control. BridgeBI uses the exact Velocify 1009 + 1008 files you can re-pull any time. PowerBI's joins sit downstream and opaque.
The gap is explainable. The residual is documented and bounded. PowerBI's inflation source is not; it just shows up bigger with no breakdown.
Apples-to-apples on the overlap. BridgeBI applies PowerBI-aligned division rules, so the 96% to 97% that overlaps compares cleanly. Same definitions, same window, same Lead ID.
Defensible in any meeting. When leadership asks why the number is different, BridgeBI has the answer down to the lead. PowerBI has "the pipeline did it."
CPL Engine How is CPL doing — without waiting for Monday.
Reads spend from the live Meta + Google ad pull (Sync live ads) + leads/enrolls from the
ingested by-programs data — the same numbers the Dashboard uses. No uploads, no waiting on
the agency consumo. Matches the Monday CPL dashboard's Search + Social + Display scope.
Not captured: RB retargeting/brand (TikTok, DV360, Spotify) + LinkedIn (CCU) — off-platform, separate from CPL.
By channel
Channel
Expense
Leads
New%
Enrolls
Conv%
CPL
CPE
% of spend
How is CPL doing
Raw rollup (division × channel)
No Dashboard data yet. Load the Dashboard first — ingest by-programs and hit
🔄 Sync live ads, then come back. The CPL Engine reads that same data
(Meta + Google spend attributed by division + CRM leads/enrolls), so there's nothing to upload.
Saved snapshots
Off-platform spend agency consumo — TikTok / DV360 / Spotify / LinkedIn, NOT in CPL
Loading agency-sheet status…
Or upload the consumo .xlsx manually
Drop this week's consumo .xlsx here
MEGAPlanilla · Consumos Diarios. Parses AO 2026 + RB 2026. No data leaves the browser.
AO 2026 (always-on Meta + LinkedIn)
Division
YTD
5/18+ window
Last active
RB 2026 (TikTok / DV360 / Spotify)
Group
YTD
5/18+ window
Last active
How this is parsed
Budget Manager approved · programmed · spent — por división
Programmed/day = suma de daily budgets activos en Meta (campaign o ad sets) + Google (campaign budget).
Shared Google budgets pueden contarse una vez por campaña. Projection = MTD spend + programmed/day × días restantes.
Add budget
$
Always-on campaigns — presupuesto normal de la división.
Todo el approved va a una sola división.
Campaign → division mapping
Auto-guess sale del nombre de la campaña. Override por cuenta aplica a todas sus campañas;
override por campaña gana sobre todo. Se guarda al cambiar.
Load live spend first — hit ↻ Refresh live spend.
BridgeBI Agentbeta
checking…
BBBridgeBI AgentPaid Media · Puerto Rico
/
Conversaciones
Tus conversaciones se guardan solo en este navegador. Ningún dato personal
de un lead — nombre, email, teléfono — sale de aquí.
Metric Watchlist
0Trailing 12 weeks · WoW & YoY · live from CRM leads
¿Quién trae los inelegibles?Canal y razón — cruzado con la página de Ineligible▾
Initiatives
0
Marcas → semana —
Ineligible Analyzer
Busca un programa para ver por que sus leads son inelegibles y cuales campanas los enviaron
✕
Ineligible by Division
Triage view — divisions, campuses and programs ranked by how many ineligible leads they actually produced, not by rate. A program needs at least 25 leads before a % can flag it.
Fuentes y razones
Qué canal manda los leads inelegibles y por qué se descalifican — de los leads vivos de Velocify, con la razón oficial del CRM (Last Action). Sin archivos que subir.
Monthly Post-Mortem
Barrido de higiene mensual que limpia lo que WildFi deja arrastrar: términos muertos, keywords sin impresiones, typos en ads vivas, presupuesto movido a escondidas. Diferente al weekly review (CRM leads → volume / conversion / YoY) — este mira los datos de la plataforma y emite action items para WildFi.
Framework ready. El checklist de lo que buscamos está abajo — revísalo y ajústalo. El motor de detección + el botón Generate se conectan en el próximo paso (v1 reusa data que BridgeBI ya trae, ~60% del valor, sin pulls nuevos).
Post-Mortem for:Engine wiring in v1 — framework below is the review checklist
El baseline diario es el run rate de business-as-usual: el promedio de gasto diario de estas campañas en los días
antes de la primera inyección. Todo lo que se gasta por encima de ese baseline se cuenta como dinero nuevo.
Déjalo en auto y BridgeBI lo calcula del daily cache; ponlo a mano si no hay suficiente historia antes de la fecha de inyección.
Pegar lista de reglas
Valor
Campo detectado
Match
Leads
Nota
Nuevo grupo
El color pinta el borde del grupo — sirve para reconocerlo de un vistazo en la página y en el enlace compartido.
Compartir tracker
Compartiendo todo el boardboard
El enlace es solo lectura: quien lo abra ve los números y los desgloses, pero no puede editar iniciativas, reglas ni grupos, y no necesita cuenta.
No se envía ningún dato de leads individuales, solo totales y desgloses.
Se actualiza solo. Corre en el servidor todas las madrugadas (~2:40am AST, antes de que llegues) y además cada vez que abres BridgeBI o editas una iniciativa.
No tienes que darle refresh a nada. El período queda amarrado al preset que tengas puesto ahora — si es YTD el enlace sigue extendiéndose solo;
si es un rango custom se queda fijo en esas fechas.
Add Metric
Program Detail
Nombre corto de la campana
Nombre en la plataforma (no se toca)
Como lo quiero ver en BridgeBI
Esto es solo visual y solo tuyo. El match por UTM, el sync de Meta/Google, los CPL
y los reportes siguen usando el nombre real. Pasa el mouse por encima del nombre corto (o dale al boton
Nombres raw) y vuelve a salir el nombre crudo completo.
Edit placement
Reglas de recinto guardadas
Cada regla mueve todos los leads de un recinto a la división correcta — se aplica al dashboard actual y a todos los imports futuros, sin re-ingest. Para crear una: right-click en una fila de la tabla Recintos dentro de un report card.
Skipped Leads — no parseable date
These rows were in your Velocify export but BridgeBI couldn't find a valid date in the Inquiry Date column. They are not stored and won't appear anywhere in the dashboard.
Ranking completo ·
·
Campaign Analyzer
0 selected
📘
Syncing Meta Ads
Pulling live campaign spend and metrics. Please give it a second to load.