Meta Ads Dashboard
Cost per booked call, week by week
Hubjoy
VV
Weekly Trend
| Week |
HJ Spend |
VV Spend |
Other |
Total |
HJ Book |
VV Book |
HJ CPBC |
VV CPBC |
Pipeline + Outcomes
VV Bookings This Week
VV Active Pipeline (Past Discovery)
VV Pending Calls
Booked calls with no outcome yet: either booked for a later date, or taken place with no outcome logged on the meeting in HubSpot.
VV Cumulative Summary
Hubjoy Bookings This Week
Hubjoy Active Pipeline (Past Discovery)
Hubjoy Pending Calls
Booked calls with no outcome yet: either booked for a later date, or taken place with no outcome logged on the meeting in HubSpot.
Hubjoy Cumulative Summary
Reminder: Ad-spend only comparison. HJ also carries SDR/Dave time, nurture emails, and phone costs that VV does not.
How a call's outcome is decided. The meeting's outcome in HubSpot decides (Completed, No show or Canceled), with the date the deal entered Discovery as the fallback when no meeting is marked. This took effect on October 5, 2026 and recounted the whole window, so the drop in show rate that day is a change in counting, not in the ads. Before that, the deal stage decided and every closed-lost deal counted as a completed call. Full rules on the Methodology tab.
Where to Invest Next
Recent performance (what scenarios are projecting from)
| Side | Spend (4w) | Avg/wk |
Booked | CPBC |
Pipeline to Revenue
How ad spend turns into customers and revenue. ROAS uses actual closed deal values only - no LTV placeholder. Treat ROAS as directional until N≥3 closed per side.
The funnel so far
How long it takes to close a customer
Active pipeline deals
| Company | Side | Current Stage | Days open |
Important context. HJ's real customer acquisition cost is higher - this report only counts ad spend. HJ also carries SDR time, nurture emails, and phone costs. ROAS uses actual closed deal values; treat as directional until N≥3 closed per side.
Deal-by-Deal Audit
Excluded Deals
| Created |
Company |
Source |
Reason |
Reconciliation
Methodology
What counts as a booked call
Any deal in the default sales pipeline with a createdate inside the reporting window.
Call outcome rules
The meeting's outcome in HubSpot decides, not the deal stage. The meetings looked at are the ones on the deal and on the deal's contacts, from 30 days before the deal was created onward (an older meeting belongs to an earlier sales cycle). When no meeting is marked Completed, the date the deal entered Discovery stands in. kpis.hubjoy.co counts held calls with the same rule.
| What HubSpot shows | Call Outcome |
| A meeting's outcome is Completed | Completed |
| No meeting marked Completed, but the deal entered Discovery (or was won) | Completed |
| The latest meeting's outcome is No show, Canceled or Rescheduled (with no later meeting) | No-show or cancelled |
| No meeting record, and the deal is Recycled or Closed Lost | No-show or cancelled |
| The latest meeting is booked for a later date | Pending: booked for a later date |
| The latest meeting has taken place and no outcome is logged, or there is no meeting record at an earlier stage | Pending: taken place, no outcome logged |
| The deal was ever won | Completed |
Closed Lost on its own never means the call was held. Show rate = completed / (completed + no-show or cancelled); pending calls are left out until their outcome is known. Cost per completed call (CPCC) = ad spend / completed calls.
This rule took effect on October 5, 2026 and recounted the whole window. Before that, the deal stage decided: every closed-lost deal counted as a completed call, every Recycled deal as a no-show, and every deal still in Expressed Interest as pending. The drop in show rate on October 5 is a change in counting, not in the ads.
How we assign VV vs Hubjoy
- VV: contact
custom_contact_source IN (VV-Zapier, VV-Discovery) OR hs_analytics_first_url contains try.hubjoy.co
- Hubjoy paid: contact
hs_analytics_source = PAID_SOCIAL AND not VV
- Excluded: everything else (organic, referral, direct traffic, etc.)
Why we use createdate, not meeting date
- Createdate never changes. Meeting date gets overwritten when calls are rescheduled.
- Meeting date is sometimes blank on valid bookings.
- Createdate is the moment the booking happened - closest event to the ad.
- Lines up ad spend weeks with booking event weeks.
Data sources
- Meta ad spend: Pipeboard MCP at campaign level for the reporting window.
- HubSpot deals: API deal search, default pipeline, createdate in window.
- Contact attribution: HubSpot contact properties (custom_contact_source, hs_analytics_source, hs_analytics_first_url).
Comparing HJ and VV correctly (read this first)
- HJ and VV optimize for DIFFERENT funnel events. HJ's ads optimize for the landing-page / lead-form submission (a cheap, shallow conversion). VV's ads optimize for the booked call (a deeper conversion). Their cost-per-lead numbers are therefore NOT comparable, and we do not pit them against each other. The only fair comparison points are the shared downstream stages: cost per booked call (CPBC), cost per completed call (CPCC), show rate, and closed-won / ROAS.
- "Closed Won" means ever-won. A deal counts as closed-won if it ever entered the Closed Won stage (detected via
hs_v2_date_entered_closedwon, which survives a later move to Churned) or is currently in a won stage. Ad spend earned that revenue regardless of later churn, so ROAS uses ever-won. Churn is shown separately (retained vs churned) as a retention signal, not erased. Example: VV's ReportWORQ ($6,999) is 1 closed-won that later churned - it is NOT zero.
Known caveats
- Ad-spend only. HJ's real cost includes SDR time, nurture emails, and phone costs.
- Small sample sizes. Show rate conclusions are directional, not definitive. Closed-won is 1 per side (N=1), so ROAS and "which channel wins" are not yet statistically answerable - need N≥3 per side.
- Calls with no outcome logged. A call that has taken place stays pending until someone sets the meeting's outcome in HubSpot. The refresh notes name them, oldest first. Each one that turns out to be a no-show lowers the show rate.
- VV pixel leads vs HubSpot bookings gap. VV reports more leads in Meta than appear in HubSpot.
- ROAS uses actual closed deal values from HubSpot's
amount field. No placeholder LTV. ROAS shows "Not yet measurable" when N=0 closed-won. Treat as directional until N≥3 per side.
Week boundaries
Monday-Sunday (ISO). Deals created on Monday belong to that week's Monday-Sunday window.