healthcare emails: remove prices, fix click tracking, de-risk claims
Diagnosing zero healthcare sales (11k sent, 5479 opens, 0 clicks, 0 orders).
Root cause of clicks=0: Listmonk only registers a link for tracking when the
href ends with the literal @TrackLink marker; all 10 hc templates lacked it
(trucking/CRTC have it). So the entire funnel was unmeasurable below 'open'.
Changes:
- Click tracking: append @TrackLink + UTM to every /order/ CTA across all 10
templates (external gov self-verify links left untracked on purpose).
- Remove all service prices from emails (99/49/49/99yr/9mo). Price is
now revealed on the order page after value is established; catalog
(api/src/service-catalog.ts) stays source of truth. Kept the 0,000 OIG
penalty stat (regulatory fact, not our price). Added a neutral 'flat fee shown
up front' reassurance block where the fee table used to be.
- Compliance/honesty: the nppes_outdated email asserted a per-record
'FLAGGED OUT OF DATE / detected' status, but its selector only checks
deliverability and the data has no NPPES last-updated field -> unsubstantiated
for every recipient. Reframed to a generally-true periodic-attestation message
('PERIODIC REVIEW REQUIRED', 'most practices drift out of date'). Same hedging
applied to npi_reactivation ('may be deactivated ... confirm on official
sources'). Substantiated reval 'past due' claims (backed by the public CMS
Revalidation list) were kept.
- Fixed stale $299 OIG metadata in build script -> $79/mo (reference only).
Docs: docs/healthcare-competitive-pricing.md (benchmark research) and
docs/healthcare-email-compliance-review.md (CAN-SPAM / FTC / impersonation pass;
flags SOC2/HIPAA/PCI badge claims for owner confirmation).
Verified headless: all 10 render with 0 JS errors, exactly 1 tracked CTA each,
no price leaks.
This commit is contained in:
parent
9a9b0b9130
commit
d8e3e40dda
13 changed files with 256 additions and 48 deletions
126
docs/healthcare-competitive-pricing.md
Normal file
126
docs/healthcare-competitive-pricing.md
Normal file
|
|
@ -0,0 +1,126 @@
|
|||
# Healthcare services — competitive pricing research
|
||||
|
||||
**Date:** 2026-06-20
|
||||
**Purpose:** Benchmark our healthcare compliance prices against what other firms
|
||||
charge, to inform email copy (price removal), landing-page pricing, and offer design.
|
||||
|
||||
## Methodology & honest caveat
|
||||
|
||||
Automated web search (Google / Bing / DuckDuckGo) and direct vendor-page scraping
|
||||
were attempted and largely **bot-blocked**, and nearly every specialist firm
|
||||
(ProviderTrust, Verisys, Streamline Verify, Exclusion Screening LLC, most
|
||||
credentialing companies) **gates pricing behind a "schedule a call" sales motion**.
|
||||
That gating is itself a signal: this market is sales-led and quote-based, which is
|
||||
exactly the friction our flat-fee, no-login, self-serve checkout is designed to
|
||||
undercut.
|
||||
|
||||
The figures below are from **established market knowledge** of the healthcare
|
||||
credentialing / compliance space, with **confidence levels marked**. Specific
|
||||
vendor quotes were NOT fabricated — where a number could not be verified live it
|
||||
is presented as a market range, not a vendor-attributed price. Government fees
|
||||
(CLIA) are public but the CMS pages are JS-rendered and did not scrape cleanly;
|
||||
amounts below are flagged for re-verification.
|
||||
|
||||
> **Action item:** when we can get live quotes (mystery-shop a few competitors, or
|
||||
> pull their gated PDFs), replace the ranges here with sourced, dated, vendor-named
|
||||
> figures.
|
||||
|
||||
## Our current prices (source of truth: `api/src/service-catalog.ts`)
|
||||
|
||||
| Service | Slug | Our price | Billing |
|
||||
|---|---|---:|---|
|
||||
| Medicare PECOS Revalidation | `npi-revalidation` | **$599** | one-time |
|
||||
| Medicare Enrollment (PECOS) | `medicare-enrollment` | **$699** | one-time |
|
||||
| NPI Reactivation | `npi-reactivation` | **$449** | one-time |
|
||||
| NPPES Data Update / Attestation | `nppes-update` | **$349** | one-time |
|
||||
| CLIA Certificate Renewal | `clia-renewal` | **$449** | one-time (+ govt fee) |
|
||||
| OIG/SAM Exclusion Screening | `oig-sam-screening` | **$79** | **per month** (recurring) |
|
||||
| Provider Compliance Bundle (Annual) | `provider-compliance-bundle` | **$899** | per year |
|
||||
|
||||
> Note: the build script `scripts/build_healthcare_campaigns.py` SEGMENTS dict had
|
||||
> a stale `"price": "$299"` for OIG — that is **dead metadata** not used at
|
||||
> checkout (catalog says $79/mo). Worth cleaning up to avoid confusion, but it
|
||||
> never affected what a customer was charged.
|
||||
|
||||
## Benchmarks by service
|
||||
|
||||
### 1. Medicare Revalidation / PECOS enrollment filing — our $599 / $699
|
||||
- **Market:** credentialing/enrollment firms typically charge **~$200-$500 per
|
||||
provider, per payer** for enrollment, often inside a broader credentialing
|
||||
retainer. Medicare-specific revalidation a-la-carte commonly **~$150-$400**;
|
||||
full new Medicare enrollment (855I/855B) often **~$300-$600**. Many bill hourly
|
||||
($50-$150/hr) inside a retainer rather than flat.
|
||||
- **Verdict:** our $599 reval / $699 enrollment is **at or slightly above** the
|
||||
a-la-carte midpoint, but **defensible** as flat-fee, no-login, done-for-you,
|
||||
single provider. Confidence: **medium-high** (the per-payer model is well
|
||||
established).
|
||||
|
||||
### 2. OIG/SAM exclusion screening — our $79/month ← most mispriced
|
||||
- **Market:** specialist exclusion monitoring is almost always **per-covered-life /
|
||||
per-employee, per-month**, roughly **$1-$3 per name per month**, often with
|
||||
**annual minimums ~$300-$1,000+** for a small practice. One-time single-name
|
||||
searches run **~$5-$15**.
|
||||
- **Verdict:** a flat **$79/month for the whole practice** is **cheap-to-mid** for a
|
||||
10+ person office but potentially **expensive for a solo provider** screening
|
||||
1-3 names — who can DIY free on the public LEIE / SAM.gov sites (which our own
|
||||
email tells them to do). The flat model is fine; the **recurring** ask is the
|
||||
hard part in cold email vs the perceived free-DIY alternative. Confidence:
|
||||
**medium-high** on the per-life model.
|
||||
|
||||
### 3. NPPES / NPI update — our $349 ← looks high
|
||||
- **Market:** NPI registration/update is **commodity work**; services that file NPI
|
||||
applications charge roughly **$50-$200**, and some credentialing firms bundle it
|
||||
**free** with enrollment.
|
||||
- **Verdict:** **$349 for an NPPES update looks high** relative to perceived effort
|
||||
(the provider knows NPPES is a free government portal). Widest price-to-perceived-
|
||||
value gap of any item → likely a conversion drag. Confidence: **medium**.
|
||||
|
||||
### 4. NPI reactivation — our $449
|
||||
- **Market:** tied to restoring Medicare billing; more defensible than a plain
|
||||
update because the stakes (claims paying again) are high. Comparable to a reval
|
||||
filing in effort. Confidence: **medium**.
|
||||
|
||||
### 5. CLIA renewal — our $449 service fee (+ government fee, separate)
|
||||
- **Government CLIA certificate fee** (paid to CMS, separate from any service fee):
|
||||
Certificate of Waiver / PPM historically **~$180**; Certificate of
|
||||
Compliance/Accreditation **scales with annual test volume from ~$180 up to
|
||||
several thousand**. *(Re-verify current amounts on the CMS CLIA fee schedule —
|
||||
CMS updates them; page is JS-rendered and did not scrape cleanly.)*
|
||||
- **Verdict:** a **$449 service fee** to prepare/submit the CMS-116 is reasonable,
|
||||
**but the email/landing copy must make clear it's on top of the government fee**.
|
||||
Confidence: **high** that a separate govt fee exists; **medium** on exact current
|
||||
amounts.
|
||||
|
||||
## Synthesized ranges (low / typical / high)
|
||||
|
||||
| Service | Market low | Market typical | Market high | Ours | Read |
|
||||
|---|---:|---:|---:|---:|---|
|
||||
| Medicare revalidation (a-la-carte) | $150 | $250-350 | $500 | **$599** | slightly high, defensible (flat, no-login) |
|
||||
| Medicare new enrollment | $300 | $400-500 | $600+ | **$699** | top of range; justify with done-for-you |
|
||||
| NPI reactivation | $150 | $300 | $500 | **$449** | upper-mid, OK (billing at stake) |
|
||||
| NPPES/NPI update | $50 | $100-150 | $200 | **$349** | **high vs perceived value** |
|
||||
| CLIA renewal service fee | $150 | $300 | $600 | **$449** | mid; must separate govt fee |
|
||||
| OIG/SAM screening (small practice) | ~$25/mo | ~$50-100/mo | $300+/mo (per-life) | **$79/mo** | mid, but recurring = hard cold ask |
|
||||
|
||||
## Takeaways for the campaign
|
||||
|
||||
1. **Removing price from the cold email is the right call** — it kills the biggest
|
||||
objection at the worst moment, lets price be revealed on the landing page after
|
||||
value is established, and sidesteps NPPES/OIG sticker shock. Catalog prices stay
|
||||
the source of truth at checkout.
|
||||
2. **Best-priced / most defensible:** revalidation ($599), reactivation ($449),
|
||||
CLIA ($449) sit at sensible levels.
|
||||
3. **Mispriced-feeling (review):** NPPES update **$349** reads high for "update a
|
||||
free form"; OIG **$79/mo recurring** competes against free DIY. Consider a lower
|
||||
NPPES anchor or a one-time OIG option as an entry product.
|
||||
4. **Differentiator to lean on:** competitors are sales-led and quote-gated. Our
|
||||
edge is **transparent flat pricing + no-login done-for-you + instant checkout**.
|
||||
That should be the wedge, not undercutting on raw price.
|
||||
|
||||
## Confidence summary
|
||||
- Per-payer credentialing model & ranges: **medium-high**
|
||||
- Exclusion-screening per-life model: **medium-high**
|
||||
- NPI update being commodity-cheap: **medium**
|
||||
- Exact CLIA government fee amounts: **medium (re-verify on CMS)**
|
||||
- All specific dollar figures: **ranges, not vendor-attributed quotes** — upgrade
|
||||
with live mystery-shopping when possible.
|
||||
98
docs/healthcare-email-compliance-review.md
Normal file
98
docs/healthcare-email-compliance-review.md
Normal file
|
|
@ -0,0 +1,98 @@
|
|||
# Healthcare cold-email compliance review (2026-06-20)
|
||||
|
||||
Reviewed all 10 templates in `data/hc_campaigns/` after removing prices, fixing
|
||||
click tracking, and de-risking unsubstantiated status claims.
|
||||
|
||||
## Scope of the pass
|
||||
1. **Removed all service prices** from the emails (price is now revealed on the
|
||||
order page, after value is established). Catalog (`api/src/service-catalog.ts`)
|
||||
remains the source of truth.
|
||||
2. **Fixed click tracking** — appended `@TrackLink` + UTM to every conversion CTA
|
||||
(root cause of clicks=0; Listmonk only registers links with that marker).
|
||||
3. **Reframed unsubstantiated per-record status assertions** to honest, hedged,
|
||||
generally-true statements (defamation / FTC-deception risk).
|
||||
4. This compliance review.
|
||||
|
||||
## Compliance posture — item by item
|
||||
|
||||
### CAN-SPAM (US) — PASS
|
||||
- **Physical postal address** present in every footer (Performance West Inc., 525
|
||||
Randall Ave Ste 100-1195, Cheyenne, WY 82001). ✓
|
||||
- **Unsubscribe** present in every template + `List-Unsubscribe` /
|
||||
`List-Unsubscribe-Post` one-click headers set by the build script. ✓
|
||||
- **No deceptive subject lines** — subjects are hedged ("may be out of date",
|
||||
"appears deactivated", "Are you screening for…"). ✓
|
||||
- **Accurate From / Reply-To** — `FROM_EMAIL` / `REPLY_TO` real, monitored. ✓
|
||||
|
||||
### Truth-in-advertising / FTC deception — FIXED
|
||||
The biggest risk was **asserting a specific provider's record status as fact when
|
||||
we don't actually measure it**. Addressed:
|
||||
|
||||
| Template | Was | Now |
|
||||
|---|---|---|
|
||||
| `nppes_outdated` | "record … appears **out of date**", header "Outdated registry information **detected**", row "**FLAGGED OUT OF DATE**", footnote "Staleness **flagged by our compliance monitoring**" | General true statement ("most practices drift out of date over time"), header "NPPES Data Check / keep your record current & attested", row "**PERIODIC REVIEW REQUIRED**", footnote cites the real CMS periodic-attestation requirement |
|
||||
| `npi_reactivation` | header "Deactivated enrollment **detected**", body "**flagged** … as deactivated" | header "Provider Enrollment Check", body "**may be** deactivated … worth confirming on the official sources" |
|
||||
|
||||
**Why this matters:** the `nppes_outdated` audience selector (`institutional_verified`)
|
||||
only checks **deliverability**, never staleness — and the harvested data has **no
|
||||
NPPES last-updated field**, so a per-record "out of date / FLAGGED" claim was
|
||||
literally unsubstantiated for every recipient. Now the copy is true for everyone
|
||||
(CMS does require periodic NPPES attestation) and still invites them to self-verify.
|
||||
|
||||
### Substantiated claims that were KEPT (verified backed by data)
|
||||
- `revalidation_overdue` "**is past due** / PAST DUE · N days overdue" — **OK**: the
|
||||
`reval_overdue` selector requires `reval_status == "overdue"` AND a real overdue
|
||||
day count derived from the **public CMS Revalidation Due Date List**. The email
|
||||
also links the provider to that exact government list to self-verify. Legitimate.
|
||||
- `revalidation_due_soon` "deadline is coming up" — backed by `reval_status ==
|
||||
"upcoming"` from the same CMS list. ✓
|
||||
- OIG "**civil monetary penalties up to $20,000 per claim**" — this is a real OIG
|
||||
penalty figure (kept; it is a regulatory fact, not a price). ✓
|
||||
|
||||
### Government-affiliation / impersonation — PASS
|
||||
- Every template carries the disclaimer **"Performance West is an independent
|
||||
compliance firm, not affiliated with CMS / Medicare / OIG / SAM.gov."** ✓
|
||||
- "Official record · CMS Medicare Revalidation Due Date List" refers to the **CMS
|
||||
public dataset we cite** (and link to), not a claim that we are CMS. The
|
||||
"Don't take our word for it — check the official CMS record" framing reinforces
|
||||
that we are pointing them AT the government source, not posing as it. ✓
|
||||
- No CMS/HHS logos, seals, or government-lookalike sender identity. ✓
|
||||
|
||||
### "No-login / done-for-you" claims — PASS (already vetted)
|
||||
- Matches the verified capability map in `docs/healthcare-no-login-value-add.md`
|
||||
and `docs/healthcare-filing-tiers-verified.md`. The one honesty caveat (the
|
||||
provider must personally **sign** the 855; we cannot sign for them) is respected:
|
||||
copy says "the only thing we may need is a one-minute e-signature," never claims
|
||||
we sign on their behalf. ✓
|
||||
|
||||
### Guarantee / absolute-language scan — ACCEPTABLE
|
||||
Scanner flagged `guarantee / never / 100% / will not`. Reviewed in context — all
|
||||
benign and substantiable:
|
||||
- "**100% satisfaction guarantee**" + "we'll make it right" — standard puffery /
|
||||
service promise, paired with "fixed pricing, no billable hours." Acceptable.
|
||||
- "You **never** share your password / you **will not** pay billable hours" —
|
||||
factual descriptions of how the service works, not outcome guarantees. ✓
|
||||
- No claims guaranteeing a CMS approval/outcome (which WOULD be a problem). ✓
|
||||
|
||||
### Trust/credibility badges — VERIFY (flag for owner)
|
||||
Footers assert **"SOC 2 Type II hosting · HIPAA & PCI compliant · 256-bit TLS."**
|
||||
These are factual compliance claims and must be **literally true**:
|
||||
- ⚠️ **Action for Justin:** confirm we can substantiate SOC 2 Type II + HIPAA + PCI
|
||||
(or soften to "encrypted, secure Stripe payments" if any is aspirational). False
|
||||
compliance badges are an FTC and contractual risk. Not changed in this pass —
|
||||
needs owner confirmation.
|
||||
|
||||
## HTML / deliverability QA — PASS
|
||||
- All 10 templates render with **0 JS errors** headless, each has **exactly one
|
||||
tracked `/order/...@TrackLink` CTA**, and **no price leaks** (only the $20,000
|
||||
OIG penalty stat remains, intentionally).
|
||||
- External self-verify links (oig.hhs.gov, sam.gov, npiregistry, data.cms.gov) left
|
||||
**untracked** on purpose (they're trust links, not conversions).
|
||||
|
||||
## Outstanding (not blocking, recommended next)
|
||||
1. **Confirm SOC 2 / HIPAA / PCI badge claims** are literally true (above).
|
||||
2. **OIG $79/mo & NPPES $349 pricing** flagged as high/hard in
|
||||
`docs/healthcare-competitive-pricing.md` — consider a one-time OIG entry option
|
||||
and a lower NPPES anchor. (Pricing strategy, separate from compliance.)
|
||||
3. **Add the free `/tools/npi-compliance-check`** as a soft secondary CTA / lead
|
||||
magnet so non-buyers are captured and nurtured (funnel, separate effort).
|
||||
Loading…
Add table
Add a link
Reference in a new issue