Quick summary
A WordPress integration note about building an admin-only CRM and estimate form flow that captured lead context, UTM data, and follow-up details without exposing CRM language on the public site.
The problem
The handyman site needed a request-estimate workflow that stayed simple for visitors but saved enough lead detail for real follow-up, source tracking, and internal status management.
What I checked
- Public estimate form fields and required intake details
- Lead source, landing-page, and referrer capture needs
- UTM field handling and follow-up requirements
- Admin-side lead views, notes, and export needs
- Spam protection, thank-you routing, and owner notifications
What I changed
- Built an admin-only CRM plugin for estimate leads and follow-up workflows
- Saved lead source, landing page, referring URL, and UTM fields with each submission
- Added nonce protection, sanitization, honeypot filtering, and local lead-table storage to the form flow
- Set the form to redirect to `/thank-you/` when available and send owner notifications when configured
- Added dashboard views, lead detail screens, status updates, reminders, and CSV export
Result
The site gained a cleaner estimate intake path that stayed visitor-friendly while giving the business usable lead context and follow-up controls inside WordPress.
Where this fix usually leads next
This kind of work usually connects back to API & Integrations, Analytics & Tracking and WordPress Support so the fix note can lead into a clearer support path instead of staying as an isolated one-off task.
What I'd watch next
- Whether owner notification settings stay configured after future plugin or hosting changes
- Whether uploaded photo handling and lead-table growth need maintenance rules later
- Whether UTM naming stays consistent across traffic sources and campaigns