Plugin Directory

WP Fusion Lite – Marketing Automation and CRM Integration for WordPress

WP Fusion Lite – Marketing Automation and CRM Integration for WordPress


WP Fusion Lite synchronizes your WordPress users with leading CRMs and marketing automation systems, keeps user profiles in sync with CRM contact records, and lets you protect site content based on CRM tags.


WP Fusion is a critical tool in our toolkit for our clients, and we VERY strongly encourage our clients to use WP Fusion if they have any kind of CRM. The software is top notch, and the support team is fast and friendly. Nothing but love for WP Fusion from my team here at House Trevethan.

Allen Trevethan – House Trevethan

Lite Version

This is a free version of WP Fusion. WP Fusion Lite synchronizes your registered WordPress users with your connected CRM, including their name and email address.

It does not apply tags based on purchases or course activity, sync form entries, sync customers, or detect any data generated by other plugins.

For integration with WooCommerce, LearnDash, Gravity Forms, Elementor and over 100 other popular WordPress plugins, check out one of our paid licenses.


  • ⚡ Replace Zapier, Integromat, and other integration tools. WP Fusion gives you a direct data sync between your site and your CRM, with no delays or limits.

  • 🔒 Create easy to manage membership sites with drip-released content using timers and logic in your CRM.

  • 💎 Personalize your site by displaying data from CRM contact records, and showing / hiding content based on a user’s CRM tags or lists.

WP Fusion allows us to provide tailored customer experiences in WordPress that wow every time.

Hundreds of plugins that used to be one size fits all, can now perform differently for each Ontraport contact. For example, a low scoring Ontraport contact can be presented with a winback customer journey in WordPress.

This has allowed our clients to increase customer engagement and retention. It’s the only solution that should be considered for any WordPress integration.

Josh Schleifer – Triple Canopy

Docs and Tutorials

WP Fusion builds a critical bridge between our WooCommerce powered ecommerce site and LifterLMS powered training site to our CRM ActiveCampaign. It was easy to set up. The technical support is above and beyond anything I’ve ever seen. What it does is clearly intelligently designed and well built.

Chris Badgett – LifterLMS

Supported CRMs and marketing automation platforms

For more info on CRM compatibility, check out the compatibility table.

WP Fusion is one of my secret weapons for getting WordPress to keep our member’s data synced with our CRM. This makes everything work so much better when you don’t have to worry about your members having issues logging into the member’s area.

If you have or are considering having a membership website using WordPress this plugin is a must-have. It will save you hours of time and frustration.

Greg Russell – SuccessTeam Marketing


  • Sync any WordPress user fields with contact records in your CRM
  • View and manage contact tags within WordPress
  • Restrict access to content based on a contact’s tags
  • Use the Gutenberg block to show and hide content within a page based on a contact’s CRM tags


This plugin provides 3 blocks.

  • Inner
  • Unsecure
  • WP Fusion


Upload and activate the plugin, then go to Settings >> WP Fusion. Select your desired CRM, enter your API credentials and click “Connect” to verify the connection.

For CRM-specific setup information, see our Installation Guide.

ਅਕਸਰ ਪੁੱਛੇ ਜਾਂਦੇ ਸਵਾਲ

Who is it for?

WP Fusion is built for anyone using a CRM or marketing automation platform, and running their website with WordPress.

CRMs empower businesses to track leads, send email broadcasts, manage contact data, track sales, delegate client relationships between employees, and more.

WordPress handles the public facing side of your business: your sales pages, ecommerce platform, support forums, photos and videos, and anything else you want the world to see.

But your CRM and WordPress don’t talk to each other.

This is where WP Fusion comes in.

WP Fusion acts as a bridge between your WordPress data and CRM data— it allows you to use data from WordPress to power your marketing campaigns, and data from your CRM to personalize the customer experience in WordPress.

How is it different from Zapier?

While WP Fusion and Zapier are both integration tools, they work quite differently.

