TapCub is live — analytics, insights and live chat, free on one platform

Lead generation analytics Which leads are worth a callback, and which campaign closed the deal?

The lead-gen template connects the ad, the form, the callback and the deal. The phone number is hashed and becomes the login ID, so a server event from your CRM lands on the campaign that produced the lead.

  • Phone hash connects ad to deal
  • Callback and qualification from the CRM
  • Sales rep as a group
app.tapcub.com
DashboardsLead pipelineLast 12 monthsFilterExport

Leads

2,412

▲ 9.2%

Qualified lead rate

38%

▲ 2.6 pts

Deals closed

214

▲ 12.4%

Deal value

$486,000

▲ 15.1%

Leads and closed deals

LeadsDeals closed
JanMarMayJulSepNov
Sample data
The problem

Three gaps between the form and the deal

Marketing counts leads. Sales counts deals. The pack counts both on the same person.

Leads without a quality score

Every form submission counts the same until someone calls. lead_qualified from the CRM separates real prospects from noise.

Watch: Qualified lead rate

Callbacks nobody tracks

Whether a lead was reached, and what happened, lives in a rep’s notes. callback_done with result puts it on the funnel.

Watch: Callback reach rate

Deals detached from spend

A closed deal arrives weeks later with no campaign attached. The phone hash and the first-touch click ID make the connection.

Watch: Lead-to-deal rate

Template metrics

Fourteen metrics from form view to deal

Capture, qualification, callback, appointment and close. Names match the console after install.

MetricDefinitionFormatDashboards
LeadsTOTALS(lead_submit)NumberLead pipeline
Lead usersUNIQUES(lead_submit)Number—
Form conversionUNIQUES(lead_submit) / UNIQUES(lead_form_view) * 100Percent—
ConsultationsTOTALS(consult_start)Number—
Qualified leadsUNIQUES(lead_qualified)NumberLead pipeline
Qualified lead rateUNIQUES(lead_qualified) / UNIQUES(lead_submit) * 100PercentLead pipeline
Callback reach rateUNIQUES(callback_done) / UNIQUES(lead_submit) * 100Percent—
AppointmentsTOTALS(appointment)Number—
ArrivalsUNIQUES(appointment_arrived)Number—
Appointment show rateUNIQUES(appointment_arrived) / UNIQUES(appointment) * 100Percent—
Deals closedTOTALS(deal_closed)NumberLead pipeline
Deal valuePROPSUM(deal_closed.amount)CurrencyLead pipeline
Lead-to-deal rateUNIQUES(deal_closed) / UNIQUES(lead_submit) * 100Percent—
Average deal valuePROPSUM(deal_closed.amount) / TOTALS(deal_closed)Currency—

Metric names and formulas come from the industry pack. TOTALS counts events, UNIQUES counts people, PROPSUM adds up a property. Every figure on this page is sample data.

Dashboards the template installs

Each dashboard is a set of cards: KPIs, funnels, trends, retention, distributions and breakdown tables. Edit, duplicate or share them after install.

Lead pipeline

11 cards on this board

4 × KPI2 × funnel1 × trend3 × table1 × distribution

Metrics on this board

Leads · Qualified lead rate · Deals closed · Deal value · Qualified leads

One pipeline board

Lead pipeline holds leads, qualified rate, deals and deal value as KPIs, the lead-to-deal funnel, trends, the channel and ad-platform lead tables, the sales ranking, the appointment funnel and the deal value distribution.

Funnel

Form view, lead, callback, appointment, deal

Five steps over 30 days. The −46% badge marks the step losing the most leads; in most pipelines it is the callback.

app.tapcub.com
FunnelsLead-to-deal funnelLast 30 daysUsersSessions

Lead-to-deal funnel

30-day window

Form viewed

2,400

Lead submitted

1,248

Callback done

674

Appointment booked

508

Deal closed

312

Sample data

Break down by first-touch channel

The first click ID and UTM are written to the profile as first-touch properties. Run the funnel per channel to see which one closes.

Break down by sales rep

group=sales attaches callbacks, appointments and deals to the rep. Compare reach rate and close rate without exporting the CRM.

Appointment to arrival

The appointment funnel runs appointment → arrived → deal over 30 days, so no-shows are visible as a step.

Also in the pack

  • Appointment-to-deal funnelAppointment booked → Arrived → Deal closed · 30-day window
How teams use it

What agencies and local businesses set up first

Form conversion, lead quality by platform, callback speed and cost per deal.

Use case 1

Raise form conversion field by field

lead_form_view and lead_submit bracket the form. Autocapture records the field clicks in between, so the step that loses people is visible without a tracking plan.

  • Form conversion per landing page
  • Field-level drop-off from autocapture
  • Heatmap of the form on mobile
app.tapcub.com
Lead pipelineFormsLast 30 days

Form conversion by landing page

Last 30 days
Landing pageForm viewsLeadsConversionQualified
/offer/spring8,4201,18014%41%
/services/roofing4,21069016%52%
/locations/downtown2,9802408%38%
/blog/cost-guide6,1003105%61%
Sample data
Use case 2

Judge ad platforms by qualified leads, not form fills

