How to Build an HR Reporting System in Keap: Track Key Talent Metrics
Most HR teams using Keap are sitting on a reporting goldmine they have never opened. The contacts, tags, pipeline stages, and timestamps already in your account contain everything you need to measure time-to-hire, onboarding completion, and early retention risk — none of it requires a separate HRIS license or a data analyst. The gap is configuration, not capability.
This guide walks you through the exact setup sequence — from field taxonomy through live dashboards — that turns a standard Keap account into a functional HR reporting layer. It is the operational complement to our broader Keap HR and talent acquisition automation strategy, where we cover the full deterministic-first architecture. Here, we go deep on the metrics layer specifically.
Before You Start
Do not open the Keap builder until you have completed three prerequisites. Skipping them is the primary reason HR reporting setups get abandoned within 60 days.
- Time required: One day for design, two to three days for build and test. Block dedicated time — piecemeal setup produces inconsistent tagging that corrupts every report downstream.
- Tools needed: Keap account with admin access, a shared document for your tag taxonomy (Google Doc or Notion page), and optionally an automation platform if you plan to sync an external ATS or HRIS.
- Data risk to understand: Existing contacts in Keap may carry inconsistent or legacy tags. Run a tag audit before building new searches — a dirty tag library will make your new reports appear broken even when the logic is correct.
- Metrics to decide on first: Commit to three core metrics before building anything — time-to-hire, onboarding completion rate, and 90-day voluntary retention. Scope creep at setup is the second most common cause of abandoned configurations.
Step 1 — Define Your Tag Taxonomy and Field Map
Every accurate HR report in Keap traces back to a clean, consistently applied tag and field structure. Define this in writing before you create a single tag in the system.
Structure your tags across three layers with clear prefixes:
- HR-Stage: Candidate | New Hire | Employee | Alumni
- HR-Status: Active | On Hold | Withdrawn | Hired | Separated
- HR-Attr: [Department] | [Source] | [Role Level] | [Skill Set]
The prefix convention is non-negotiable. It is what keeps your saved searches filterable when your tag list grows to 50 or 100 entries. Without prefixes, “Active” becomes ambiguous — is that an active candidate or an active employee?
For custom fields, create these in Keap under the contact record before building any pipeline:
- Application Date (date field)
- Stage Entry Date (date field — updated by automation at each pipeline advance)
- Offer Date (date field)
- Start Date (date field)
- Source of Hire (dropdown — values match your HR-Attr source tags)
- Hiring Manager (text field)
- Department (dropdown)
- 90-Day Review Outcome (dropdown — Retained | Separated | In Progress)
Document every field name, type, and allowable value in your shared taxonomy doc. Anyone touching the system later — including you six months from now — needs this reference to apply data consistently. For deeper guidance on moving away from ad-hoc spreadsheet tracking, see our guide on replacing HR spreadsheets with Keap data management.
Step 2 — Build Your Recruiting Pipeline as a Reporting Structure
Keap’s pipeline stages are not just a visual workflow — each stage advance is a datestamp you can query. Configure your recruiting pipeline so that every stage represents a distinct, measurable event.
Recommended recruiting pipeline stages:
- Application Received
- Resume Review Complete
- Phone Screen Scheduled
- Phone Screen Complete
- Interview Scheduled
- Interview Complete
- Reference Check
- Offer Extended
- Offer Accepted
- Start Date Confirmed
Each stage advance should trigger an automation sequence that does two things: (1) updates the Stage Entry Date custom field with today’s date, and (2) applies or removes the appropriate HR-Status tag. This two-action trigger is what gives you elapsed-time data without any manual logging.
Based on our testing, teams that skip the Stage Entry Date update at each advance — relying instead on Keap’s native “moved to stage” timestamp in the pipeline view — find that timestamp inaccessible when they try to build saved-search reports. The custom field approach keeps the data in a queryable column.
For the strategic context on how tagging drives talent segmentation beyond reporting, see our walkthrough on strategic Keap tag segmentation for talent databases.
Step 3 — Wire Timestamp Automation for Elapsed-Time Metrics
Time-to-hire is your highest-value recruiting metric, and it requires zero manual calculation when automation captures the right timestamps. This step is where most configurations either succeed or fall apart.
Build the following automation triggers in Keap’s campaign builder:
- On contact creation in recruiting pipeline: Set Application Date = today. Apply tag HR-Stage:Candidate and HR-Status:Active.
- On tag applied: HR-Status:Hired: Set Hire Date = today. Calculate and log elapsed days in a note (or push to a Google Sheet via your automation platform). Apply tag HR-Stage:New Hire. Remove HR-Stage:Candidate.
- On tag applied: HR-Status:Withdrawn: Log Stage Entry Date of the stage where withdrawal occurred. Apply HR-Status:Withdrawn. This preserves your funnel drop-off data — which stage is losing the most candidates.
The elapsed-time calculation (Hire Date minus Application Date) can be done in a Google Sheet updated by your automation layer, or inside Keap using a calculated field if your subscription tier supports it. Either approach works; what matters is that both timestamps are captured by automation, not entered manually. Manual entry introduces the data-entry error rate that Parseur’s research on manual data processing identifies as a primary driver of downstream reporting inaccuracy.
SHRM benchmarking data indicates that average time-to-hire varies significantly by role and industry — having your own elapsed-time data lets you compare your performance against those benchmarks with precision rather than estimation.
Step 4 — Configure Your Onboarding Pipeline for Completion Tracking
Onboarding reporting answers one question that directly predicts 90-day retention: are new hires completing critical milestones on schedule? Keap tracks this through a dedicated onboarding pipeline with timed automations that escalate when stages stall.
Recommended onboarding pipeline stages:
- Offer Documentation Signed
- IT Access Provisioned
- Benefits Enrollment Complete
- Day 1 Orientation Done
- 30-Day Manager Check-In Complete
- 60-Day Performance Conversation Logged
- 90-Day Review Scheduled
- 90-Day Review Complete
For each stage, set a timed wait in your automation: if the contact has not advanced to the next stage within a defined window, trigger a task assigned to the hiring manager and a flag tag (e.g., HR-Status:Stalled-Onboarding). This creates a live escalation list — a saved search filtered to HR-Status:Stalled-Onboarding shows every at-risk new hire in real time.
Your onboarding completion rate is the percentage of contacts who reach “90-Day Review Complete” within 90 calendar days of their Start Date. With the Stage Entry Date field populated by automation at each advance, this is a simple saved-search count divided by total new hires in the cohort.
Harvard Business Review research on structured onboarding links completion of formal onboarding milestones to significantly higher retention rates at the one-year mark — making this metric a leading indicator, not just an administrative checkbox. For the full onboarding automation architecture, see our Keap onboarding automation guide.
Step 5 — Build Saved Searches as Live HR Dashboards
Saved searches in Keap are the reporting interface. Each search is a filtered view of your contact database that updates in real time — bookmark the URL and you have a live dashboard that requires no maintenance.
Build these five saved searches as your starter dashboard set:
- Open Requisitions (Active Pipeline): Filter to HR-Stage:Candidate AND HR-Status:Active. Count = open headcount in process.
- Stalled Candidates: Filter to HR-Stage:Candidate AND HR-Status:Active AND Stage Entry Date more than 7 days ago (adjust threshold to your average cycle). These contacts need immediate follow-up or stage decision.
- New Hires in Onboarding: Filter to HR-Stage:New Hire AND HR-Status:Active. Sorted by Start Date ascending shows who is earliest in their ramp.
- Stalled Onboarding: Filter to HR-Status:Stalled-Onboarding. This is your daily escalation list — should ideally be empty.
- 90-Day Cohort Tracking: Filter to HR-Stage:Employee AND Start Date within last 90 days. Cross-reference to 90-Day Review Outcome dropdown to calculate retention rate for the cohort.
Share saved search URLs with hiring managers and executive leadership. This eliminates the weekly “send me the spreadsheet” request and ensures everyone is looking at the same data simultaneously. For the full dashboard architecture covering skill pools and internal mobility, see our guide on building custom Keap dashboards for talent management.
Step 6 — Connect External Systems to Eliminate Data-Entry Gaps
Keap becomes dramatically more powerful as a reporting hub when it receives structured data from your ATS, job boards, and HRIS rather than relying on manual contact creation. An automation layer — such as Make.com — can sync records bidirectionally so that status changes in your ATS automatically update the Keap contact record and vice versa.
The integration pattern that produces the most reporting accuracy:
- ATS → Keap: When a candidate status changes in your ATS (application received, interview scheduled, rejected), push the update to Keap and fire the corresponding tag and stage-advance automation. Source-of-hire attribution flows from the ATS job posting data directly into the Source of Hire field — no manual entry.
- Keap → HRIS: When the HR-Status:Hired tag is applied, trigger a data push to your HRIS to create the employee record. This eliminates the transcription step where manual data entry errors occur — the same class of error that cost David, an HR manager at a mid-market manufacturing firm, $27,000 when a manual ATS-to-HRIS transcription turned a $103,000 offer into a $130,000 payroll entry.
- HRIS → Keap (employee updates): When a performance record, skills certification, or role change is logged in the HRIS, sync it back to the Keap contact so your talent pool segmentation stays current.
Gartner research on HR technology integration consistently identifies data fragmentation across disconnected systems as the primary barrier to reliable people analytics. The bidirectional sync pattern resolves that at the architecture level rather than papering over it with manual reconciliation. For the full integration stack approach, see our guide on Keap integrations for a unified HR tech stack.
Step 7 — Establish a Weekly Reporting Cadence and Data Governance Ritual
Reporting systems degrade when no one owns data quality between builds. Establish a weekly 30-minute ritual — not a meeting, a discipline — that keeps your Keap HR data reliable.
Weekly data governance checklist:
- Review the Stalled Candidates saved search. Any contact stuck beyond your threshold gets a stage decision logged today — advance, hold, or withdraw. No contacts in limbo.
- Review the Stalled Onboarding saved search. Every flagged new hire gets a manager task confirmed and a follow-up date set.
- Spot-check five randomly selected candidate contacts for tag completeness. Missing Source of Hire or Department tags corrupt cohort analysis — catch them early.
- Export the open requisitions count and 90-day cohort retention rate to your executive summary template. Two numbers, updated weekly, replace the quarterly “how are we doing” guesswork.
McKinsey research on people analytics maturity consistently distinguishes high-performing HR functions by one behavior: they treat talent data as a strategic asset maintained with the same discipline as financial records, not as a byproduct of administrative process. The weekly ritual is what operationalizes that discipline without requiring a data team.
For the broader analytics strategy that connects these operational metrics to workforce planning, see our guide on driving HR strategy with Keap analytics.
How to Know It Worked
Your Keap HR reporting system is functioning correctly when all of the following are true:
- You can state your current average time-to-hire by role without opening a spreadsheet — the saved search count and the Application Date field data produce that number on demand.
- Every active new hire appears in the New Hires in Onboarding saved search with a Start Date populated and a current pipeline stage that matches their actual onboarding progress.
- The Stalled Onboarding saved search triggers a manager task within 24 hours of a stage going overdue — not after someone notices it manually.
- Your 90-day cohort retention rate is calculable from the saved search without any manual cross-referencing to a separate spreadsheet.
- A new contact created through your ATS integration arrives in Keap with Source of Hire, Department, and Application Date already populated — zero manual field entry required.
Common Mistakes and How to Avoid Them
Mistake: Building pipelines before defining the taxonomy. The result is a tag library with 12 variations of “candidate” and saved searches that return 60% of the actual population. Fix: taxonomy document first, Keap builder second. No exceptions.
Mistake: Using Keap’s native pipeline timestamp instead of a custom date field. The native timestamp is visible in the pipeline view but is not queryable in saved searches the same way a custom date field is. Use both — the native view for workflow management, the custom field for reporting.
Mistake: Tracking too many metrics at launch. APQC benchmarking research on HR measurement consistently shows that organizations tracking fewer, higher-quality metrics make faster and more accurate workforce decisions than those tracking comprehensive metric sets with lower data integrity. Start with three, get them clean, then expand.
Mistake: No data owner. A Keap HR reporting system with no designated owner degrades within 90 days. Assign one person — even part-time — who runs the weekly governance ritual and owns tag taxonomy decisions. This is not a technology problem; it is an accountability structure problem.
Mistake: Skipping the ATS integration and entering candidate data manually. Manual entry introduces the transcription errors that corrupt your source-of-hire and time-to-hire data from day one. The integration investment pays back immediately in data quality — not eventually in time savings.
The metrics that drive strategic HR decisions — time-to-hire, onboarding completion, early retention — are all computable from data Keap already captures. The configuration described here does not require enterprise software or a data science team. It requires a clean taxonomy, disciplined automation, and a weekly governance ritual. That foundation is what our broader Keap HR and talent acquisition automation strategy is built on. Get the reporting layer right first, and every AI or analytics layer you add later will have clean data to work with. For the ROI case on the full automation investment, see our analysis of Keap HR automation ROI and time savings.