Zapier is a SaaS (Software as a Service) solution that acts as a middleman between your site and your CRM (as well as many other platforms).

When something is updated in WordPress, it is synced to Zapier’s website, and then Zapier syncs the data on to your desired platform. Depending on your plan there is a delay before the data is synced, and/or limit on how many “tasks” you can run each month.

WP Fusion connects your site directly to your CRM or marketing automation platform over the API (nothing goes through our website). Because of this the sync of data is instant, secure, and there are no monthly limits.

In addition to syncing data with your CRM, WP Fusion also includes many options for protecting your WordPress content based on CRM tags, and triggering changes in membership level or course enrollments based on CRM automations. This generally isn’t possible with Zapier because Zapier is configured via zapier.com, not inside your WordPress dashboard.

Why are your version numbers so funny?

WP Fusion Lite is a copy of the Pro WP Fusion plugin, with support for third-party plugins removed. Each time we release a Lite update, it brings it up to date with the latest version of the Pro plugin. For the full details see the changelog on our site.

Can I disable the upgrade nags?

WP Fusion Lite has a few banners on the settings pages with additional info about the features available in the Pro version.

If you’d prefer not to see these you can disable them with the filter:

add_filter( 'wp_fusion_hide_upgrade_nags', '__return_true' );

How can I report security bugs?

You can report security bugs through the Patchstack Vulnerability Disclosure Program. The Patchstack team help validate, triage and handle any security vulnerabilities. Report a security vulnerability.

Do you have more FAQs?

Of course, see our Frequently Asked Questions.


12 ਜਨਵਰੀ 2024 1 reply
I didn’t know I needed this a year ago. Now it is one of the most important plugins in my stack, for the extra functions it lets me do, and for what it replaces with lower overhead. The support is insanely good, especially considering how many integrations (on the paid version) they need to keep track of, going above and beyond… solving problems that really are CRM issues not theirs.
9 ਜਨਵਰੀ 2024 1 reply
This set of plugins is extremely powerful and versatile. The support is fantastic: itr does not only support you but enhances the functionalities for you.This promises to be a critical piece of our efforts to sync things as swiftly as possible.
6 ਜੂਨ 2023 1 reply
WP Fusion may seem pricey at first blush but its functionality and ease of use are significant. I’ve tried replicating some of the work I need this plugin to do with Make and Zapier and there’s just no comparison in terms of getting the end result in a timely and hassle free manner. On top of that the support is on a different level altogether. The other two services have non-intuitive interfaces and tracking down failures at any point in the chain can take a while (Zapier) or be basically impossible without a very deep dive into unfamiliar territory (Make). When I ran into a problem with my WP Fusion install I got high level support that resolved the problem quickly. Highly recommend WP Fusion. You’ll save so much time over other options.
8 ਮਾਰਚ 2023 1 reply
Everything I’ve experienced so far of this plugin leaves me really impressed. It seems like the team has thought this through really comprehensively, and they are super responsive to every question and support request… literally had multiple cases of my unique weekend issue becoming solved in the Monday plugin update. Top marks guys!
3 ਮਾਰਚ 2023 1 reply
Not only is this plugin a life-saver when integrating my CRM with the various other tools on WordPress, but the support is second to none! I should also mention that I love how the plugin’s settings are humbly hidden in my site settings, not intrusively adding another item to the main admin bar.
Read all 60 reviews

ਯੋਗਦਾਨੀ ਤੇ ਵਿਕਾਸਕਾਰ

“WP Fusion Lite – Marketing Automation and CRM Integration for WordPress” is open source software. The following people have contributed to this plugin.



3.43.17 7/18/2024

  • Improved – With Ontraport lead source tracking, the any enabled lead source fields will be synced to the corresponding Last Referrer fields when a contact is updated
  • Fixed custom properties with Klaviyo being treated as system properties if they are prefixed with a dollar sign
  • Removed the “Source” field from the Klaviyo integration (was not a system field)
  • Developers: Added filter wpf_background_process_memory_utilization_percentage to allow customizing the memory utilization percentage for the background process