The ad-platform lead table joins click IDs to lead_qualified and deal_closed. A platform with cheap leads and a 12% qualified rate is more expensive than it looks.

  • Ad-platform table: leads, qualified, deals, cost
  • 14 platforms recognised by click ID
  • Cost per qualified lead after import

Example scenario: Meta leads cost $18 and qualified 21%. Google leads cost $42 and qualified 58%. Cost per qualified lead was $86 versus $72. The budget moved.

app.tapcub.com
Lead pipelineAd platformsLast 30 days

Cost per lead vs qualified rate

TikTok leads cost least and qualified 14% of the time in this sample.

Sample data
Use case 3

Measure callback speed and reach

callback_done from the CRM carries the result. Callback reach rate and time from lead to callback sit on the board; the alert fires when a lead waits more than 30 minutes.

  • Callback reach rate by rep and by hour
  • Time-to-callback distribution
  • Alert: lead not called within 30 minutes
app.tapcub.com
Lead pipelineCallbacksLast 30 days

Time from lead to callback

<5 min5–3030–601–4 h>4 h
Sample data
Analytics × Chat

Answer the question that is blocking the form

A visitor on the quote page scrolled to the form twice and left it empty. The invite asks what they need a quote for; the AI answers service-area and pricing questions and captures the number, hashed, as a lead.

  • Invite after a second form view without a submit
  • Context: service page, location, source, pages before the form
  • Chat-captured leads flow into the same funnel as form leads

Example scenario: Chat leads qualified at 54% against 38% for form leads; they had already asked the question a rep would have asked.

yourbusiness.com/quote
InboxVisitor · DenverLiveAuto-translateAssign to me

Visitor context

Page
/quote · 1 min 52 s
Form
viewed twice, not sent
Service
Roof repair
Source
Google Ads · roof_repair_denver
Location
Denver, CO · in service area
  • /services/roofing
  • /pricing
  • /quote
  • /quote
yourbusiness.com/quote
TC

Ray · Estimates

Hi! Repairs in Denver start at $380 and we can be on site Thursday. Want me to pencil in a free inspection? Just a number and a good time.

Sample data
Events

Nine events, two required

Form and consultation events from the snippet; qualification, callback, arrival, deal and loss from your CRM with the same phone hash.

EventNameWhen to sendRequired propertiesSource
lead_form_viewForm viewedWhen a lead form is visible; form_id.form_idWeb Mini-program
lead_submitRequiredLead submittedWhen a form or request is sent; phone stored as SHA-256 hash and used as login ID.—Web Mini-program App Server
consult_startConsultation startedWhen a chat or call is initiated; channel.channelWeb Mini-program App
lead_qualifiedLead qualifiedFrom your CRM when a lead is marked valid; lead_id.lead_idServer
callback_doneCallback doneFrom your CRM after a call attempt; lead_id and result.lead_idresultServer
appointmentAppointment bookedWhen a visit or demo is scheduled; type.typeWeb Mini-program App Server
appointment_arrivedArrivedFrom your CRM or store app when the lead shows up.—Server App Mini-program
deal_closedRequiredDeal closedFrom your CRM when the deal is won; amount.amountServer
lead_lostLead lostFrom your CRM when a lead is closed without a deal; lead_id.lead_idServer

Event names, required properties and sources come from the pack. Events marked Server must be sent from your backend; use insert_id to de-duplicate orders and invoices.

Scenarios

Two pipelines, two first months

Illustrative scenarios, not reviews.

Leads carry the ad click ID and a phone hash. When sales marks deal_closed, the deal lands on the campaign that started it. Our reports stopped arguing with the CRM.

AP

A. P.

Performance marketer · lead-gen agency

AttributionCRM events

Callback reach rate by hour showed leads after 6 p.m. waited until morning and closed at half the rate. We added an evening shift of one.

GB

G. B.

Owner · home services company

CallbacksAlerts

Illustrative scenarios written from the user’s point of view. Not real reviews.

FAQ

Questions about this solution

Still have a question?

Chat with the team behind TapCub — we usually reply within a few hours on business days.

What does the lead-gen template install?

Nine events, fourteen metrics including form conversion, qualified lead rate, callback reach rate, appointment show rate and lead-to-deal rate, two funnels and the Lead pipeline dashboard.

How does a CRM deal connect to the ad?

lead_submit stores the phone as a SHA-256 hash and sets it as the login ID. Your CRM sends deal_closed with the same hash; the profile already carries the first-touch click ID and UTM.

Which trades is this for?

Home services, agencies, clinics, dealers, brokers and any business that sells through a form and a call. Real estate, auto, education and healthcare also have their own packs with deeper events.

Can I score leads?

lead_qualified is the simplest score. Add properties to lead_submit such as budget or urgency and build segments or custom metrics on them.

How are sales reps compared?

Reps are a group. Send group=sales: on callback, appointment and deal events and the ranking shows reach rate, show rate and deals per rep.

Does chat create leads too?

Yes. A number captured in chat is hashed and sent as lead_submit with channel=chat, so chat leads enter the same funnel and tables.

Get started

Install the lead-gen template

Paste the snippet on your landing pages, send qualification and deal events from your CRM with the phone hash, and the pipeline board shows which campaigns close.

  • 9 events
  • 14 metrics
  • 2 funnels
  • 1 dashboard

Free plan included. HubSpot, Salesforce and Zapier integrations for CRM events.