{"id":54137,"date":"2026-02-01T12:21:45","date_gmt":"2026-02-01T18:21:45","guid":{"rendered":"https:\/\/heartbeat.ai\/healthcare\/how-we-test-contact-data-quality\/"},"modified":"2026-08-27T06:32:19","modified_gmt":"2026-08-27T11:32:19","slug":"how-we-test-contact-data-quality","status":"publish","type":"post","link":"http:\/\/heartbeat.ai\/resources\/trust-methodology\/how-we-test-contact-data-quality\/","title":{"rendered":"How We Test Contact Data Quality (Phone + Email) at Heartbeat.ai"},"content":{"rendered":"<p class=\"article-last-updated\"><strong>Last updated:<\/strong> August 27, 2026<\/p>\n<p><img decoding=\"async\" loading=\"false\" class=\"aligncenter\" src=\"http:\/\/hc.heartbeat.ai\/wp-content\/webp-express\/webp-images\/uploads\/2026\/02\/how-we-test-contact-data-quality-55cb09be.png.webp\" alt=\"Diagram of a two-week contact data quality pilot covering phone and email metrics\" \/><\/p>\n<p><strong>By Ben Argeband, Founder &amp; CEO of Heartbeat.ai<\/strong><\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 counter-hierarchy ez-toc-counter ez-toc-custom ez-toc-container-direction\">\r\n<div class=\"ez-toc-title-container\">\r\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">What\u2019s on this page:<\/p>\r\n<span class=\"ez-toc-title-toggle\"><\/span><\/div>\r\n<nav><ul class='ez-toc-list ez-toc-list-level-1' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"http:\/\/heartbeat.ai\/resources\/trust-methodology\/how-we-test-contact-data-quality\/#Who_this_is_for\" >Who this is for<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"http:\/\/heartbeat.ai\/resources\/trust-methodology\/how-we-test-contact-data-quality\/#Quick_answer\" >Quick answer<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"http:\/\/heartbeat.ai\/resources\/trust-methodology\/how-we-test-contact-data-quality\/#The_framework_pilot_dont_argue\" >The framework: pilot, don&#8217;t argue<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"http:\/\/heartbeat.ai\/resources\/trust-methodology\/how-we-test-contact-data-quality\/#Step-by-step_method\" >Step-by-step method<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"http:\/\/heartbeat.ai\/resources\/trust-methodology\/how-we-test-contact-data-quality\/#Step_1_Lock_metric_definitions_and_keep_denominators_fixed\" >Step 1: Lock metric definitions and keep denominators fixed<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"http:\/\/heartbeat.ai\/resources\/trust-methodology\/how-we-test-contact-data-quality\/#Step_2_Create_a_pilot_data_dictionary\" >Step 2: Create a pilot data dictionary<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"http:\/\/heartbeat.ai\/resources\/trust-methodology\/how-we-test-contact-data-quality\/#Step_3_Build_a_fair_sample\" >Step 3: Build a fair sample<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"http:\/\/heartbeat.ai\/resources\/trust-methodology\/how-we-test-contact-data-quality\/#Step_4_Phone_testing_%E2%80%94_what_we_test_and_what_we_dont\" >Step 4: Phone testing \u2014 what we test and what we don&#8217;t<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"http:\/\/heartbeat.ai\/resources\/trust-methodology\/how-we-test-contact-data-quality\/#Step_5_Email_testing_%E2%80%94_what_we_test_and_what_we_dont\" >Step 5: Email testing \u2014 what we test and what we don&#8217;t<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"http:\/\/heartbeat.ai\/resources\/trust-methodology\/how-we-test-contact-data-quality\/#Step_6_Run_a_two-week_pilot\" >Step 6: Run a two-week pilot<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"http:\/\/heartbeat.ai\/resources\/trust-methodology\/how-we-test-contact-data-quality\/#Step_7_Analyze_with_denominator_discipline\" >Step 7: Analyze with denominator discipline<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"http:\/\/heartbeat.ai\/resources\/trust-methodology\/how-we-test-contact-data-quality\/#Step_8_Document_what_is_not_tested_and_not_guaranteed\" >Step 8: Document what is not tested and not guaranteed<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"http:\/\/heartbeat.ai\/resources\/trust-methodology\/how-we-test-contact-data-quality\/#Diagnostic_table_metrics_formulas_and_common_mistakes\" >Diagnostic table: metrics, formulas, and common mistakes<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"http:\/\/heartbeat.ai\/resources\/trust-methodology\/how-we-test-contact-data-quality\/#Weighted_vendor_checklist\" >Weighted vendor checklist<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"http:\/\/heartbeat.ai\/resources\/trust-methodology\/how-we-test-contact-data-quality\/#Sample_pilot_report_template_copypaste\" >Sample pilot report template (copy\/paste)<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-16\" href=\"http:\/\/heartbeat.ai\/resources\/trust-methodology\/how-we-test-contact-data-quality\/#Outreach_templates_for_pilots\" >Outreach templates for pilots<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-17\" href=\"http:\/\/heartbeat.ai\/resources\/trust-methodology\/how-we-test-contact-data-quality\/#Phone_voicemail_15%E2%80%9320_seconds\" >Phone voicemail (15\u201320 seconds)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-18\" href=\"http:\/\/heartbeat.ai\/resources\/trust-methodology\/how-we-test-contact-data-quality\/#Email_1_plain_text\" >Email #1 (plain text)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-19\" href=\"http:\/\/heartbeat.ai\/resources\/trust-methodology\/how-we-test-contact-data-quality\/#Email_2_follow-up_3%E2%80%935_business_days_later\" >Email #2 (follow-up, 3\u20135 business days later)<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-20\" href=\"http:\/\/heartbeat.ai\/resources\/trust-methodology\/how-we-test-contact-data-quality\/#Common_pitfalls\" >Common pitfalls<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-21\" href=\"http:\/\/heartbeat.ai\/resources\/trust-methodology\/how-we-test-contact-data-quality\/#Disposition_taxonomy_use_the_same_labels_across_vendors\" >Disposition taxonomy (use the same labels across vendors)<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-22\" href=\"http:\/\/heartbeat.ai\/resources\/trust-methodology\/how-we-test-contact-data-quality\/#How_to_improve_results\" >How to improve results<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-23\" href=\"http:\/\/heartbeat.ai\/resources\/trust-methodology\/how-we-test-contact-data-quality\/#Improve_phone_outcomes_without_just_dialing_more\" >Improve phone outcomes without just dialing more<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-24\" href=\"http:\/\/heartbeat.ai\/resources\/trust-methodology\/how-we-test-contact-data-quality\/#Improve_email_outcomes_by_separating_list_quality_from_sending_quality\" >Improve email outcomes by separating list quality from sending quality<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-25\" href=\"http:\/\/heartbeat.ai\/resources\/trust-methodology\/how-we-test-contact-data-quality\/#Measurement_instructions\" >Measurement instructions<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-26\" href=\"http:\/\/heartbeat.ai\/resources\/trust-methodology\/how-we-test-contact-data-quality\/#Legal_and_ethical_use\" >Legal and ethical use<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-27\" href=\"http:\/\/heartbeat.ai\/resources\/trust-methodology\/how-we-test-contact-data-quality\/#Evidence_and_trust_notes\" >Evidence and trust notes<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-28\" href=\"http:\/\/heartbeat.ai\/resources\/trust-methodology\/how-we-test-contact-data-quality\/#Implementation_notes\" >Implementation notes<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-29\" href=\"http:\/\/heartbeat.ai\/resources\/trust-methodology\/how-we-test-contact-data-quality\/#FAQs\" >FAQs<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-30\" href=\"http:\/\/heartbeat.ai\/resources\/trust-methodology\/how-we-test-contact-data-quality\/#Whats_the_difference_between_phone_connectability_and_phone_answer_outcomes\" >What&#8217;s the difference between phone connectability and phone answer outcomes?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-31\" href=\"http:\/\/heartbeat.ai\/resources\/trust-methodology\/how-we-test-contact-data-quality\/#What_does_%E2%80%9Cdelivered%E2%80%9D_mean_for_email\" >What does &#8220;delivered&#8221; mean for email?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-32\" href=\"http:\/\/heartbeat.ai\/resources\/trust-methodology\/how-we-test-contact-data-quality\/#Can_a_vendor_guarantee_contact_data_quality\" >Can a vendor guarantee contact data quality?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-33\" href=\"http:\/\/heartbeat.ai\/resources\/trust-methodology\/how-we-test-contact-data-quality\/#How_do_we_run_a_fair_two-week_pilot_across_two_vendors\" >How do we run a fair two-week pilot across two vendors?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-34\" href=\"http:\/\/heartbeat.ai\/resources\/trust-methodology\/how-we-test-contact-data-quality\/#Which_metrics_should_procurement_care_about\" >Which metrics should procurement care about?<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-35\" href=\"http:\/\/heartbeat.ai\/resources\/trust-methodology\/how-we-test-contact-data-quality\/#Next_steps\" >Next steps<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-36\" href=\"http:\/\/heartbeat.ai\/resources\/trust-methodology\/how-we-test-contact-data-quality\/#About_the_Author\" >About the Author<\/a><\/li><\/ul><\/nav><\/div>\r\n<h2><span class=\"ez-toc-section\" id=\"Who_this_is_for\"><\/span>Who this is for<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>This guide is for buyers, reviewers, and ops leaders validating healthcare provider contact data vendors. If you are responsible for recruiter throughput, phone connectability, email deliverability, or compliance risk, this is the pilot structure we use ourselves and recommend to customers.<\/p>\n<p>You will leave with three things: locked metric definitions and logging fields, a fair two-week pilot design, and a copy\/paste pilot report template you can hand to procurement and leadership.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Quick_answer\"><\/span>Quick answer<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>We test contact data quality by running a controlled two-week pilot, logging every attempt with fixed denominators, and keeping phone connectability separate from email deliverability. Phone data and email data fail in different ways, so we never blend them into a single &#8220;accuracy&#8221; number.<\/p>\n<blockquote>\n<p><strong>Compliance &amp; Safety<\/strong><\/p>\n<p>This method is for legitimate recruiting outreach only. Always respect candidate privacy, opt-out requests, and applicable data and telemarketing laws. Heartbeat does not provide medical advice or legal counsel.<\/p>\n<\/blockquote>\n<h2><span class=\"ez-toc-section\" id=\"The_framework_pilot_dont_argue\"><\/span>The framework: pilot, don&#8217;t argue<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Vendor conversations go sideways when each side uses different definitions, different samples, and different logging. Our rule is simple: lock definitions first, run a two-week pilot, then decide based on outcomes you can audit.<\/p>\n<ul>\n<li><strong>Definitions first:<\/strong> lock formulas, denominators, and required fields before you pull records.<\/li>\n<li><strong>Separate signals:<\/strong> phone and email fail differently, so measure them differently.<\/li>\n<li><strong>Document limits:<\/strong> write down what the pilot cannot prove so nobody over-promises.<\/li>\n<\/ul>\n<p>The trade-off is real: you spend more time on instrumentation up front. In exchange, you stop paying for &#8220;accuracy&#8221; claims you cannot operationalize or defend.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Step-by-step_method\"><\/span>Step-by-step method<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<h3><span class=\"ez-toc-section\" id=\"Step_1_Lock_metric_definitions_and_keep_denominators_fixed\"><\/span>Step 1: Lock metric definitions and keep denominators fixed<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>If your denominators drift, your pilot becomes a story, not a measurement. Use these definitions and keep them identical across vendors, time windows, and recruiters:<\/p>\n<ul>\n<li><strong>Connect Rate<\/strong> = connected calls \/ total dials (per 100 dials). <em>Connected<\/em> means the call completes to ringing, a voicemail system, an IVR, or a human \u2014 not necessarily a human answer.<\/li>\n<li><strong>Answer Rate<\/strong> = human answers \/ connected calls (per 100 connected calls).<\/li>\n<li><strong>Deliverability Rate<\/strong> = delivered emails \/ sent emails (per 100 sent emails).<\/li>\n<li><strong>Bounce Rate<\/strong> = bounced emails \/ sent emails (per 100 sent emails).<\/li>\n<li><strong>Reply Rate<\/strong> = replies \/ delivered emails (per 100 delivered emails).<\/li>\n<\/ul>\n<p>Keep the extended definitions centralized and reference them from your SOPs: <a href=\"http:\/\/heartbeat.ai\/resources\/trust-methodology\/accuracy-and-metrics-definitions\/\">accuracy and metrics definitions<\/a>. Redefining metrics inside each SOP is how teams end up comparing incompatible numbers.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Step_2_Create_a_pilot_data_dictionary\"><\/span>Step 2: Create a pilot data dictionary<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Do not start outreach until you can log one row per attempt \u2014 one row per dial, one row per email send. Here is the minimum field set that makes results auditable:<\/p>\n<ul>\n<li><strong>Identity:<\/strong> NPI (preferred), first\/last name, specialty as you use it, state.<\/li>\n<li><strong>Source tagging:<\/strong> vendor_name, source_batch_id, pull_date.<\/li>\n<li><strong>Channel attempt:<\/strong> attempt_id, channel (phone\/email), timestamp in local time, recruiter_id.<\/li>\n<li><strong>Phone outcomes:<\/strong> dialed (Y\/N), connected (Y\/N), answered_human (Y\/N), disposition (voicemail, IVR, wrong party, opt-out, etc.).<\/li>\n<li><strong>Email outcomes:<\/strong> sent (Y\/N), delivered (Y\/N), bounced (Y\/N), bounce_type (hard\/soft), replied (Y\/N), reply_type (positive\/neutral\/negative\/auto-reply).<\/li>\n<li><strong>Suppression:<\/strong> opted_out (Y\/N), do_not_call (Y\/N), do_not_email (Y\/N), suppression_reason.<\/li>\n<\/ul>\n<p><strong>Sample CSV header (attempt log):<\/strong> npi,vendor_name,source_batch_id,pull_date,recruiter_id,channel,attempt_id,timestamp_local,number_type,dialed,connected,answered_human,phone_disposition,sent,delivered,bounced,bounce_type,replied,reply_type,opted_out,do_not_call,do_not_email,suppression_reason<\/p>\n<p>If you need a starting point for field naming, align your pilot fields to your long-term schema: <a href=\"http:\/\/heartbeat.ai\/resources\/recruiting-ops\/ats-field-schema-for-outreach-metrics\/\">ATS field schema for outreach metrics<\/a>.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Step_3_Build_a_fair_sample\"><\/span>Step 3: Build a fair sample<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Bad samples create fake wins. A fair sample is representative of the providers you actually recruit and comparable across vendors:<\/p>\n<ul>\n<li><strong>Anchor identity to NPI<\/strong> where possible so you can dedupe across sources and avoid double-counting.<\/li>\n<li><strong>Match the mix:<\/strong> the same specialties, states, and role types you recruit day to day.<\/li>\n<li><strong>Pull at the same time:<\/strong> request exports on the same day to reduce decay bias between vendor arms.<\/li>\n<li><strong>Apply the same suppression rules:<\/strong> remove prior opt-outs, known bad domains, and internal test addresses from every arm.<\/li>\n<\/ul>\n<p>One caution on sample size: small pilots produce noisy percentages. A few dozen dials cannot separate a good list from a lucky day. Plan enough attempts per vendor arm that a day-over-day variance check is meaningful, and treat narrow differences between vendors as a tie rather than a win.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Step_4_Phone_testing_%E2%80%94_what_we_test_and_what_we_dont\"><\/span>Step 4: Phone testing \u2014 what we test and what we don&#8217;t<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Phone quality is not one number. We test:<\/p>\n<ul>\n<li><strong>Connectability:<\/strong> does the call connect at all (ringing, voicemail, IVR, or human)? This drives Connect Rate.<\/li>\n<li><strong>Human answer likelihood:<\/strong> among connected calls, how often do you reach a person? This drives Answer Rate.<\/li>\n<li><strong>Wrong-party risk:<\/strong> are you reaching the intended provider, or a clinic main line or unrelated person?<\/li>\n<li><strong>Compliance handling:<\/strong> opt-outs and do-not-call flags are logged and honored.<\/li>\n<\/ul>\n<p>For Heartbeat.ai specifically, we also evaluate whether ranked mobile numbers help recruiters prioritize dials. Ranking is a prioritization signal, not a promise \u2014 your cadence and local time windows still matter.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Step_5_Email_testing_%E2%80%94_what_we_test_and_what_we_dont\"><\/span>Step 5: Email testing \u2014 what we test and what we don&#8217;t<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Email outcomes are a system result: your sending domain, your content, your list, and recipient-side filters all interact. In a pilot, we focus on outcomes you can audit:<\/p>\n<ul>\n<li><strong>Deliverability Rate<\/strong> and <strong>Bounce Rate<\/strong> (per 100 sent emails) to quantify acceptance versus rejection.<\/li>\n<li><strong>Reply Rate<\/strong> (per 100 delivered emails) to separate list quality from sending volume.<\/li>\n<\/ul>\n<p>We do <strong>not<\/strong> treat &#8220;delivered&#8221; as &#8220;in inbox.&#8221; Delivered means the receiving system accepted the message; inbox placement is a separate layer influenced by sender reputation and authentication.<\/p>\n<p>One pre-flight requirement that pilots often skip: major mailbox providers now enforce sender requirements. Google&#8217;s sender guidelines require SPF and DKIM authentication plus a DMARC record for high-volume senders (5,000 or more messages per day to Gmail accounts), and expect user-reported spam rates in Postmaster Tools to stay below 0.30%. Google also requires one-click unsubscribe for marketing messages and processing of unsubscribe requests within 48 hours. If your domain fails these checks, you will blame the list for a sending-infrastructure problem \u2014 so verify authentication before Day 1 of any pilot.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Step_6_Run_a_two-week_pilot\"><\/span>Step 6: Run a two-week pilot<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Here is the structure that keeps pilots honest and fast:<\/p>\n<ol>\n<li><strong>Setup (before Day 1):<\/strong> finalize definitions, fields, suppression rules, and sampling. Confirm your compliance review path for both phone and email, and confirm sender authentication is in place.<\/li>\n<li><strong>Week 1 (baseline):<\/strong> run the same outreach play across Vendor A and Vendor B (or A versus your current source). Keep recruiter behavior consistent.<\/li>\n<li><strong>Week 2 (repeat):<\/strong> repeat the same play to check stability across days and time windows.<\/li>\n<\/ol>\n<p><strong>Fairness controls \u2014 do not skip these:<\/strong><\/p>\n<ul>\n<li>Same local-time call blocks and same day-of-week coverage across vendor arms.<\/li>\n<li>Same caller ID strategy and same number of attempts per record.<\/li>\n<li>Same email copy, same cadence, same sender domain.<\/li>\n<li>Same suppression list applied to all arms, with change control if updates are required mid-pilot.<\/li>\n<\/ul>\n<h3><span class=\"ez-toc-section\" id=\"Step_7_Analyze_with_denominator_discipline\"><\/span>Step 7: Analyze with denominator discipline<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Report phone and email separately, and keep denominators fixed:<\/p>\n<ul>\n<li><strong>Phone:<\/strong> Connect Rate (connected calls \/ total dials, per 100 dials) and Answer Rate (human answers \/ connected calls, per 100 connected calls).<\/li>\n<li><strong>Email:<\/strong> Deliverability Rate (delivered \/ sent), Bounce Rate (bounced \/ sent), and Reply Rate (replies \/ delivered).<\/li>\n<\/ul>\n<p>Compute every metric from the raw attempt log \u2014 not from a dashboard summary. Export daily, keep one row per dial and one row per send, and maintain a change log for any suppression or cadence updates.<\/p>\n<p><strong>Decision logic:<\/strong><\/p>\n<ul>\n<li><strong>Stability:<\/strong> results should be directionally consistent across both weeks, not a one-day spike.<\/li>\n<li><strong>Not recruiter-driven:<\/strong> improvements should hold across recruiters, not just one outlier.<\/li>\n<li><strong>Wrong-party reviewed:<\/strong> spot-check &#8220;wins&#8221; to confirm you reached the intended provider.<\/li>\n<li><strong>Suppression honored:<\/strong> opt-outs and do-not-contact flags must be enforced across all vendor arms.<\/li>\n<\/ul>\n<h3><span class=\"ez-toc-section\" id=\"Step_8_Document_what_is_not_tested_and_not_guaranteed\"><\/span>Step 8: Document what is not tested and not guaranteed<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ul>\n<li><strong>Not guaranteed:<\/strong> future performance. Contact data decays and workflows change.<\/li>\n<li><strong>Not guaranteed:<\/strong> inbox placement. Delivered means accepted, not necessarily inboxed.<\/li>\n<li><strong>Not guaranteed:<\/strong> reply rates, interviews, or placements. Those depend on compensation, schedule, message, and recruiter execution.<\/li>\n<li><strong>Not guaranteed:<\/strong> identity match without verification. A connected call can still be wrong-party.<\/li>\n<\/ul>\n<h2><span class=\"ez-toc-section\" id=\"Diagnostic_table_metrics_formulas_and_common_mistakes\"><\/span>Diagnostic table: metrics, formulas, and common mistakes<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<div class=\"table-scroll\" style=\"overflow:auto;-webkit-overflow-scrolling:touch;width:100%\">\n<table class=\"separated-content\">\n<thead>\n<tr>\n<th>Metric<\/th>\n<th>Formula<\/th>\n<th>Denominator<\/th>\n<th>What to log<\/th>\n<th>Common mistakes<\/th>\n<th>Where it shows up<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>Connect Rate<\/strong><\/td>\n<td>connected calls \/ total dials<\/td>\n<td>Per 100 dials<\/td>\n<td>attempt_id, dialed=Y, connected=Y\/N, vendor_name, recruiter_id, local_time_block<\/td>\n<td>Using &#8220;answered&#8221; as connected; excluding no-answers from dials<\/td>\n<td><a href=\"http:\/\/heartbeat.ai\/resources\/data-quality-verification\/connect-rate-vs-answer-rate\/\">Connect Rate vs Answer Rate<\/a><\/td>\n<\/tr>\n<tr>\n<td><strong>Answer Rate<\/strong><\/td>\n<td>human answers \/ connected calls<\/td>\n<td>Per 100 connected calls<\/td>\n<td>answered_human=Y\/N, disposition (voicemail\/IVR\/wrong party), local_time_block<\/td>\n<td>Dividing by total dials; mixing voicemail with human answers<\/td>\n<td><a href=\"http:\/\/heartbeat.ai\/resources\/data-quality-verification\/connect-rate-vs-answer-rate\/\">Answer Rate definition<\/a><\/td>\n<\/tr>\n<tr>\n<td><strong>Deliverability Rate<\/strong><\/td>\n<td>delivered emails \/ sent emails<\/td>\n<td>Per 100 sent emails<\/td>\n<td>sent=Y, delivered=Y\/N, sending_domain, vendor_name, timestamp<\/td>\n<td>Counting opens as delivered; ignoring soft bounces<\/td>\n<td><a href=\"http:\/\/heartbeat.ai\/resources\/trust-methodology\/accuracy-and-metrics-definitions\/\">Metrics definitions<\/a><\/td>\n<\/tr>\n<tr>\n<td><strong>Bounce Rate<\/strong><\/td>\n<td>bounced emails \/ sent emails<\/td>\n<td>Per 100 sent emails<\/td>\n<td>bounced=Y\/N, bounce_type (hard\/soft), reason_code, vendor_name<\/td>\n<td>Only counting hard bounces; changing suppression mid-pilot<\/td>\n<td><a href=\"http:\/\/heartbeat.ai\/resources\/recruiting-ops\/reply-rate-tracking-for-physician-outreach\/\">Reply + deliverability tracking<\/a><\/td>\n<\/tr>\n<tr>\n<td><strong>Reply Rate<\/strong><\/td>\n<td>replies \/ delivered emails<\/td>\n<td>Per 100 delivered emails<\/td>\n<td>replied=Y\/N, reply_type, time_to_reply, vendor_name<\/td>\n<td>Dividing by sent; counting auto-replies as replies<\/td>\n<td><a href=\"http:\/\/heartbeat.ai\/resources\/recruiting-ops\/reply-rate-tracking-for-physician-outreach\/\">Reply Rate tracking<\/a><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p><strong>Denominator discipline worksheet:<\/strong> for every metric you report, store (1) the numerator event, (2) the denominator event, and (3) the raw attempt log that produced both. If you cannot trace a dashboard number back to attempt rows, do not use it in vendor selection.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Weighted_vendor_checklist\"><\/span>Weighted vendor checklist<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Use this to score any vendor \u2014 including Heartbeat.ai \u2014 during a pilot. Weighting forces trade-offs into the open.<\/p>\n<div class=\"table-scroll\" style=\"overflow:auto;-webkit-overflow-scrolling:touch;width:100%\">\n<table class=\"separated-content\">\n<thead>\n<tr>\n<th>Category<\/th>\n<th>What &#8220;good&#8221; looks like<\/th>\n<th>Weight<\/th>\n<th>Score (1\u20135)<\/th>\n<th>Evidence to attach<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>Definitions + logging<\/strong><\/td>\n<td>Agrees to your formulas and denominators; supports NPI dedupe; source tagging per record<\/td>\n<td>25%<\/td>\n<td><\/td>\n<td>Pilot data dictionary + sample export<\/td>\n<\/tr>\n<tr>\n<td><strong>Phone outcomes<\/strong><\/td>\n<td>More connected calls per 100 dials without inflating wrong-party connections<\/td>\n<td>25%<\/td>\n<td><\/td>\n<td>Attempt log with dispositions<\/td>\n<\/tr>\n<tr>\n<td><strong>Email outcomes<\/strong><\/td>\n<td>More delivered per 100 sent; fewer bounces; clear suppression guidance<\/td>\n<td>20%<\/td>\n<td><\/td>\n<td>Send\/deliver\/bounce export + suppression rules<\/td>\n<\/tr>\n<tr>\n<td><strong>Workflow fit<\/strong><\/td>\n<td>Field mapping, audit trail, opt-out handling, easy enrichment into ATS\/CRM<\/td>\n<td>15%<\/td>\n<td><\/td>\n<td>Mapping doc + screenshots<\/td>\n<\/tr>\n<tr>\n<td><strong>Compliance posture<\/strong><\/td>\n<td>Documented opt-out support, data provenance, and outreach constraints<\/td>\n<td>15%<\/td>\n<td><\/td>\n<td>Policy docs + DPA + suppression workflow<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<h3><span class=\"ez-toc-section\" id=\"Sample_pilot_report_template_copypaste\"><\/span>Sample pilot report template (copy\/paste)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><strong>Header<\/strong><\/p>\n<ul>\n<li><strong>Objective:<\/strong> decide whether Vendor A\/B improves phone and\/or email outcomes in our recruiting workflow.<\/li>\n<li><strong>Scope:<\/strong> specialties, states, role types, date range, channels (phone\/email).<\/li>\n<li><strong>Identity key:<\/strong> NPI match rules and dedupe rules.<\/li>\n<li><strong>Suppression:<\/strong> opt-outs, do-not-call\/do-not-email, known bad domains, internal exclusions.<\/li>\n<\/ul>\n<p><strong>Definitions (paste the exact formulas)<\/strong><\/p>\n<ul>\n<li>Connect Rate = connected calls \/ total dials (per 100 dials)<\/li>\n<li>Answer Rate = human answers \/ connected calls (per 100 connected calls)<\/li>\n<li>Deliverability Rate = delivered emails \/ sent emails (per 100 sent emails)<\/li>\n<li>Bounce Rate = bounced emails \/ sent emails (per 100 sent emails)<\/li>\n<li>Reply Rate = replies \/ delivered emails (per 100 delivered emails)<\/li>\n<\/ul>\n<p><strong>Execution controls<\/strong><\/p>\n<ul>\n<li>Call windows (local time): [list your blocks]<\/li>\n<li>Email cadence: [list your steps]<\/li>\n<li>Recruiter assignment rules: [how records were distributed]<\/li>\n<li>Change log: [any changes with date\/time]<\/li>\n<\/ul>\n<p><strong>Results table skeleton<\/strong><\/p>\n<div class=\"table-scroll\" style=\"overflow:auto;-webkit-overflow-scrolling:touch;width:100%\">\n<table class=\"separated-content\">\n<thead>\n<tr>\n<th>Metric<\/th>\n<th>Vendor A<\/th>\n<th>Vendor B<\/th>\n<th>Notes (variance, segments, anomalies)<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Connect Rate (per 100 dials)<\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>Answer Rate (per 100 connected calls)<\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>Deliverability Rate (per 100 sent emails)<\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>Bounce Rate (per 100 sent emails)<\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>Reply Rate (per 100 delivered emails)<\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p><strong>Decision<\/strong><\/p>\n<ul>\n<li><strong>What improved:<\/strong> [phone\/email\/both]<\/li>\n<li><strong>What did not improve:<\/strong> [be explicit]<\/li>\n<li><strong>Limits and variability:<\/strong> [what the pilot did not test; what could have biased results]<\/li>\n<li><strong>Next action:<\/strong> rollout \/ extend pilot \/ stop<\/li>\n<\/ul>\n<h2><span class=\"ez-toc-section\" id=\"Outreach_templates_for_pilots\"><\/span>Outreach templates for pilots<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>These are designed for pilots: short, consistent, and easy to compare across vendor arms. Keep content constant so you are testing data quality, not copywriting.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Phone_voicemail_15%E2%80%9320_seconds\"><\/span>Phone voicemail (15\u201320 seconds)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><strong>Script:<\/strong> &#8220;Hi Dr. [Last Name] \u2014 this is [Name] with [Org]. I&#8217;m calling about a [role] opportunity in [location]. If you&#8217;re open to a quick chat, call or text me at [number]. If not, tell me and I&#8217;ll stop.&#8221;<\/p>\n<p><strong>Log fields:<\/strong> connected (Y\/N), answered_human (Y\/N), disposition, wrong_party (Y\/N), opted_out (Y\/N).<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Email_1_plain_text\"><\/span>Email #1 (plain text)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><strong>Subject:<\/strong> Quick question \u2014 [role] in [location]<\/p>\n<p><strong>Body:<\/strong> &#8220;Dr. [Last Name], I recruit for [Org]. Are you open to a brief call about a [role] role in [location]? If not, reply &#8216;no&#8217; and I&#8217;ll close the loop.&#8221;<\/p>\n<p><strong>Log fields:<\/strong> sent (Y\/N), delivered (Y\/N), bounced (Y\/N), replied (Y\/N), reply_type, opted_out (Y\/N).<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Email_2_follow-up_3%E2%80%935_business_days_later\"><\/span>Email #2 (follow-up, 3\u20135 business days later)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><strong>Subject:<\/strong> Re: [role] in [location]<\/p>\n<p><strong>Body:<\/strong> &#8220;Bumping this in case it got buried. If you&#8217;re not interested, reply &#8216;pass&#8217; and I won&#8217;t follow up again.&#8221;<\/p>\n<p><strong>Log fields:<\/strong> same as Email #1; keep cadence identical across vendor arms.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Common_pitfalls\"><\/span>Common pitfalls<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<ul>\n<li><strong>Mixing metrics:<\/strong> treating &#8220;connected&#8221; and &#8220;answered&#8221; as the same. Keep Connect Rate (per 100 dials) separate from Answer Rate (per 100 connected calls) or you cannot diagnose the bottleneck.<\/li>\n<li><strong>Denominator drift:<\/strong> excluding certain dispositions, counting only &#8220;qualified&#8221; replies, or changing suppression rules mid-pilot without a change log.<\/li>\n<li><strong>Email pilots without sender hygiene:<\/strong> if SPF, DKIM, and DMARC are not aligned, you will blame the list for a sending problem.<\/li>\n<li><strong>Wrong-party inflation:<\/strong> counting clinic switchboards or unrelated people as &#8220;success.&#8221; Spot-check identity using NPI matching and recruiter notes.<\/li>\n<li><strong>Static-list thinking:<\/strong> a one-time list purchase decays. Evaluate vendors on access, refresh, verification, and suppression \u2014 not just the initial export.<\/li>\n<li><strong>Over-reading small samples:<\/strong> a narrow gap between vendors on a small sample is a tie. Extend the pilot before declaring a winner.<\/li>\n<\/ul>\n<h3><span class=\"ez-toc-section\" id=\"Disposition_taxonomy_use_the_same_labels_across_vendors\"><\/span>Disposition taxonomy (use the same labels across vendors)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ul>\n<li><strong>Phone:<\/strong> not_connected, connected_voicemail, connected_ivr, connected_human, wrong_party, opt_out<\/li>\n<li><strong>Email:<\/strong> delivered, hard_bounce, soft_bounce, reply_positive, reply_neutral, reply_negative, auto_reply, opt_out<\/li>\n<\/ul>\n<h2><span class=\"ez-toc-section\" id=\"How_to_improve_results\"><\/span>How to improve results<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<h3><span class=\"ez-toc-section\" id=\"Improve_phone_outcomes_without_just_dialing_more\"><\/span>Improve phone outcomes without just dialing more<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ul>\n<li><strong>Segment by number type:<\/strong> analyze mobile versus landline separately so you can see where connectability breaks.<\/li>\n<li><strong>Time-window discipline:<\/strong> compare Connect Rate and Answer Rate by local time block and keep blocks consistent across vendor arms.<\/li>\n<li><strong>Disposition hygiene:<\/strong> train recruiters on consistent dispositions so metrics remain comparable week to week.<\/li>\n<\/ul>\n<h3><span class=\"ez-toc-section\" id=\"Improve_email_outcomes_by_separating_list_quality_from_sending_quality\"><\/span>Improve email outcomes by separating list quality from sending quality<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ul>\n<li><strong>Pre-flight your domain:<\/strong> confirm SPF, DKIM, and DMARC alignment and monitor reputation signals before sending.<\/li>\n<li><strong>Suppress aggressively:<\/strong> suppress hard bounces, opt-outs, and non-personal role accounts.<\/li>\n<li><strong>Keep content stable during the pilot:<\/strong> you are testing data quality first.<\/li>\n<\/ul>\n<h3><span class=\"ez-toc-section\" id=\"Measurement_instructions\"><\/span>Measurement instructions<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ul>\n<li><strong>Export daily:<\/strong> one row per dial and one row per email send, including vendor_name, attempt_id, timestamp, and outcome fields.<\/li>\n<li><strong>Compute metrics with fixed denominators:<\/strong>\n<ul>\n<li>Connect Rate per 100 dials = (connected calls \/ total dials) \u00d7 100<\/li>\n<li>Answer Rate per 100 connected calls = (human answers \/ connected calls) \u00d7 100<\/li>\n<li>Deliverability Rate per 100 sent emails = (delivered emails \/ sent emails) \u00d7 100<\/li>\n<li>Bounce Rate per 100 sent emails = (bounced emails \/ sent emails) \u00d7 100<\/li>\n<li>Reply Rate per 100 delivered emails = (replies \/ delivered emails) \u00d7 100<\/li>\n<\/ul>\n<\/li>\n<li><strong>Variance check:<\/strong> compute each metric by day and by recruiter; investigate outliers before making a vendor decision.<\/li>\n<li><strong>ROI linkage (optional):<\/strong> keep contact-quality metrics separate from funnel outcomes such as screens, submittals, and interviews. For a structured approach, see <a href=\"http:\/\/heartbeat.ai\/resources\/recruiting-ops\/measure-contact-data-roi\/\">how to measure contact data ROI<\/a>.<\/li>\n<\/ul>\n<h2><span class=\"ez-toc-section\" id=\"Legal_and_ethical_use\"><\/span>Legal and ethical use<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Run pilots with the same compliance posture you would use in production. This is not legal advice \u2014 involve your counsel before launching outreach.<\/p>\n<ul>\n<li><strong>Phone:<\/strong> the TCPA restricts non-emergency calls made with an automatic telephone dialing system or an artificial or prerecorded voice to mobile numbers without the called party&#8217;s prior express consent, and consumers may revoke consent in any reasonable manner. Manual, recruiter-placed calls sit differently than automated campaigns, and several states have their own telemarketing laws that can be stricter than the federal rules \u2014 review your dialing setup with counsel. Reference: <a href=\"https:\/\/www.fcc.gov\/general\/telephone-consumer-protection-act-1991-tcpa\">FCC TCPA overview<\/a>.<\/li>\n<li><strong>Email:<\/strong> include required identification elements, honor opt-outs promptly, and avoid deceptive headers and subject lines. Reference: <a href=\"https:\/\/www.ftc.gov\/business-guidance\/resources\/can-spam-act-compliance-guide-business\">FTC CAN-SPAM guide<\/a>.<\/li>\n<li><strong>Opt-out precedence:<\/strong> suppression takes priority over any vendor-provided contact. If someone opts out, suppress them across all vendor arms.<\/li>\n<li><strong>Do not:<\/strong> bypass opt-outs, harass candidates, or use the pilot as a pretext to spam.<\/li>\n<\/ul>\n<h2><span class=\"ez-toc-section\" id=\"Evidence_and_trust_notes\"><\/span>Evidence and trust notes<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>This page is part of our trust cornerstone. For how we think about sourcing, verification, suppression, and reporting standards across the platform, see our <a href=\"http:\/\/heartbeat.ai\/resources\/trust-methodology\/\">trust methodology hub<\/a>.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Implementation_notes\"><\/span>Implementation notes<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ul>\n<li><strong>Monitor sending reputation:<\/strong> use <a href=\"https:\/\/postmaster.google.com\/\">Google Postmaster Tools<\/a> to watch domain reputation, spam rate, and delivery signals during pilots.<\/li>\n<li><strong>Sender authentication basics:<\/strong> confirm SPF is set correctly and align DKIM and DMARC as applicable. Reference: <a href=\"https:\/\/support.google.com\/a\/answer\/81126?hl=en\">Google Workspace Admin: Set up SPF<\/a>.<\/li>\n<li><strong>Email compliance context:<\/strong> <a href=\"https:\/\/www.ftc.gov\/business-guidance\/resources\/can-spam-act-compliance-guide-business\">CAN-SPAM compliance guide<\/a>.<\/li>\n<li><strong>Phone compliance context:<\/strong> <a href=\"https:\/\/www.fcc.gov\/general\/telephone-consumer-protection-act-1991-tcpa\">FCC TCPA overview<\/a>.<\/li>\n<\/ul>\n<p>If you are comparing vendors, use a structured rubric so you do not accidentally reward easy-to-count metrics over workflow outcomes. See <a href=\"http:\/\/heartbeat.ai\/resources\/provider-contact-data\/how-to-evaluate-provider-contact-data-vendors\/\">how to evaluate provider contact data vendors<\/a> and <a href=\"http:\/\/heartbeat.ai\/resources\/data-quality-verification\/\">data quality verification<\/a>.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"FAQs\"><\/span>FAQs<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<h3><span class=\"ez-toc-section\" id=\"Whats_the_difference_between_phone_connectability_and_phone_answer_outcomes\"><\/span>What&#8217;s the difference between phone connectability and phone answer outcomes?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Connectability is whether the call connects at all (Connect Rate = connected calls \/ total dials, per 100 dials). Answer outcomes are what happens after connection (Answer Rate = human answers \/ connected calls, per 100 connected calls). You need both to diagnose the bottleneck.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"What_does_%E2%80%9Cdelivered%E2%80%9D_mean_for_email\"><\/span>What does &#8220;delivered&#8221; mean for email?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Delivered means the receiving system accepted the message (Deliverability Rate = delivered emails \/ sent emails, per 100 sent emails). It does not guarantee inbox placement.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Can_a_vendor_guarantee_contact_data_quality\"><\/span>Can a vendor guarantee contact data quality?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>No. Contact data changes constantly, and outcomes depend on your outreach execution and compliance constraints. A credible vendor will show how they measure, refresh, verify, and suppress \u2014 then let you validate in your own workflow.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"How_do_we_run_a_fair_two-week_pilot_across_two_vendors\"><\/span>How do we run a fair two-week pilot across two vendors?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Pull samples at the same time, dedupe by NPI where possible, apply the same suppression rules, keep outreach content and cadence constant, and log one row per attempt with consistent dispositions. Then compare metrics by day and by recruiter.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Which_metrics_should_procurement_care_about\"><\/span>Which metrics should procurement care about?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Metrics that map to operational outcomes and can be audited: Connect Rate (per 100 dials), Answer Rate (per 100 connected calls), Deliverability Rate and Bounce Rate (per 100 sent emails), and Reply Rate (per 100 delivered emails). Pair those with documented limits and variability.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Next_steps\"><\/span>Next steps<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<ul>\n<li>Copy the pilot data dictionary and add the fields to your ATS\/CRM or a pilot spreadsheet. Start with <a href=\"http:\/\/heartbeat.ai\/resources\/recruiting-ops\/ats-field-schema-for-outreach-metrics\/\">ATS field schema for outreach metrics<\/a>.<\/li>\n<li>Run the sample pilot report template above and attach your attempt logs so the result is defensible.<\/li>\n<li>If you want to test Heartbeat.ai in your workflow, start here: <a href=\"https:\/\/heartbeat.ai\/signup\">create a Heartbeat.ai account<\/a>.<\/li>\n<\/ul>\n<h2><span class=\"ez-toc-section\" id=\"About_the_Author\"><\/span><strong>About the Author<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><a href=\"http:\/\/heartbeat.ai\/resources\/author\/ben-argeband\">Ben Argeband<\/a> is the Founder and CEO of Swordfish.ai and Heartbeat.ai. With deep expertise in data and SaaS, he has built two platforms trusted by over 50,000 sales and recruitment professionals. Ben&#8217;s mission is to help teams find direct contact information for hard-to-reach professionals and decision-makers, providing the shortest route to their next win. Connect with Ben on <a href=\"https:\/\/www.linkedin.com\/in\/ben-m-argeband-2427a8a3\/\">LinkedIn<\/a>.<\/p>","protected":false},"excerpt":{"rendered":"<p>A definitions-first playbook for testing provider phone and email data: fixed denominators, a fair two-week pilot, and a copy\/paste vendor report template.<\/p>","protected":false},"author":5,"featured_media":54136,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_custom_permalink":"trust-methodology\/how-we-test-contact-data-quality","footnotes":""},"categories":[1],"tags":[],"class_list":["post-54137","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\r\n<title>How We Test Contact Data Quality (Phone + Email) | Heartbeat.ai<\/title>\r\n<meta name=\"description\" content=\"A definitions-first playbook for testing contact data quality: phone connectability vs answer outcomes, email deliverability metrics, and a fair two-week pilot with a copy\/paste report template.\" \/>\r\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\r\n<link rel=\"canonical\" href=\"http:\/\/heartbeat.ai\/resources\/trust-methodology\/how-we-test-contact-data-quality\/\" \/>\r\n<meta property=\"og:locale\" content=\"en_US\" \/>\r\n<meta property=\"og:type\" content=\"article\" \/>\r\n<meta property=\"og:title\" content=\"How We Test Contact Data Quality (Phone + Email) | Heartbeat.ai\" \/>\r\n<meta property=\"og:description\" content=\"A definitions-first playbook for testing contact data quality: phone connectability vs answer outcomes, email deliverability metrics, and a fair two-week pilot with a copy\/paste report template.\" \/>\r\n<meta property=\"og:url\" content=\"http:\/\/heartbeat.ai\/resources\/trust-methodology\/how-we-test-contact-data-quality\/\" \/>\r\n<meta property=\"og:site_name\" content=\"Heartbeat.ai\" \/>\r\n<meta property=\"article:published_time\" content=\"2026-02-01T18:21:45+00:00\" \/>\r\n<meta property=\"article:modified_time\" content=\"2026-08-27T11:32:19+00:00\" \/>\r\n<meta property=\"og:image\" content=\"https:\/\/hc.heartbeat.ai\/wp-content\/uploads\/2026\/02\/how-we-test-contact-data-quality-55cb09be.png\" \/>\r\n\t<meta property=\"og:image:width\" content=\"1024\" \/>\r\n\t<meta property=\"og:image:height\" content=\"1024\" \/>\r\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\r\n<meta name=\"author\" content=\"Ben Argeband\" \/>\r\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\r\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Ben Argeband\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"15 minutes\" \/>\r\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"http:\\\/\\\/heartbeat.ai\\\/resources\\\/trust-methodology\\\/how-we-test-contact-data-quality\\\/#article\",\"isPartOf\":{\"@id\":\"http:\\\/\\\/heartbeat.ai\\\/resources\\\/trust-methodology\\\/how-we-test-contact-data-quality\\\/\"},\"author\":{\"name\":\"Ben Argeband\",\"@id\":\"http:\\\/\\\/heartbeat.ai\\\/resources\\\/#\\\/schema\\\/person\\\/7b323ddce9b211907423482e2f9db173\"},\"headline\":\"How We Test Contact Data Quality (Phone + Email) at Heartbeat.ai\",\"datePublished\":\"2026-02-01T18:21:45+00:00\",\"dateModified\":\"2026-08-27T11:32:19+00:00\",\"mainEntityOfPage\":{\"@id\":\"http:\\\/\\\/heartbeat.ai\\\/resources\\\/trust-methodology\\\/how-we-test-contact-data-quality\\\/\"},\"wordCount\":3069,\"commentCount\":0,\"publisher\":{\"@id\":\"http:\\\/\\\/heartbeat.ai\\\/resources\\\/#organization\"},\"image\":{\"@id\":\"http:\\\/\\\/heartbeat.ai\\\/resources\\\/trust-methodology\\\/how-we-test-contact-data-quality\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/hc.heartbeat.ai\\\/wp-content\\\/uploads\\\/2026\\\/02\\\/how-we-test-contact-data-quality-55cb09be.png\",\"articleSection\":[\"News\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"http:\\\/\\\/heartbeat.ai\\\/resources\\\/trust-methodology\\\/how-we-test-contact-data-quality\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"http:\\\/\\\/heartbeat.ai\\\/resources\\\/trust-methodology\\\/how-we-test-contact-data-quality\\\/\",\"url\":\"http:\\\/\\\/heartbeat.ai\\\/resources\\\/trust-methodology\\\/how-we-test-contact-data-quality\\\/\",\"name\":\"How We Test Contact Data Quality (Phone + Email) | Heartbeat.ai\",\"isPartOf\":{\"@id\":\"http:\\\/\\\/heartbeat.ai\\\/resources\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"http:\\\/\\\/heartbeat.ai\\\/resources\\\/trust-methodology\\\/how-we-test-contact-data-quality\\\/#primaryimage\"},\"image\":{\"@id\":\"http:\\\/\\\/heartbeat.ai\\\/resources\\\/trust-methodology\\\/how-we-test-contact-data-quality\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/hc.heartbeat.ai\\\/wp-content\\\/uploads\\\/2026\\\/02\\\/how-we-test-contact-data-quality-55cb09be.png\",\"datePublished\":\"2026-02-01T18:21:45+00:00\",\"dateModified\":\"2026-08-27T11:32:19+00:00\",\"description\":\"A definitions-first playbook for testing contact data quality: phone connectability vs answer outcomes, email deliverability metrics, and a fair two-week pilot with a copy\\\/paste report template.\",\"breadcrumb\":{\"@id\":\"http:\\\/\\\/heartbeat.ai\\\/resources\\\/trust-methodology\\\/how-we-test-contact-data-quality\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"http:\\\/\\\/heartbeat.ai\\\/resources\\\/trust-methodology\\\/how-we-test-contact-data-quality\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"http:\\\/\\\/heartbeat.ai\\\/resources\\\/trust-methodology\\\/how-we-test-contact-data-quality\\\/#primaryimage\",\"url\":\"http:\\\/\\\/hc.heartbeat.ai\\\/wp-content\\\/uploads\\\/2026\\\/02\\\/how-we-test-contact-data-quality-55cb09be.png\",\"contentUrl\":\"http:\\\/\\\/hc.heartbeat.ai\\\/wp-content\\\/uploads\\\/2026\\\/02\\\/how-we-test-contact-data-quality-55cb09be.png\",\"width\":1024,\"height\":1024},{\"@type\":\"BreadcrumbList\",\"@id\":\"http:\\\/\\\/heartbeat.ai\\\/resources\\\/trust-methodology\\\/how-we-test-contact-data-quality\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"http:\\\/\\\/heartbeat.ai\\\/resources\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How We Test Contact Data Quality (Phone + Email) at Heartbeat.ai\"}]},{\"@type\":\"WebSite\",\"@id\":\"http:\\\/\\\/heartbeat.ai\\\/resources\\\/#website\",\"url\":\"http:\\\/\\\/heartbeat.ai\\\/resources\\\/\",\"name\":\"Heartbeat.ai\",\"description\":\"\",\"publisher\":{\"@id\":\"http:\\\/\\\/heartbeat.ai\\\/resources\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"http:\\\/\\\/heartbeat.ai\\\/resources\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"http:\\\/\\\/heartbeat.ai\\\/resources\\\/#organization\",\"name\":\"Heartbeat.ai\",\"url\":\"http:\\\/\\\/heartbeat.ai\\\/resources\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"http:\\\/\\\/heartbeat.ai\\\/resources\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/hc.heartbeat.ai\\\/wp-content\\\/uploads\\\/2021\\\/04\\\/Heartbeat.ai-logo.png\",\"contentUrl\":\"https:\\\/\\\/hc.heartbeat.ai\\\/wp-content\\\/uploads\\\/2021\\\/04\\\/Heartbeat.ai-logo.png\",\"width\":704,\"height\":126,\"caption\":\"Heartbeat.ai\"},\"image\":{\"@id\":\"http:\\\/\\\/heartbeat.ai\\\/resources\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"http:\\\/\\\/heartbeat.ai\\\/resources\\\/#\\\/schema\\\/person\\\/7b323ddce9b211907423482e2f9db173\",\"name\":\"Ben Argeband\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/9cdd6acf262740ced0b6a1c76378e93640df32a98d2f4d29507f31fbce6817e7?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/9cdd6acf262740ced0b6a1c76378e93640df32a98d2f4d29507f31fbce6817e7?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/9cdd6acf262740ced0b6a1c76378e93640df32a98d2f4d29507f31fbce6817e7?s=96&d=mm&r=g\",\"caption\":\"Ben Argeband\"},\"url\":\"http:\\\/\\\/heartbeat.ai\\\/resources\\\/author\\\/ben-argeband\\\/\"}]}<\/script>\r\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How We Test Contact Data Quality (Phone + Email) | Heartbeat.ai","description":"A definitions-first playbook for testing contact data quality: phone connectability vs answer outcomes, email deliverability metrics, and a fair two-week pilot with a copy\/paste report template.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"http:\/\/heartbeat.ai\/resources\/trust-methodology\/how-we-test-contact-data-quality\/","og_locale":"en_US","og_type":"article","og_title":"How We Test Contact Data Quality (Phone + Email) | Heartbeat.ai","og_description":"A definitions-first playbook for testing contact data quality: phone connectability vs answer outcomes, email deliverability metrics, and a fair two-week pilot with a copy\/paste report template.","og_url":"http:\/\/heartbeat.ai\/resources\/trust-methodology\/how-we-test-contact-data-quality\/","og_site_name":"Heartbeat.ai","article_published_time":"2026-02-01T18:21:45+00:00","article_modified_time":"2026-08-27T11:32:19+00:00","og_image":[{"width":1024,"height":1024,"url":"https:\/\/hc.heartbeat.ai\/wp-content\/uploads\/2026\/02\/how-we-test-contact-data-quality-55cb09be.png","type":"image\/png"}],"author":"Ben Argeband","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Ben Argeband","Est. reading time":"15 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"http:\/\/heartbeat.ai\/resources\/trust-methodology\/how-we-test-contact-data-quality\/#article","isPartOf":{"@id":"http:\/\/heartbeat.ai\/resources\/trust-methodology\/how-we-test-contact-data-quality\/"},"author":{"name":"Ben Argeband","@id":"http:\/\/heartbeat.ai\/resources\/#\/schema\/person\/7b323ddce9b211907423482e2f9db173"},"headline":"How We Test Contact Data Quality (Phone + Email) at Heartbeat.ai","datePublished":"2026-02-01T18:21:45+00:00","dateModified":"2026-08-27T11:32:19+00:00","mainEntityOfPage":{"@id":"http:\/\/heartbeat.ai\/resources\/trust-methodology\/how-we-test-contact-data-quality\/"},"wordCount":3069,"commentCount":0,"publisher":{"@id":"http:\/\/heartbeat.ai\/resources\/#organization"},"image":{"@id":"http:\/\/heartbeat.ai\/resources\/trust-methodology\/how-we-test-contact-data-quality\/#primaryimage"},"thumbnailUrl":"http:\/\/hc.heartbeat.ai\/wp-content\/uploads\/2026\/02\/how-we-test-contact-data-quality-55cb09be.png","articleSection":["News"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["http:\/\/heartbeat.ai\/resources\/trust-methodology\/how-we-test-contact-data-quality\/#respond"]}]},{"@type":"WebPage","@id":"http:\/\/heartbeat.ai\/resources\/trust-methodology\/how-we-test-contact-data-quality\/","url":"http:\/\/heartbeat.ai\/resources\/trust-methodology\/how-we-test-contact-data-quality\/","name":"How We Test Contact Data Quality (Phone + Email) | Heartbeat.ai","isPartOf":{"@id":"http:\/\/heartbeat.ai\/resources\/#website"},"primaryImageOfPage":{"@id":"http:\/\/heartbeat.ai\/resources\/trust-methodology\/how-we-test-contact-data-quality\/#primaryimage"},"image":{"@id":"http:\/\/heartbeat.ai\/resources\/trust-methodology\/how-we-test-contact-data-quality\/#primaryimage"},"thumbnailUrl":"http:\/\/hc.heartbeat.ai\/wp-content\/uploads\/2026\/02\/how-we-test-contact-data-quality-55cb09be.png","datePublished":"2026-02-01T18:21:45+00:00","dateModified":"2026-08-27T11:32:19+00:00","description":"A definitions-first playbook for testing contact data quality: phone connectability vs answer outcomes, email deliverability metrics, and a fair two-week pilot with a copy\/paste report template.","breadcrumb":{"@id":"http:\/\/heartbeat.ai\/resources\/trust-methodology\/how-we-test-contact-data-quality\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["http:\/\/heartbeat.ai\/resources\/trust-methodology\/how-we-test-contact-data-quality\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"http:\/\/heartbeat.ai\/resources\/trust-methodology\/how-we-test-contact-data-quality\/#primaryimage","url":"http:\/\/hc.heartbeat.ai\/wp-content\/uploads\/2026\/02\/how-we-test-contact-data-quality-55cb09be.png","contentUrl":"http:\/\/hc.heartbeat.ai\/wp-content\/uploads\/2026\/02\/how-we-test-contact-data-quality-55cb09be.png","width":1024,"height":1024},{"@type":"BreadcrumbList","@id":"http:\/\/heartbeat.ai\/resources\/trust-methodology\/how-we-test-contact-data-quality\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"http:\/\/heartbeat.ai\/resources\/"},{"@type":"ListItem","position":2,"name":"How We Test Contact Data Quality (Phone + Email) at Heartbeat.ai"}]},{"@type":"WebSite","@id":"http:\/\/heartbeat.ai\/resources\/#website","url":"http:\/\/heartbeat.ai\/resources\/","name":"Heartbeat.ai","description":"","publisher":{"@id":"http:\/\/heartbeat.ai\/resources\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"http:\/\/heartbeat.ai\/resources\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"http:\/\/heartbeat.ai\/resources\/#organization","name":"Heartbeat.ai","url":"http:\/\/heartbeat.ai\/resources\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"http:\/\/heartbeat.ai\/resources\/#\/schema\/logo\/image\/","url":"https:\/\/hc.heartbeat.ai\/wp-content\/uploads\/2021\/04\/Heartbeat.ai-logo.png","contentUrl":"https:\/\/hc.heartbeat.ai\/wp-content\/uploads\/2021\/04\/Heartbeat.ai-logo.png","width":704,"height":126,"caption":"Heartbeat.ai"},"image":{"@id":"http:\/\/heartbeat.ai\/resources\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"http:\/\/heartbeat.ai\/resources\/#\/schema\/person\/7b323ddce9b211907423482e2f9db173","name":"Ben Argeband","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/9cdd6acf262740ced0b6a1c76378e93640df32a98d2f4d29507f31fbce6817e7?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/9cdd6acf262740ced0b6a1c76378e93640df32a98d2f4d29507f31fbce6817e7?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/9cdd6acf262740ced0b6a1c76378e93640df32a98d2f4d29507f31fbce6817e7?s=96&d=mm&r=g","caption":"Ben Argeband"},"url":"http:\/\/heartbeat.ai\/resources\/author\/ben-argeband\/"}]}},"_links":{"self":[{"href":"http:\/\/heartbeat.ai\/resources\/wp-json\/wp\/v2\/posts\/54137","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/heartbeat.ai\/resources\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/heartbeat.ai\/resources\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/heartbeat.ai\/resources\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"http:\/\/heartbeat.ai\/resources\/wp-json\/wp\/v2\/comments?post=54137"}],"version-history":[{"count":6,"href":"http:\/\/heartbeat.ai\/resources\/wp-json\/wp\/v2\/posts\/54137\/revisions"}],"predecessor-version":[{"id":65410,"href":"http:\/\/heartbeat.ai\/resources\/wp-json\/wp\/v2\/posts\/54137\/revisions\/65410"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/heartbeat.ai\/resources\/wp-json\/wp\/v2\/media\/54136"}],"wp:attachment":[{"href":"http:\/\/heartbeat.ai\/resources\/wp-json\/wp\/v2\/media?parent=54137"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/heartbeat.ai\/resources\/wp-json\/wp\/v2\/categories?post=54137"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/heartbeat.ai\/resources\/wp-json\/wp\/v2\/tags?post=54137"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}