3.43.16 – 7/1/2024

  • Added Source field for sync with Klaviyo
  • Improved – New contacts added to Pipedrive will be automatically have their marketing status set to “subscribed”

3.43.15 – 6/24/2024

  • Fixed fatal error when tracking events with FluentCRM and the event value is empty
  • Fixed HTTP API logging option not showing with Customer.io
  • Developers: added filter wpf_user_has_tag to allow filtering the tags passed in to an access check against a user
  • Developers: added property wp_fusion()->access->filter_queries_priorty to allow setting Advanced query filtering to a custom priority

3.43.14 – 6/17/2024

  • Added support for lists with Constant Contact (can be configured for new user registrations in the General settings)
  • Fixed the “Duplicate and Delete” feature for email address changes not working with Mailerlite

3.43.13 – 6/10/2024

  • Fixed – Applying an empty tag to a FluentCRM contact (REST API) caused the contact to receive all the tags in the account
  • Fixed – Spinning icon on the background worker status bar was spinning in the wrong direction
  • Fixed error “Uncaught TypeError: date(): Argument #2 ($timestamp) must be of type ?int” when syncing some dates to Mautic with PHP 8.1

3.43.12 – 6/3/2024

  • Added ability to apply lists via form integrations with FluentCRM (same site)

3.43.11 – 5/28/2024

  • Added support for Encharge webhooks
  • Added support for Drip site tracking (was removed at the end of 2022 but Drip has re-enabled it)
  • Fixed – If Push All was enabled, adding a user from the admin could log a notice “no metadata found for user” if individual usermeta keys were updated before user_register was triggered
  • Fixed tags not being applied to new ActiveCampaign contacts when the “Account Name” field was enabled for sync
  • Fixed tags showing up twice in the Select Tags dropdowns with Encharge

3.43.10 – 5/20/2024

  • Added an Encharge CRM integration
  • Fixed users loaded twice by the import tool (i.e. from two different contact records with a matching email) counting twice in the import history table
  • Fixed HubSpot access token getting set to blank if there was a timeout or gateway error while connecting to HubSpot to refresh the token
  • Fixed date fields in Groundhogg being synced in GMT, not local time, which sometimes caused dates with times to sync as the wrong day
  • Fixed – If the user’s tags were saved to usermeta as a boolean true or false instead of an array, this could cause that value to be returned from wpf_get_tags(), and cause errors with array_intersect() and other array functions
  • Developers: Updated Klaviyo API to the 2024-02-15 revision

3.43.9 – 5/13/2024

  • Updated Constant Contact API token to use new API limits of 250,000 calls per day (was previously 10,000 calls per day) – Requires re-authorizing the connection via the prompt

3.43.8 – 5/6/2024

  • Fixed errors pertaining to adding and removing subscribers from Klaviyo lists
  • Fixed fatal error handling updating a contact in ActiveCampaign when a “Email address already exists in the system.” error is encountered while creating a contact
  • Fixed – Log entries will now be saved using gmdate() instead of date() to avoid timezone conversion shenanigans

3.43.7 – 4/29/2024

  • Improved – If wpf_get_contact_id() is called with $force_update, and there is an API error, the existing cached contact ID (if any) will be returned instead of false
  • Fixed infinite loop when using the “Refresh if access is denied” setting and the API call to look up the user’s contact ID fails – 4/25/2024

  • Fixed HighLevel tags not being converted to lowercase for the remove_tags() API call

