Best WordPress CRM plugins
"CRM" means different things in WordPress. Some plugins are email marketing tools with a contact list. Some are sales CRMs with companies, deals and a pipeline. One is a business suite, and one connects your site to a CRM hosted elsewhere.
The ranking below starts from the needs of a typical small business, then covers the cases where another plugin fits better.
Our picks
- Best for email marketing automation
FluentCRM
The most used self-hosted CRM on wordpress.org, with a strong rating. Contacts, companies, campaigns and basic automation are free, and every paid plan has unlimited contacts. It has no deals or pipeline, so it is an email marketing CRM first.
Active installs: 80,000+ · 4.77 / 5 (250 ratings) · From $90 / year
FluentCRM review → - Best free hosted CRM
HubSpot
The largest install base here, and a free hosted CRM with contacts, deals, tickets and forms. Your data lives on HubSpot's servers, the free plan stops at two users and 1,000 contacts, and paid plans are priced per seat.
Active installs: 200,000+ · 4.34 / 5 (207 ratings) · From $84 / year
HubSpot review → - Best for quotes and invoicing
Jetpack CRM
Contacts, companies, quotes, invoices and a client portal free, from Automattic. It has no deals or pipeline, and campaigns and automation are paid extensions.
Active installs: 30,000+ · 4.32 / 5 (152 ratings) · From $132 / year
Jetpack CRM review → - Best free sales and service CRM
Plugixa CRM
Our own plugin. It has the deepest free sales and service CRM here: deals on a pipeline board, cases, a knowledge base, a customer portal and team permissions, with no paid tier for any of them. It ranks here, not higher, because it is new, is not yet on wordpress.org, and has no automation.
Active installs: Fewer than 10 · From €39 / year
Plugixa CRM review → - Best for HR and accounting together
WP ERP
A CRM inside an HR and accounting suite. The free CRM covers contacts, companies, activities and two-way email; deals and workflows need a plan priced per user.
Active installs: 5,000+ · 4.38 / 5 (149 ratings) · From $137 / year
WP ERP review → - Best for sales funnels and automation
Groundhogg
Strong free automation, with a visual flow editor and unlimited contacts. The pipeline and company records need the Plus plan at $480 a year, and its install base is small.
Active installs: 2,000+ · 4.87 / 5 (149 ratings) · From $240 / year
Groundhogg review → - Best for client and project tracking
WP-CRM System
A simple client and project tracker that has been around for years. Opportunities have no stages or board, and custom fields need a paid extension.
Active installs: 700+ · 3.93 / 5 (15 ratings) · From $99 / year
WP-CRM System review →
How we chose
We ranked on four things that can be checked. They are what the free version includes, what the paid plans cost, how actively the plugin is maintained, and what its wordpress.org users say.
We did not run speed tests, and we did not test every feature by hand. Values come from each vendor's own pages; the methodology page explains the limits of that.
The picks side by side
Scroll sideways to see more plugins, or untick some above.
| Feature | FluentCRM | HubSpot | Jetpack CRM | Plugixa CRM | WP ERP | Groundhogg | WP-CRM System |
|---|---|---|---|---|---|---|---|
| Contacts and companies | |||||||
| ContactsStores people with their details, notes and a history of what happened with them. | YesFree | YesFree | YesFree | YesFreeA contact can have several email addresses and phone numbers, one of each marked primary. | YesFree | YesFree | YesFree |
| CompaniesStores companies (accounts) as their own records, with contacts linked to them. | YesFree | YesFree | YesFreeCompanies come with B2B mode, which you turn on in the free plugin. | YesFreeAccounts with a parent and child hierarchy, and a link to contacts that records each person's role. | YesFree | YesPaid: PlusCompany records come from the Companies extension, included from Plus or sold alone from $59 a year. | YesFreeCompanies are called Organizations, and contacts and opportunities can be attached to them. |
| Custom fieldsYou can add your own fields to contacts or other records. | YesFree | YesFreeThe free plan allows 10 custom properties. Paid plans raise the limit. | YesFree | YesPaid: ProTen field types on contacts, accounts, leads and deals. | YesPaid: StarterThe Custom Field Builder extension adds fields to contact and company forms. | YesFree | YesPaid add-onSold as the Custom Fields extension from $29 a year, and included in all three bundles. |
| Duplicate mergeFinds the same person or company entered twice and merges the two records. | Not checked | PartialFreeContacts are deduplicated by email and companies by domain, and records can be merged on all plans. The duplicates manager needs a Professional plan. | PartialFreeYou can merge two contacts you pick from the list. Automatic duplicate detection was not found. | YesFree | No | PartialFreeTwo contacts can be merged by hand from the record. No tool that finds duplicates was found. | PartialFreeDuplicate contacts are skipped or updated by email address on import and quick add. There is no tool to find and merge existing duplicates. |
| Sales pipeline | |||||||
| DealsTracks sales opportunities with a value, a stage and an expected close date. | No | YesFree | NoContacts move through statuses such as Lead and Customer, but there is no deal record with a value and stage. | YesFree | YesPaid: Growth | YesPaid: PlusThe Sales Pipeline extension is included from Plus or sold alone from $79 a year. Deals have a close date, a close probability and products. | PartialFreeOpportunities have a value, a probability, a close date and a won or lost status, but no pipeline stages. |
| Kanban boardShows deals as cards in stage columns that you drag from one stage to the next. | No | YesFree | No | YesFree | YesPaid: Growth | YesPaid: Plus | No |
| Several pipelinesYou can run more than one pipeline, each with its own stages. | No | YesPaid: Starter Customer PlatformThe free plan has one default pipeline. Starter allows 15 custom pipelines, shared across objects. | No | YesFree | YesPaid: Growth | YesPaid: Plus | No |
| Sales forecastReports expected revenue, weighted by stage probability or by close date. | No | YesPaid: Sales Hub Professional | No | YesFreeA weighted pipeline forecast, win rate and expected close by month. | Not checked | Not checked | No |
| Lead conversionA lead is a separate record that converts into a contact, a company or a deal once qualified. | NoA contact is labelled Lead or Customer. There is no separate lead record to convert. | PartialPaid: Sales Hub ProfessionalLeads are linked to existing contacts or companies and move through lead stages towards a deal, rather than converting into a new contact. Needs Sales Hub Professional. | NoLeads are contacts with a Lead status, not a separate record type. | YesFreeA lead converts into an account, a contact and an opportunity in one step. | NoLead is a life stage on the contact record, not a separate record. | NoThere is no separate lead record. Leads are contacts, and deals are created from them. | NoThere is no separate lead record. Opportunities can be converted into projects. |
| Activities and email | |||||||
| TasksTasks with a due date and an assignee, linked to a record. | PartialFreeTasks come from the separate FluentBoards plugin and show on the contact profile. | YesFree | YesFree | YesFree | YesFree | YesFree | YesFree |
| CalendarA calendar view of tasks, meetings or appointments inside the CRM. | Not checked | Not checked | YesFree | YesFreeMonth, week and day views over tasks, calls and meetings, with working hours, holidays and free/busy. | YesFree | Not checked | YesFreeThe calendar is on the CRM dashboard, and you can quick-add records from it. |
| Calls and meetingsLogs calls and meetings as their own activities on a record. | YesFreeCalls and meetings are note types in the Notes and Activities tab. | YesFree | YesFreeCalls and meetings are log types on a contact's activity log. | YesFree | YesFree | YesFree | No |
| Email from a recordSends a one-to-one email from a contact's record and keeps it on the record. | YesFreeDirect email works only for contacts with a Subscribed status. | YesFree | YesFree | YesFreeSent from any record, with templates and merge fields. | YesFree | YesFree | PartialFreeThe free Email screen sends to chosen contacts and saves the message on their records. Sending from the record's edit screen needs the Notes & Email extension. |
| Incoming emailReads a mailbox and files incoming mail against the matching records. | Not checked | YesFreeEmail is connected through HubSpot's shared inbox. Email sync is listed as a Starter feature, so free-plan limits were not checked in detail. | No | YesFreeReads your own mailbox over IMAP. Incoming mail can create cases automatically. | YesFreeReplies are filed on the contact once an IMAP mailbox is connected; a Gmail API connection is also offered. | PartialPaid: ProReplies to Groundhogg emails reach the contact record through Groundhogg's hosted relay. It needs an active licence and does not read a mailbox of your own. | No |
| Marketing | |||||||
| Email campaignsSends newsletters or bulk email to a list or segment of contacts. | YesFree | YesFreeFree marketing email carries HubSpot branding and has sending limits. | YesPaid add-on | YesFreeCampaigns, target lists and mass email sent in batches, with open and click tracking on your own domain. | PartialContacts sync to the separate weMail plugin, where campaigns are created and sent. | YesFree | PartialFreeThe free Email screen can send one message to many contacts through WordPress mail. MailChimp Sync only adds contacts to a Mailchimp list. |
| Marketing automationRuns sequences or workflows triggered by events, such as a tag added or a form submitted. | YesFreeThe free version has a small set of triggers and actions. Most integration triggers need Pro. | YesPaid: Starter Customer PlatformStarter has simple email, contact and deal automation. Full workflows need a Professional plan. | YesPaid add-onA free internal automator exists, but configurable workflows need the Automations extension ($79 a year). | NoTarget lists are static, and there is no workflow or sequence builder. | YesPaid: Growth | YesFree | No |
| Lead capture formsHas its own forms that create contacts or leads, without a separate form plugin. | PartialFreeForms created in FluentCRM are Fluent Forms forms, so the free Fluent Forms plugin must be installed. | YesFree | YesFree | YesFreeWeb-to-lead forms as a block or a shortcode; submissions arrive as leads. | YesFreeSubscription forms add contacts to a contact group. | YesFree | No |
| Customer support | |||||||
| Tickets or casesA support queue of customer requests with a status and an owner. | NoTickets come from the separate Fluent Support plugin and show on the contact profile. | YesFree | PartialPaid add-onThe Awesome Support extension shows tickets from the separate Awesome Support plugin inside the CRM. | YesFreeCases with statuses, priorities and types, assigned round-robin or to whoever is least busy. | NoThere is no ticket queue. Paid extensions show tickets from Awesome Support, Zendesk or Help Scout on a contact. | NoThere is no ticket queue. A paid Help Scout integration connects an outside helpdesk. | NoNo ticket queue. Zendesk Connect shows a contact's Zendesk tickets on the record. |
| Knowledge baseHelp articles you write in the CRM and can show to customers. | Not checked | YesPaid: Service Hub Professional | No | YesFreeArticles in a category tree. Articles you mark as public appear in a help centre on your site. | Not checked | No | No |
| Client portalCustomers log in on your site to see their own records, such as tickets, invoices or documents. | Not checked | YesPaid: Service Hub ProfessionalThe portal shows customers their own support tickets only. | YesFreeThe portal is free. Client Portal Pro adds file downloads, tasks and tickets. | YesFreeCustomers see their own cases, shared documents, meetings, calls and help articles. Each panel is a separate switch. | NoThe vendor FAQ says the CRM and accounting modules have no frontend. | Not checked | YesPaid add-onClients log in to see their projects, tasks, campaigns and, with the Invoicing extension, invoices. Included in all bundles. |
| Team and permissions | |||||||
| CRM rolesPermissions set per CRM role, beyond the standard WordPress roles. | PartialPaid: Solo/BloggerPro managers get permissions set per user, not per named role. | PartialFreePermissions are set per user on all plans. Reusable permission sets need an Enterprise plan. | YesFree | YesFreeRoles per record type and per action, each with an all, team, own or none scope. | YesFreeThe free plugin adds CRM Manager and CRM Agent roles. | YesFreeAdds Marketer, Sales Manager and Sales Representative roles. | NoAccess is granted to a chosen WordPress role and those above it. There are no CRM-specific roles. |
| Record-level accessLimits which records or fields a user can see, for example only their own or their team's. | NoManager permissions apply globally, so a manager sees all contacts their permissions cover. | YesFreeUsers can be limited to records they own on all plans. Team-only access needs a Professional plan. | PartialFreeContacts can be assigned to a CRM user, and editing can be limited to the owner. Field-level control was not found. | YesFreeRecords are limited to a user's own, their team's or all, and single fields can be hidden or made read-only. | YesFreeAgents see only the contacts they own; managers see all. | YesFreeSales Representatives see only the contacts they own. Field-level limits were not found. | YesFreeAn option hides other users' records from the admin lists for everyone except administrators. |
| Change historyKeeps a log of who changed what on a record. | Not checked | YesFreeProperty history shows each change, its date and its source, such as a user, an import or a workflow. | PartialFreeThe activity log records status changes and edits made through the portal or profile, but not a full field history. | YesFree | YesFreeThe ERP audit log records who created, edited or deleted a contact or company. | Not checked | Not checked |
| Reports and data | |||||||
| ReportsBuilt-in reports or dashboards on contacts, deals or activity. | YesFreeCampaign and automation reports are free. Contact, WooCommerce and LMS reports need Pro. | YesFree | YesFreeThe free dashboard shows contact and activity charts. Revenue reports need the Sales Dashboard extension. | YesFreeA report builder with charts over deals, leads, meetings, calls and tasks, and multi-tab dashboards. | YesFree | YesFree | YesFree |
| CSV import and exportImports contacts from a CSV file and exports them to one. | YesPaid: Solo/BloggerCSV import is free. Contact export needs Pro. | YesFree | YesFreeA basic CSV importer and an export page are free. CSV Importer PRO adds more options. | YesFreeCSV import with column mapping and an undo for the whole run; CSV and Excel export. | YesFree | YesFree | YesFree |
| WebhooksSends a message to a URL you choose when records change. | YesPaid: Solo/BloggerOutgoing webhooks run as an automation step in Pro. Incoming webhooks are free. | YesPaid: Data Hub ProfessionalThe Send a webhook workflow action needs Data Hub Professional. Developer apps can also subscribe to record changes through the webhooks API. | NoThe free plugin only accepts incoming webhook requests. No outgoing webhooks on record changes were found. | YesFree | Not checked | YesPaid: BasicSending a webhook is a premium flow step, listed on every paid plan. Free users cannot use it. | PartialPaid add-onZapier Connect sends record updates and deletions to Zapier, not to any URL you choose. |
| REST APIA documented API for reading and writing CRM records from other software. | YesFreeDeveloper docs say core endpoints work on the free plugin, but the Free vs Pro table lists the REST API under Pro. | YesFree | YesFree | YesFreeAbout 230 documented REST routes, with the same permission rules as the admin screens. | YesFreeThe plugin ships REST endpoints for contacts, companies and activities; the public API docs are on GitHub and look dated. | YesFree | NoThe free plugin registers no REST routes, and its post types are not exposed to the WordPress REST API. |
| Commerce | |||||||
| WooCommerceLinks WooCommerce customers and their orders to CRM contacts. | YesFreePurchase history on the contact profile is free. Segmentation, triggers and reports for WooCommerce need Pro. | PartialFreeNot part of the HubSpot plugin. WooCommerce sync is offered by third-party apps, such as the one from MakeWebBetter. | YesFree | YesPaid: ProLinks WooCommerce customers and their order history to contacts. | YesPaid: Growth | YesPaid: ProThe WooCommerce extension is included in Pro or sold alone from $99 a year. | YesPaid add-on |
| Quotes and invoicesCreates quotes or invoices from the CRM. | Not checked | YesFreeInvoices are listed for all plans. Quotes need a Commerce Hub Professional plan. | YesFree | NoThere are PDF templates for any record, but no quote or invoice records. | YesFreeInvoices and quotations come from the free accounting module, using CRM contacts as customers. | No | YesPaid add-onThe Invoicing extension sends invoices and takes card payments through Stripe. Included in all bundles. |
| Integrations | |||||||
| Form plugin integrationsSends entries from form plugins such as Contact Form 7, WPForms or Gravity Forms into the CRM. | YesFreeFluent Forms is free. Elementor, Divi Bloom, Thrive and Beaver Builder forms need Pro. Other form plugins can post to an incoming webhook. | YesFreeListed integrations include Gravity Forms, Ninja Forms, WPForms, Formidable and Forminator. Contact Form 7 is not listed. | YesPaid add-onJetpack Forms is supported for free. Contact Form 7 and Gravity Forms each need a paid extension. | YesPaid: ProContact Form 7, WPForms, Gravity Forms and Elementor forms. | YesFreeContact Form 7 and Ninja Forms are free; Gravity Forms sync needs the Growth plan. | YesPaid: PlusContact Form 7, Gravity Forms, WPForms, Fluent Forms and others are listed from Plus. | YesPaid add-onGravity Forms Connect and Ninja Forms Connect are separate extensions. No Contact Form 7 or WPForms extension is listed. |
| Calendar syncSyncs CRM meetings or tasks with Google Calendar or Outlook. | Not checked | YesFree | No | YesPaid: ProGoogle Calendar and Microsoft 365 calendars. | Not checked | YesPaid: PlusGoogle Calendar sync comes with the Booking Calendar extension, included from Plus or sold alone from $79 a year. | PartialPaid add-onOnly through Zapier, which can add Google Calendar entries when a project or task changes. |
| Platform | |||||||
| Where your data livesWhether records are stored in your WordPress database or on the vendor's servers. | Your WordPress database | HubSpot's servers (hosted CRM) | Your WordPress database | Your WordPress database, in the plugin's own tables | Your WordPress database | Your WordPress database (custom tables) | Your WordPress database (custom post types) |
| CRM on a site pageStaff can use the CRM on a page of the site, outside wp-admin. | Not checked | NoThe CRM runs in HubSpot's own web app. The plugin adds tools to wp-admin and forms or chat to site pages, not a staff CRM on the site. | NoThe front end offers a client portal for customers only. Staff use the CRM in wp-admin. | YesFreeA shortcode puts the whole CRM on a page of your site for staff, inside your theme. | NoThe vendor FAQ says the CRM has no frontend; only HR has a paid frontend extension. | Not checked | No |
- Yes: The plugin does this.
- Partial: It does part of this; the note says what is missing.
- No: The plugin does not do this.
- Not checked: We could not confirm it from the vendor's own pages, so we do not claim either way.