Listmonk @TrackLink registers ONE static URL per tracked link and points
every recipient's /link/<uuid> redirect at it. On per-subscriber hrefs
({{ lp_link }}, ?dot=, ?npi=, ?clia=) this is doubly broken:
- the registered links.url was captured before the {{ lp_link }} token
rendered, yielding /order/slug&utm_source=... (first &, no ?) -> 404
- even when valid it collapses every carrier/provider onto the first
subscriber's dot/npi/clia value
Real human clicks are already tracked via Umami campaign-click (bot
filtered), so Listmonk link tracking here is redundant and destructive.
Stripped @TrackLink from per-subscriber CTAs:
- scripts/create_deficiency_source_campaigns.py (_cta, _dot_check_cta)
- data/trucking_campaigns/{ucr,ifta}_*.html
- data/hc_campaigns/*.html (10 templates)
Static CTAs (e.g. CRTC ?code= order link) keep @TrackLink (safe).
Live fix to the 10 broken registered links.url rows applied separately
(first & -> ?), backup in listmonk.pw_links_dkim_fix_bak_20260622.
Docs: new runbook incident section + corrected the disproven
'use @TrackLink on all CTAs' guidance in fmcsa/hc plans.
12 KiB
12 KiB
FMCSA / Trucking Compliance Services — Product Plan
Market Overview
- 2,077,308 total motor carriers in FMCSA census
- 1,584,234 with email addresses (76%)
- 29,113 with overdue MCS-150 (biennial update >2 years old) and email
- 97% of carriers have fewer than 20 trucks — small operators who can't be bothered with paperwork
Phase 1: Compliance Checker + Data Pipeline (DONE)
Completed
fmcsa_carrierstable (migration 078)- Socrata data downloader (
scripts/workers/fmcsa_census_downloader.py) - FMCSA QCMobile API integration (web key registered)
- API route:
GET /api/v1/dot/lookup?dot=XXXXXX— 7 compliance checks - API route:
GET /api/v1/dot/search?name=Acme— name search - Frontend:
/tools/dot-compliance-check— full site chrome, orange theme - Homepage: orange banner + "Five areas" with Trucking/DOT card
- API access restricted (nginx — public endpoints only, admin blocked)
Current Checks (from FMCSA QCMobile API)
| Check | Source | Status |
|---|---|---|
| Operating status (allowed to operate Y/N) | FMCSA API | ✅ Live |
| MCS-150 biennial update (overdue detection) | Census + API | ✅ Live |
| Insurance filing (BIPD, cargo, bond) | FMCSA API | ✅ Live |
| Safety rating (S/C/U) | FMCSA API | ✅ Live |
| Operating authority (common/contract/broker) | FMCSA API | ✅ Live |
| Out-of-service rate vs national average | FMCSA API | ✅ Live |
| Crash record (fatal/injury/total) | FMCSA API | ✅ Live |
Phase 2: Additional Compliance Checks
UCR (Unified Carrier Registration) — HIGH PRIORITY
- What: Annual registration + fee ($59–$7,511 based on fleet size)
- Who: All interstate for-hire carriers, brokers, freight forwarders
- Penalty: Vehicles placed out of service at roadside inspection
- Data source: ucr.gov — no public API, requires scraping individual lookups
- Implementation: Playwright scraper to check UCR status by DOT#, add as check in the compliance checker
- Revenue opportunity: UCR filing service ($49–99 per carrier per year)
IFTA (International Fuel Tax Agreement) — MEDIUM
- What: Quarterly fuel tax returns + decals for multi-jurisdiction carriers
- Who: Carriers operating in 2+ IFTA jurisdictions
- Penalty: Fines + inability to operate in non-base jurisdictions
- Data source: State-level — no central database. Would need to ask during intake.
- Implementation: Informational check based on carrier operation type (interstate = likely needs IFTA)
- Revenue opportunity: IFTA quarterly filing service ($99–199/quarter)
IRP (International Registration Plan) — MEDIUM
- What: Apportioned plates/registration for multi-state CMV operation
- Who: Interstate carriers (vehicles >26,000 lbs or 3+ axles)
- Data source: State-level — no central database
- Implementation: Informational check based on carrier type
- Revenue opportunity: IRP registration service ($149–299)
Drug & Alcohol Testing Program — HIGH VALUE
- What: DOT-mandated random drug/alcohol testing pool, written policy, MRO, DER
- Who: Every carrier with CDL drivers (basically everyone)
- Penalty: Driver disqualification, carrier placed out of service, fines up to $16,000/violation
- Data source: No public database — self-certified compliance
- Implementation: Not a "check" — this is a service offering. Sell enrollment in a testing consortium + written policy + compliance binder.
- Revenue opportunity: $199/year per carrier (consortium enrollment + policy) — RECURRING
- Partners needed: Third-party testing consortium (e.g., DISA, US Drug Testing Labs, National Drug Screening)
New Entrant Safety Audit Prep — MEDIUM VALUE
- What: New carriers must pass an FMCSA safety audit within 18 months
- Who: Carriers with DOT authority issued in the last 18 months
- Data source: SAFER shows
add_datein census — can filter for recent registrations - Implementation: Filter census for
add_datewithin last 18 months, target with audit prep service - Revenue opportunity: Safety audit prep package ($299–499)
ELD (Electronic Logging Device) — LOW PRIORITY
- What: Must use FMCSA-registered ELD for hours of service tracking
- Who: Nearly all CMV operators (exemptions for short-haul, older vehicles)
- Data source: FMCSA publishes registered ELD device list, but no per-carrier compliance data
- Implementation: Informational only — cannot verify compliance externally
- Revenue opportunity: Low — ELD compliance is mostly handled by device vendors
Hazmat (HM-232 / PHMSA) — NICHE
- What: PHMSA registration + security plan for hazmat carriers
- Who: Carriers hauling hazardous materials (hm_flag=true in census)
- Data source: PHMSA has lookup, not in FMCSA API. Census has
hm_flagfield. - Implementation: Flag hazmat carriers and offer PHMSA registration check
- Revenue opportunity: Hazmat compliance package ($399–799)
State-Level Permits & Registrations
| State Filing | States | Data Available | Priority |
|---|---|---|---|
| Overweight/oversize permits | All 50 | State DOT websites | Low — too fragmented |
| State motor carrier tax | ~12 states (CA, OR, NM, NY, KY, etc.) | State comptroller sites | Medium — target high-volume states |
| State DOT registration | Varies | State DMV/DOT systems | Low |
| Unified Carrier Registration (state enforcement) | 41 participating states | ucr.gov | High — covered in UCR above |
| CARB (California Air Resources Board) | CA only | CARB TRU lookup | Medium — big market, one state |
| Oregon weight-mile tax | OR only | ODOT system | Low |
| New York HUT (Highway Use Tax) | NY only | NY DTF system | Low |
| Kentucky KYU / weight distance tax | KY only | KY DOR system | Low |
| New Mexico weight distance tax | NM only | NM MVD system | Low |
Recommended state-level focus: California (CARB) — largest market, real enforcement, public lookup available.
Phase 3: Service Catalog & Pricing
Services to Add to compliance-orders.ts
| Service | Slug | Price | Gov Fee | Notes |
|---|---|---|---|---|
| MCS-150 Biennial Update | mcs150-update |
$79 | $0 | Filed online via SAFER |
| BOC-3 Process Agent Filing | boc3-filing |
$149 | $0 | Designate PW as process agent in all 50 states |
| UCR Annual Registration | ucr-registration |
$79 | $59–$7,511 | Fee based on fleet size |
| New Operating Authority (MC#) | mc-authority |
$499 | $300 | FMCSA application fee |
| DOT Number Registration | dot-registration |
$149 | $0 | New USDOT number |
| Drug & Alcohol Program Setup | dot-drug-alcohol |
$199/yr | $0 | Consortium + policy + DER — RECURRING |
| Safety Audit Preparation | safety-audit-prep |
$399 | $0 | New entrant audit prep package |
| DOT Full Compliance Bundle | dot-full-compliance |
$599 | varies | MCS-150 + BOC-3 + UCR + D&A program |
| IFTA Quarterly Filing | ifta-quarterly |
$99/qtr | varies | State fuel tax return |
| Hazmat/PHMSA Registration | phmsa-registration |
$499 | $0–$2,575 | HM-232 registration |
Pricing Strategy
- MCS-150 at $79 is the loss leader / entry point (like CPNI for telecom)
- BOC-3 at $149 is recurring — carrier needs it as long as they operate
- Drug & Alcohol at $199/yr is the real recurring revenue play
- Full bundle at $599 is the upsell for carriers with multiple deficiencies
Phase 4: Email Campaign
Target Segmentation
| Segment | Count | Criteria | Message |
|---|---|---|---|
| Severely overdue (4+ years) | ~21,000 | mcs150_parsed < 2022, has email | "Your USDOT may be deactivated" |
| Overdue (2-4 years) | ~8,000 | mcs150_parsed 2022-2024, has email | "MCS-150 biennial update is past due" |
| Due soon (expiring 2026) | ~hundreds of thousands | mcs150_parsed in 2024 | "Your MCS-150 update is coming due" |
| New entrants (first 18 months) | ~50,000 | add_date > 18 months ago | "Safety audit deadline approaching" |
| Hazmat carriers | ~100,000+ | hm_flag=true | "PHMSA registration compliance check" |
Campaign Approach
- Same Listmonk infrastructure as FCC campaigns
- Warmup schedule (200/day → ramp up)
- Link to DOT compliance checker with
?dot={DOT#}&email={email}pre-filled - Use
@TrackLinkONLY on static CTAs (same URL for all recipients). NEVER on a per-subscriber href such as{{ lp_link }}/?dot={DOT#}— Listmonk registers one static URL per tracked link and would 404 + collapse every carrier onto one DOT (see runbook "Jun 22 2026 — @TrackLink on per-subscriber CTAs"). Per-subscriber links render directly; human clicks are tracked via Umamicampaign-click. - Free compliance check as the CTA (not direct sell)
Phase 5: Automation (Future)
Playwright Filing Automation
- MCS-150 updates via SAFER web portal
- UCR registration via ucr.gov
- BOC-3 filing via FMCSA L&I system
- MC authority application via FMCSA URS
Recurring Revenue
- Annual UCR registration reminders + filing
- Biennial MCS-150 update reminders + filing
- Drug & alcohol consortium annual renewal
- BOC-3 process agent renewal
Technical Architecture
Data Flow
Socrata API (census) → fmcsa_carriers table (2M records)
↓
FMCSA QCMobile API ← /api/v1/dot/lookup (real-time per carrier)
↓
/tools/dot-compliance-check (frontend)
↓
Listmonk campaigns (email outreach)
↓
Order flow → worker handlers → filing
Cron Jobs Needed
- Daily: FMCSA census delta download (Socrata API)
- Weekly: UCR status scrape for flagged carriers
- Monthly: New entrant identification (recent DOT registrations)
Database Tables
fmcsa_carriers— census data (migration 078) ✅fmcsa_compliance_check_log— search analytics (TBD)dot_compliance_orders— or reusecompliance_orderswith new service slugs (TBD)
Competitive Landscape
Existing DOT compliance service providers
- DOT Compliance Group (dotcompliancegroup.com) — full service, unknown pricing
- J.J. Keller (jjkeller.com) — established, enterprise-focused, expensive
- Foley Carrier Services (foleyservices.com) — insurance + compliance, big players
- FMCSA Registration (fmcsaregistration.com) — direct competitor, $149–499 per service
- Moving Authority (movingauthority.com) — MC authority specialists
- DOT Registrations (dotregistrations.org) — similar pricing model
Our Differentiator
- Free compliance checker tool — nobody else offers this as a lead magnet
- AI-powered deficiency detection at scale (same as FCC model)
- Email outreach to 1.5M+ carriers with specific deficiency data
- Lower pricing through automation (no manual data entry)
- Bundled services (telecom + trucking for carriers that do both)
IRP filing — known follow-ups (2026-06)
- POA signer name/title on auto-signed orders: dot-compliance-remediation orders auto-sign the state-trucking authorization without capturing the signer's printed name/title, so the POA PDF attached to IRP submissions has a blank printed-name/title (the date IS rendered). We are sending these as-is to see if base states accept them; if a state rejects for an incomplete POA, capture signer_name/signer_title in the remediation auth flow (or re-issue the POA for signature) before submitting. Code: state_trucking_authorization.py (template has name/title/date fields + a date anchor), esign_stamp.py (stamps signature + date).