3.43.6 – 4/23/2024

  • Added support for resubscribing unsubscribed contacts with ActiveCampaign
  • Improved HighLevel error handling
  • Improved – If a duplicate error is returned from the ActiveCampaign API, the contact will be looked up again by email address
  • Fixed dynamic tags (“Create tag(s) from value”) not applying with guest registrations
  • Fixed event tracking with Klaviyo
  • Fixed HighLevel integration treating the error “The token does not have access to this location” as an expired access token and requiring a refresh
  • Fixed errors not being logged when an invalid contact ID was used as an auto-login URL parameter
  • Fixed Save Changes button in the setup not being clickable when using the Staging CRM
  • Fixed Groundhogg integration syncing empty dates as 1/1/1970
  • Developers: added function wpf_get_iso8601_date()

3.43.5 – 4/15/2024

  • Improved – The Bento webhook handler will now use the email field from the payload for lookups of existing users
  • Fixed notice Deprecated: strpos(): Passing null to parameter #1 ($haystack) of type string is deprecated when other plugins called __() without a text domain – 4/9/2024

  • Fixed fatal error calling methods that aren’t in the WPF_Staging class, while in staging mode (i.e. Argument #1 ($callback) must be a valid callback, class WPF_Staging does not have a method "get_connection_id")

3.43.4 – 4/8/2024

  • Added ability to link to individual entries in the activity logs
  • Fixed fatal error Argument #1 ($array) must be of type array, string given in the admin post list table with PHP 8.2 when a required tag on a post was saved with invalid data

3.43.3 – 4/2/2024

  • Added support for importing all contacts from the CRM via the import tool (rather than a specific segment), with selected platforms
  • Improved – While in staging mode you can now resync the lists of available tags and fields from the CRM
  • Improved – Added a warning indicator when an unknown tag (from a previous CRM) is saved to a Select Tag(s) dropdown
  • Improved – If staging mode is enabled in wp-config.php, the Staging Mode checkbox will be disabled in the settings
  • Fixed API calls before the init hook not getting logged with HTTP API logging
  • Fixed Account Name not syncing with ActiveCampaign since the switch to the v3 API in v3.41.36
  • Fixed tags created by WP Fusion in FluentCRM (same site) using the tag label as the slug (instead of the sanitized title)
  • Developers – wp_fusion()->user->apply_tags() and wp_fusion()->user->remove_tags() will now attempt to convert tag labels to IDs if the CRM doesn’t support adding tags (helps with switching CRMs)

3.43.2 – 3/25/2024

  • Improved – Query parameters will now be removed from the “Current Page” and “Landing Page” URLs before being synced to the CRM

3.43.1 – 3/19/2024

  • Improved – When using HTTP API logging, the amount of time to perform the API call will be recorded to the logs
  • Improved – When an API error is encountered, the full API call and response will be logged
  • Improved – When debugging the admin settings page using the &debug URL parameter, the contents of wpf_import_groups will now be output with the rest of the debug data
  • Fixed Klavio bugs when adding contacts and syncing fields
  • Fixed the import tool tracking failed user imports as successful for purposes of the table of historical imports
  • Fixed user IDs getting tracked multiple times in the settings table listing user import history, artifically inflating import counts

3.43.0 – 3/18/2024

New Features

  • The Great Date Update
  • Added an option with Klaviyo to subscribe contacts to lists with marketing consent
  • Added support for the Canadian data center with Zoho
  • Added support for loading and displaying read-only fields with HubSpot


  • Improved Zoho integration
  • Errors during the initial OAuth connection with Dynamics 365 will now be displayed as a banner on the setup screen
  • Updated expired Microsoft Dynamics 365 app secret
  • With Klaviyo, the country code will now be prepended to phone numbers if it’s missing during a WooCommerce checkout or profile update
  • Improved WP Fusion’s admin settings and performance

Bug Fixes

  • Fixed deprecated utf8_encode() warnings in the Infusionsoft/Keap XMLRPC library
  • Fixed fatal error Unsupported operand types: null + array with syncing lead source data without any other contact data present since 3.42.10
  • Fixed for HighLevel API update of Feb 8th (now sending 403 status codes when access tokens expire, was previously 401)
  • Fixed filters added on wpf_format_field_value before init being un-hooked with Zoho
  • Fixed error Timestamp must be of type int when syncing string timestamps with Groundhogg (same site)
  • Fixed notice not being logged when an update webhook was received but no matching user was found
  • Fixed missing nonce check on search log users AJAX handler


  • updated the Klaviyo API version to 2023-12-15
  • added function wpf_phone_number_to_e164() to convert phone numbers to E.164 format
  • If a user has a contact ID and no tags, the tags meta will now be deleted from the usermeta table for that user (reduces database size for users with no tags)

3.42.10 – 2/5/2024

Tech Stuff

  • Tested for WordPress 6.5.0


New Features


  • The “Enable API Queue” setting will be hidden when connected to Groundhogg (Same site), as it’s unnecessary when not sending API calls
  • New custom field created in Groundhogg (same site) will now appear immediately in WP Fusion (no Resync Fields required)
  • The HighLevel integration will now also attempt to refresh the access token when it encounters a 401 response
  • Improved tags select UI when using the block editor— now supports typing in new tags, tag groups, refreshing tags via an API call, and creating tags via an API call
  • With Brevo, the keys name and id will now show as reserved and can’t be used for event tracking
  • Improved CRM error logging
  • Improved performance when looking up a user ID from a contact ID
  • Updated the ‘add’, ‘update’, and ‘load’ contact methods with ActiveCampaign to use the new v3 API (should be faster)
  • Fixed missing Reset Deep Data checkbox on the advanced tab (with ActiveCampaign)
  • Improved duplicate record error handling for ActiveCampaign and Kaviyo
  • You can now use “less” and “greater” instead of < and > in the ‘user_meta_if’ shortcode attributes
  • If a user registers with a missing ‘first_name’ and ‘last_name’ but their ‘display_name’ is set, the Display Name will be used for the first and last names
  • If you try to sync multiselect or array-formatted data to a text field in HighLevel, WP Fusion will automatically combine the items to prevent an API error
  • If you add ‘define( ‘WPF_STAGING_MODE’, false );’ to wp-config.php, this will disable automatic staging site detection
  • Improved performance with checking permissions on a post based on access rules configured on a taxonomy term
  • If staging mode is enabled via wp-config.php (‘WPF_STAGING_MODE’) the “It looks like this site has moved or is a duplicate” notice will not be displayed
  • Extended the timeout with ActiveCampaign to 15 seconds
  • Post content restricted by WP Fusion will no longer be accessible over the REST API to unauthorized users
  • Fixed a fatal error and custom fields not syncing with Jetpack CRM
  • With Brevo, select and multiselect fields will now automatically be synced to their numeric values required by the Brevo API (requires a one-time Refresh Available Tags and Fields via the settings)
  • The background worker will now return instead of exit when the queue is empty, to prevent the worker from blocking subsequent cron tasks
  • Improved HubSpot error handling
  • Updated Omnisend event tracking to use new ‘/customer-events’ endpoint
  • Multi-key FluentCRM events will now be sent JSON-encoded
  • Improved WP Fusion settings
  • The JavaScript-based lead source tracking method no longer requires jQuery

Bug Fixes

  • Fixed tags not applying via AJAX for auto-login users since 3.41.22
  • Fixed Groundhogg (REST API) and Groundhogg (same site) bugs
  • Fixed Email not enabled for sync by default and tagging not working when using the Staging CRM
  • Fixed unhandled error when looking up a contact by email address failed during a guest checkout or registration
  • Fixed duplicate Phone Number field in HighLevel integration
  • Fixed Mailchimp bugs
  • Fixed ActiveCampaign bugs and fatal errors
  • Fixed FluentCRM (REST API) and FluentCRM (same site) bugs
  • Fixed a bug with MailerLite, and HubSpot whereby auto-login links were not being properly detected on the initial page load (only on the second page load)
  • Fixed inverted timezone offset for syncing date fields with HubSpot
  • Fixed shortcode attributes added to the block editor getting saved with curly quotes
  • Fixed PHP errors with Brevo
  • Fixed deprecated JavaScript console messages
  • Fixed Pipedrive error “Name must be given” when updating a contact and the name field was not present
  • Fixed WP Fusion fatal errors and bugs
  • Fixed PHP error ‘Parse error: syntax error, unexpected ‘)” when gathering the user metadata for a user in PHP < 7.3
  • Fixed users who registered without a first name getting their first name synced to the CRM as their username
  • Fixed ‘wpf_get_user_id( $contact_id )’ returning the IDs of temporary auto-login users
  • Fixed PHP warning ‘foreach() argument must be of type array|object, bool given’ after deleting all taxonomy-based access rules
  • Fixed special characters in tag names breaking If-Menu tag condition dropdowns
  • Fixed lead source data for new user registrations being synced even if there was an existing contact in the CRM
  • Fixed PHP warnings when no custom fields are available for Omnisend and Drip
  • Fixed security vulnerability in the ‘user_meta_if’ shortcode, an editor could potentially execute arbitrary PHP code by passing a function name to the ‘field_format’ parameter


  • Added filter ‘wpf_hubspot_redirect_uri’
  • Deprecated filter ‘learndash_settings_fields_wpf’ in favor of ‘learndash_course_settings_fields_wpf’ and ‘learndash_quiz_settings_fields_wpf’
  • The ‘wp_fusion_init’ hook has been moved from ‘init’ priority 0 to priority 6 so that ‘wp_fusion()->crm->init()” has finished
  • Removed an ‘array_filter()’ from the ‘WPF_User::get_user_meta()’ function (was preventing exporting empty values to the CRM)
  • Extended the ActiveCampaign API timeout to 20 seconds for loading, applying and removing tags
  • The wpf_get_user_id filter can now return 0, and only runs before the database query

