# LeadPilot CRM – Forms, Email, Heatmaps and Live Chat for WordPress > Analytics, forms, CRM, two-way email, heatmaps and live chat in one WordPress plugin. Counts the visitors that script-blockers hide, without a cookie or a subscription. *Source: https://plugins.viglan.com/plugins/leadpilot-crm-heatmaps-live-chat/* ## Three tools your business already pays for, in one plugin you own Most WordPress sites end up renting a CRM, a heatmap service and a chat widget from three different companies. Three subscriptions, three scripts slowing the site down, and your customer data sitting in three databases you do not control. LeadPilot replaces all three. It runs entirely inside your WordPress install, writes to your own database, and loads no external scripts at all. ## Goals, funnels, and where your visitors actually are Knowing how many people visited is the easy half. Version 1.5 adds the half that pays: set a goal, whether that is reaching a page, submitting a form or starting a chat, give it a value, and every visit is measured against it. You see the conversion rate and, more usefully, which channels produced the conversions rather than just the traffic. Then put the steps in order and you have a funnel. It shows how many visits reach each step, how many are lost between them, and exactly where. A visit only counts for a step if it reached every step before it, so somebody landing straight on your thank-you page cannot flatter the numbers. Locations come down to country, region and city. The lookup happens on your own server against a database file you install once. Your visitors’ addresses are never sent to a lookup service, and there is no extension to install: the database reader is written in plain PHP. ### Compared with Matomo Matomo is the serious self-hosted alternative and it is a fine tool. It goes deeper on custom reports, segments, ecommerce revenue, session recording and A/B testing, and if analytics is your whole job you should probably run it. Two things are worth knowing before you do. Funnels and heatmaps are paid add-ons on top of Matomo, roughly a hundred to two hundred a year each; here they are simply included. And Matomo is a second application to host, update and back up, where this is one plugin. Above all, nothing in Matomo connects a visit to a contact record you can then email and follow up. That join is the whole point of this one. ## Analytics that counts the visitors Google Analytics loses Version 1.4 adds a full analytics dashboard, and records every visit twice over. The hit is counted on your server while the page is being built, so a visitor running an ad blocker or with JavaScript switched off is still counted. The browser then adds what only it can know, engaged time and the page they left from, to that same visit rather than logging a second one. The dashboard tells you plainly how many visits in the period never ran the JavaScript at all, which is the number a script-only tool silently drops. You get visits, visitors, page views, bounce rate, engaged time and pages per visit, each compared with the previous period. Then where they came from: channels, sources, referrers and campaigns, with UTM tags and ad click IDs understood. Then who they were on: devices, browsers, operating systems, languages and countries. Plus top pages, entry pages, and a live view of who is reading right now with your known contacts named. It sets no cookie and stores no identifier. Visitors are counted using a salted daily hash of address and browser that cannot be reversed and does not follow anyone from one day to the next. Nothing is sent anywhere: no account, no external requests, no sampling, no data retention policy but your own. Even the chart is drawn on a canvas rather than pulling in a charting library, because a plugin that boasts about speed should not ship 200 KB to draw one line. ## Bring your existing contacts with you Switching CRM usually means retyping your list, so version 1.3 adds a CSV importer. Upload the export from your old system, check the column matching it has already guessed, run a dry run to see exactly what would happen, then import. Custom fields, tags, pipeline stage, deal value and notes all come across, and you choose what happens when a contact already exists: merge into it, skip the row, or create a second record. The uploaded file is never written to your server. It is read straight into memory, which is the same reason the plugin never writes files anywhere else. For a list too big for a browser upload there are WP-CLI commands that stream from disk with no limit: `wp leadpilot import`, plus `export`, `dedupe`, `fetch-mail` and `stats`. Duplicates get their own screen. Merging moves every page view, message, form entry, task and note onto the record you keep, and only fills in fields the survivor is missing, so a merge can never overwrite something you typed. Notes are now dated and attributed, and can be pinned, instead of one box that quietly overwrites itself. ## Email your customers from inside the CRM, and get their replies back Version 1.2 closes the loop. Write to any contact from the contacts list, the pipeline board or their record, through your own mailbox over SMTP. Their reply is pulled back in over IMAP and filed onto the same conversation, matched by the standard Message-ID and In-Reply-To headers rather than guesswork. That means the thing that captures the lead, the thing that stores the lead, and the thing you actually talk to them with are finally one tool. Chat threads and email threads sit in the same inbox. An email from someone you have never met creates a contact record on its own. Reply templates carry merge tags for anything on the record, including custom fields you define yourself. It is written in plain PHP against sockets, so it works on shared hosting where the deprecated IMAP extension is missing. Loop protection is built in: your own address, auto-responders and list mail are never filed, and the same message is never stored twice. There is no tracking pixel in anything you send. ## And the parts that make a CRM a CRM Tasks with due dates, an overdue count in the menu and daily reminder emails, so a lead never quietly rots. Custom fields you define yourself, on the record and usable as merge tags. Saved segments, so a filter like *has an email, score over 40, not seen for thirty days* becomes a saved list you can email, tag or move to another stage in one go. ## Build the forms too, conditional logic included Version 1.1 adds a full form builder, so the thing that captures the lead and the thing that stores the lead are finally the same tool. Twenty-two field types, multi-step forms, and a shortcode for every form that drops into any page, block or template. Conditional logic is on every field, at no extra cost. That matters, because it is precisely the feature the big form plugins hold back: WPForms puts it on a 199 dollar a year tier, Gravity Forms on a 59 dollar a year tier. Here it is simply included, along with complete visual styling, a live preview, entry storage with CSV export, notifications and autoresponders. Spam is handled without sending your visitors to a third party: honeypot, time trap, a signed maths question, a keyword blocklist and per-visitor rate limiting. No reCAPTCHA, which means no Google request on your contact page and nothing extra to disclose in your privacy policy. And because it is the same plugin, a submission is never just an email. It creates or updates the contact record, can set the pipeline stage, add tags and add lead score, and attaches itself to everything that person already read on your site. Every other form plugin can tell you someone filled in your form. This one tells you they read your pricing page three times first. ## Every visitor becomes a contact, automatically From the first page view, LeadPilot creates a contact record. It is anonymous at first, quietly collecting the pages they read and the things they click. The moment that person submits a form or types in the chat, their email and name are matched onto that same record, and their entire browsing history before that point is suddenly attached to a real human being. That is the part a spreadsheet cannot do: you do not just see that Sarah from an agency mailed you, you see she read your pricing page three times last week. ## Heatmaps that survive different screen sizes Click positions are stored as a percentage of full page width and height, not raw pixels, so a heatmap recorded on a 13-inch laptop still lines up when you view it on a 4K monitor. Filter by desktop, tablet or mobile to see how behaviour differs. Alongside the click map you get a scroll report showing what share of visitors actually reached 30, 50 or 80 percent of the page, and a table of your most-clicked elements, which is usually how you discover the call to action nobody presses. ## Live chat with nothing phoning home The chat widget is a few kilobytes of vanilla JavaScript served from your own domain. No third-party iframe, no external tracker, nothing for an ad blocker to eat. Replies happen in a proper agent inbox inside wp-admin, and every conversation is attached to the contact record with its full history. ## Private by design, not as an afterthought - Raw IP addresses are never stored, only a salted one-way hash used for rate limiting. - Consent aware: with the WP Consent API present, nothing is recorded, and the tracker is not even loaded, until your chosen consent category is granted. - Form capture is limited to identity fields. Password, hidden and file inputs are skipped by design. - Registered with WordPress core privacy tools, so export and erasure requests cover LeadPilot automatically. - Configurable retention deletes old events for you. ## Built to stay fast Pure PHP and vanilla JavaScript. No jQuery, no framework, no charting library, no build step. Four narrow, indexed database tables. The heatmap is drawn with the browser’s own canvas rather than a megabyte of imported chart code. ## What you get One payment. Every feature, unlimited contacts, unlimited heatmaps, unlimited chats, on your own sites, with free updates for the whole 1.x line and support direct from the developer who wrote it.