3.41.24 – 8/10/2023

Tech stuff

  • Tested for WordPress 6.3.0

New CRMs

New Features


  • Improved – Force killing the background worker will now also unlock the process lock so a new operation can be started
  • Improved – If a post type or category/term is protected and configured with a redirect, any redirect on the underlying post will now take priority
  • Improved support for detecting email address changes from non-supported plugins (i.e. JetEngine Forms)
  • Improved – CRMs that use OAuth will now have the refresh token and access token fields disabled in the settings to prevent browsers from accidentally filling the fields
  • Improved – Exported logs will now include the error level string instead of numeric ID
  • Improved – When updating a user profile in the admin, the log source will say user-profile instead of unknown
  • Improved styling of the WP Fusion metabox when using the Gutenberg editor
  • Improved “Redirect if access is denied” dropdown in admin – Will now only search for pages by title, not content, and will validate external URLs
  • Improved – The View in CRM links in the logs and elsewhere now work when using custom object types (with CRMs that support custom object types)

  • Improved – Shortened ActiveCampaign API timeout to 10 seconds instead of 20

  • Improved – With WordPress 6.3+ the Bento tracking script will now be loaded async by default
  • Improved – The Bento tracking script will now wait for the bento:ready event
  • Updated Sendinblue integration to Brevo
  • Improved performance for applying and removing lists with Brevo (aka Sendinblue)
  • Improved – Brevo integration will now use numeric contact IDs instead of email addresses as unique identifiers (backwards compatible with users who are still linked via email)
  • Improved error handling for failed access token refreshes with Constant Contact
  • Improved – With Dynamics 365, dynamic marketing lists will now show as Read Only in the WP Fusion UI, and won’t be selectable for “Assign Lists”
  • Improved – The GetResponse integration can now trigger autoresponders when a contact is added to a list
  • Improved – The GetResponse integration can now remove tags
  • Updated HighLevel integration to use the 2.0 API (allows us to add Enhanced Ecommerce and UTM tracking)
  • Improved HighLevel error reporting for duplicate contact errors
  • Improved HubSpot error handling
  • Improved API performance while applying groups with MailerLite
  • Improved Maropost error handling
  • Improved – Updated Sendlane integration to use the v2 API (requires generating a new access token)
  • Improved – Contacts synced to Ontraport with bulk_sms set to no will also be synced with force_sms_opt_out set to true, to ensure they are opted out of bulk SMS

Bug Fixes

  • Fixed an infinite redirect if a guest tried to access a piece of protected content and “Refresh tags if access is denied” was enabled on that content
  • Fixed “Exclude Administrators” setting not being respected for the site lockout feature
  • Fixed View in CRM links in the logs not working correctly with Dynamics 365
  • Fixed a fatal error if the WP Fusion settings were reset in the middle of a batch operation
  • Fixed background worker not working on sites protected by HTTP Basic Authentication
  • Fixed fatal error in the Custom Code section of the main settings page when a static class method had been attached to a wpf_* filter
  • Fixed Filter Queries – Advanced not working with Search & Filter Pro (changed priority from 10 to 100)
  • Fixed a fatal error calling wp_fusion()->user->push_user_meta() on an invalid user ID
  • Fixed a fatal error trying to access the CRM PHP API before it was loaded

  • Fixed event tracking not sending the value (i.e. details) to Brevo

  • Fixed Constant Contact integration not loading more than 50 tags
  • Fixed unhandled error refreshing access token with Constant Contact
  • Fixed Constant Contact refresh token expiring after two refreshes
  • Fixed empty dates syncing to ConvertKit as 1/1/1970
  • Fixed ConvertKit integration removing times from date + time fields
  • Fixed dynamic lists showing as options for import with Dynamics 365
  • Fixed import tool not working with Dynamics 365
  • Fixed fatal error connecting to EmailOctopus when there were no lists or tags in the account
  • Fixed FluentCRM (same site) processing tags modified by automations before tags edited on the subscriber record, causing the WP user’s tag cache to lose the tags applied by the automation
  • Fixed a fatal error with FluentCRM when a user changed their email address to the email address of an existing (other) subscriber in FluentCRM (same site)
  • Fixed typo “susbcribed” in default optin status for FluentCRM (REST API)
  • Fixed bug in HighLevel error handling, errors with a meta parameter were triggering a fatal error when logged
  • Fixed empty dates synced to HighLevel getting converted to 1-1-1970
  • Fixed first API call after refreshing a HighLevel access token being treated as an error
  • Fixed Klaviyo integration not loading more than ten lists
  • Fixed MailerLite (Classic) integration giving an Unauthorized error when applying groups via a batch operation
  • Fixed custom fields not loading with Maropost
  • Misc Maropost bugfixes
  • Fixed import tool not working with Pipedrive
  • Fixed read-only fields being synced back to Salesforce and causing API errors
  • Fixed Zoho integration linking users with contact records who had a matching email address on Secondary Email or other email fields than the primary Email field


  • Added function wpf_validate_phone_number()
  • Added filter wpf_dynamics_365_lookup_field
  • Improved – The AJAX endpoint for applying tags can now accept form-encoded or JSON encoded data
  • Improved – the WP Fusion section on the admin user profile will now require the edit_users capability instead of manage_options
  • Improved – CRMs with an init() method will now run on the init action at priority 5, instead of plugins_loaded. This makes it easier for custom code added to the theme’s functions.php to modify CRM parameters such as the API URL or object type
  • Improved – Removed redundant check for wpf_is_user_logged_in() in the WP Fusion secure block access logic
  • Fixed – the wpf_admin_override filter did not apply to the core user_can_access() function
  • Fixed custom args passed to wp_fusion()->batch->batch_init() being ignored

3.41.2 – 3/27/2023

Tech stuff

  • Tested for WordPress 6.2.0

New CRMs

New Features


  • Improved – With CRMs that support identifying a visitor to a tracking script via JavaScript, a visitor can now be identified in the same page load as a form submission (instead of requiring a redirect or refresh)
  • Improved – The “Select a redirect” box in the main WP Fusion metabox can now accept a page or a URL
  • Improved – The API Queue will now run on the shutdown hook at priority -1 instead of 1, to try and get ahead of any potential redirects in WooCommerce payment gateways
  • Improved – You can now set the WPF_MULTISITE_PREFIX_KEYS in wp-config.php to turn on blog ID prefixes for usermeta keys
  • Improved – When an auto-login session loads the tags for someone who has a user account on the site, those tags will also be saved to their local cache
  • Improved – Clicking Cancel on a batch operation / export operation will now cancel the next operation in the queue, even if the key is unknown
  • Improved status output for batch operations in the console: will now count items processed in the last batch, and available memory is human-readable
  • Improved – Some plugins sloppily trigger wp_login twice during a single login. WP Fusion will now only run on the first instance
  • Improved notifications when an error was encountered saving or validating an option in the WP Fusion settings
  • Improved: the wpf_update_meta and wpf_update_tags shortcodes will now output an HTML comment to help locating them within a page
  • Improved – Using the date-format parameter in the user_meta shortcode will now output the date in the site’s language (as opposed to English)
  • Improved – If a user’s contact record is deleted, their cached tags will be deleted as well (previously these were left behind and could clutter up the database)
  • Improved – If a contact was created in staging mode, deactvating staging mode will also remove the user’s staging_xxxx contact ID
  • Improved lead source tracking — tracking data will now be stored JSON-encoded inside of a single cookie, instead of across multiple cookies
  • Improved – Set a max-height on the debug output for HTTP API logging in the logs
  • Improved – With CRMs which require an email address for some API calls, WP Fusion will now check to see if the email can be retrieved from a WooCommerce order before making an API call to load the contact (improves performance)

  • Improved – ActiveCampaign event tracking API calls updated to use wp_remote_post() instead of wp_safe_remote_post() to fix occasional A valid URL was not provided errors

  • Improved – The Bento tracking script will now be registered via wp_enqueue_script() instead of inline, to play better with caching and optimization plugins
  • Improved – The cookie to track Bento guest form submissions will only be set for one hour (instead of one year). This is plenty of time for the Bento tracking script to pick it up, and will make it easier to cache pages for identified guests
  • Improved – Guest form submissions and checkouts will now pass the guest’s email address to the Bento tracking script
  • Improved – Removed redundant name and email custom fields with Bento
  • Improved error handling with Dynamics 365
  • Improved – Updated Klaviyo integration to use the new v2022-10-17 API, which will greatly improve performance
  • Improved MailerLite error handling
  • Improved – When changing the tag type with Salesforce, all users will automatically have their tags resynced from the CRM
  • Improved – When using a Picklist for Salesforce tags, if an unknown is loaded for a user, it will be added to the dropdown of available options

Bug Fixes

  • Fixed “Action Failed” error when flushing the logs when WooCommmerce’s logging was active in database mode
  • Fixed fatal error with Push All when other plugins updated user meta fields before WP Fusion had loaded
  • Fixed HTML in custom field names being displayed in the Contact Fields list
  • Fixed JavaScript based lead source tracking not working with WP Rocket
  • Fixed warning “Attempt to read cap_key on bool” when adding or removing roles with a deleted user ID
  • Fixed the wpf_update_meta shortcode triggering a pull from the CRM multiple times per page load (if used with multiple blank fields)
  • Fixed WP Fusion not running on multiple user registrations in the same request
  • Fixed timezone-offset parameter in the user_meta shortcode being treated as minutes, not hours
  • Fixed batch operations started on a single multisite showing the status bar on all other sites in the network
  • Fixed fatal error displaying a user’s tags on the All Users list when a user’s tags were stored as a string, with PHP 8
  • Fixed PHP error Cannot use string offset as array when importing users with PHP 8
  • Fixed being unable to clear out the User dropdown filter in the logs once a user was selected

  • Fixed Event Tracking not working with a recent …