Search Results

Double Opt-Ins

[…] reputation by reducing bounce rates and spam complaints. Each CRM that WP Fusion supports handles double opt-ins in a different way. Here’s how to make use of the features in WP Fusion, as well as the features unique to each CRM. Opt-in management in WP Fusion’s plugin integrations WP Fusion includes features across our […]

Read More

HubSpot Enhanced Ecommerce

[…] your HubSpot account for sales made in: WooCommerce Easy Digital Downloads Event Espresso GiveWP Gravity Forms LifterLMS MemberPress and Restrict Content Pro Getting started Once you install the addon, Deals will automatically be added to Hubspot when someone makes a purchase on your site. The deal title will be name of the order in WooCommerce (or other supported ecommerce plugin), and the deal value will be set to the total amount of the sale. The default stage for new deals is Sales Pipeline » Closed Won, but you can change this via the Enhanced Ecommerce tab in the WP Fusion settings. If you’ve just added a new pipeline or stage, click Resynchronize Available Lists and Fields on the Setup tab to load the latest values. Products Optionally you can have WP Fusion sync products from WooCommerce (or any other supported ecommerce plugin) to HubSpot, and add those products as line items on deals. When “Sync Products” is enabled, products are automatically synced from WordPress to HubSpot at checkout When you’ve enabled Sync Products, products will automatically be created in HubSpot as people check out in WordPress. You can also manually associate WooCommerce and other products with HubSpot product IDs. For more info see the Enhanced Ecommerce Overview documentation. How it works When a customer checks out on your site, WP Fusion will create a new deal in Hubspot with the order label, date, and invoice total. This sale data will be associated with the contact record who made the purchase. If you’ve enabled Sync Products, then each of the products from the order will be synced to HubSpot with their name, price, and SKU. Each product will then be associated with the deal. Multi-currency If you’re selling in multiple currencies, for example using WooCommerce Multi-Currency, WP Fusion can sync order totals to HubSpot in the currency used at checkout. WP Fusion can sync deals to HubSpot from WooCommerce in multiple currencies. To set this up you will first need to add any desired currencies to HubSpot by going to Settings » Account Defaults » Currencies. Additional currencies need to be added to HubSpot before they can be used by WP Fusion. How it looks WooCommerce The deal is added to HubSpot and associated with the contact record of the customer A note is added to the deal containing the products purchased (if “Add Note” is selected) Event Espresso The Event Espresso transaction is synced to HubSpot as a deal, including the contact who made the registration, and a line item (in the right sidebar) indicating the ticket purchased. GiveWP The WP Fusion metabox on each GiveWP payment shows the donor’s contact ID in HubSpot, as well as the deal ID for the donation. Individual deals in HubSpot include the order details, as well as line items for the donation form and amount. Visualize GiveWP donations in HubSpot, and automatically follow up with donors using pipeline automation. Video – Enhanced Ecommerce – Hubspot WooCommerce order statuses If you’re using WooCommerce you can also associate WooCommerce order statuses with deal stages in HubSpot. This setting appears under the Enhanced Ecommerce tab in the WP Fusion settings. Map WooCommerce order statuses to HubSpot pipelines with WP Fusion. When the order status is updated in WooCommerce, the deal stage will be updated in HubSpot. Warning: It is recommended not to sync Pending payment orders with HubSpot. When this is enabled, WP Fusion needs to create a contact record and a deal in HubSpot as soon as the pending order is created in WooCommerce, and then update it less than a second later when the payment is processed. This slows down your checkout with many duplicate API calls and in most cases isn’t necessary. A more performant method of tracking incomplete payments is to use Abandoned Cart Tracking. Note: By default, running a WooCommerce Orders (Ecommerce addon) export operation from the Advanced settings tab will only export “paid” orders (Processing or Completed). However, if you have enabled additional order statuses for sync to a HubSpot pipeline, then running the export will process those additional statuses as well. This can be used to export refunded or cancelled orders to HubSpot in addition to the paid orders. Modifying the API data WP Fusion supports using filters to modify the data sent to HubSpot with an ecommerce order. Ignore free orders This example bypasses creating a deal for any free orders. function ignore_free_orders( $deal, $order_id ) { if ( empty( $deal ) ) { return false; } return $deal; } add_filter( ‘wpf_ecommerce_hubspot_add_deal’, ‘ignore_free_orders’, 10, 2 ); Exclude taxes This example subtracts the amount of tax paid (if applicable) from the deal total. function orders_tax_exclusive( $deal, $order_id ) { $order = wc_get_order( $order_id ); $deal -= $order->get_total_tax(); return $deal; } add_filter( ‘wpf_ecommerce_hubspot_add_deal’, ‘orders_tax_exclusive’, 10, 2 ); Custom deal fields At the moment WP Fusion doesn’t have a visual interface for associating WordPress data with custom deal fields in HubSpot. However you can still make this work using the wpf_ecommerce_hubspot_add_deal filter. First go into the Properties editor in HubSpot and find the internal name for your property. In this case we’re going to update the Custom Deal Text Field field, which has an internal name of custom_deal_text_field, and update it with the edit link to a WooCommerce order. function my_custom_deal_properties( $deal, $order_id ) { /* $deal is structured like: $deal = array( ‘associations’ => array( array( ‘to’ => array( ‘id’ => 123, // contact ID. ), ‘types’ => array( array( ‘associationCategory’ => ‘HUBSPOT_DEFINED’, ‘associationTypeId’ => 3, ), ), ), ), ‘properties’ => array( ‘deal_currency_code’ => ‘USD’, // currency. ‘dealname’ => ‘WooCommerce Order #123’, // title. ‘pipeline’ => ‘default’, // pipeline. ‘dealstage’ => ‘closedwon’, // stage. ‘closedate’ => 1614617984000, // closed date – microseconds since the epoch ‘amount’ => 123.00, // total deal amount. ), ); */ $deal = admin_url( ‘post.php?post=’ . $order_id . ‘&action=edit’ ); // set the custom property. return $deal; } add_filter( ‘wpf_ecommerce_hubspot_add_deal’, ‘my_custom_deal_properties’, 10, 2 ); And here in HubSpot you can see that when WP Fusion creates the deal, the custom properties are automatically populated: Customize note content If you enable the Add Note options in the WP Fusion Enhanced Ecommerce settings, WP Fusion will attach a note (also known as an “engagement”) to your newly created deals containing the products purchased and line item totals. It’s possible to override the contents of this note using the wpf_ecommerce_hubspot_add_engagement filter. /** * Add address to HubSpot note */ function add_address_to_note( $engagement_data, $order_id ) { /* $engagement_data is structured like: $engagement_data = array( ‘engagement’ => array( ‘type’ => ‘NOTE’, ), ‘associations’ => array( ‘dealIds’ => array( $deal_id ), ), ‘metadata’ => array( ‘body’ => $body, ), ); */ $order = wc_get_order( $order_id ); $order_data = $order->get_data(); $new_text = ‘ Address:’; $new_text .= ”; $new_text .= ‘Address 1: ‘ . $order_data . ”; $new_text .= ‘Address 2: ‘ . $order_data . ”; $new_text […]

Read More

Groundhogg Webhooks

You can use webhooks in Groundhogg to sync contact data back to WP Fusion installed on ano ther website. Webhooks can be used to automatically import Groundhogg contacts as new WordPress users, or trigger an update of existing users’ metadata and tags. Note: This tutorial only applies if you are using WP Fusion to […]

Read More

Intercom Webhooks

[…] have been added or removed. Having trouble receiving webhooks? Check out our troubleshooting guide. Getting started To use webhooks with Intercom you first need to log into their developer portal, via this link. Then click on your “Access Token App”. Click on Webhooks from the left sidebar to set up the webhook. The webhook […]

Read More

Maropost Webhooks

[…] WordPress site based on rules in Maropost, or update existing users’ meta data and tags. Having trouble receiving webhooks? Check out our troubleshooting guide. Getting started Go to the Manage Automations page by hovering over the Maropost Cloud icon in the upper left hand corner of your screen and  then select Automation from the menu. […]

Read More

Lead Source Tracking

WP Fusion includes the ability to detect lead sources in URL parameters, such as those used with Google Analytics. The system is quite versatile. It can look for a variety of common lead source parameters passed in URLs to your site and store these as a cookie when the user first visits your site. […]

Read More

About Webhooks

[…] CRM contact record. A “webhook” is a small piece of data sent from your CRM to WP Fusion, letting it know that a contact has been edited and the changes need to be loaded back to WordPress. Webhooks work with most of our supported platforms, for a full list please see the CRM compatibility table. […]

Read More

Flexie Webhooks

[…] WordPress site based on rules in Flexie, or update existing users’ meta data and tags. Having trouble receiving webhooks? Check out our troubleshooting guide. Getting started Go to the Manage Workflows page under the Flexie’s Workflow menu in the sidebar and create a new rule. Select a trigger for the rule, such as when a […]

Read More

Enhanced Ecommerce Changelog

[…] Requires Plugins header for WordPress 6.5 Improved – Updated order total calculation method in Zoho integration to get around rounding errors when serialize_precision wasn’t set correctly on the server Improved – wpf_ec_complete meta key with MemberPress is now set to the current time instead of true Fixed broken “Gravity Forms Entries (Ecommerce addon)” batch operation Fixed missing enhanced ecommerce settings on Gravity Forms feeds since WP Fusion 3.42.7 Fixed HubSpot getting existing invoice IDs from the MakeWebBetter plugin for non-WooCommerce orders Fixed missing logging for associating HubSpot line items with deals Fixed missing warning notice when using the Enhanced Ecommerce plugin with an unsupported CRM 1.23.4.2 – 1/29/2024 Fixed a fatal error when syncing pending orders with the CRM and a pending order was created with an empty shipping method, since 1.23.4 1.23.4.1 – 1/26/2024 Re-added the CustomerAuthorizedById field that was removed from the Salesforce integration in 1.23.4 1.23.4 – 1/24/2024 Added support for syncing HighLevel opportunities to different statuses in addition to pipelines and stages Added option (under Advanced) to delete the ActiveCampaign Deep Data connection without opening a new one Improved – Removed the CustomerAuthorizedById from Salesforce order data. It’s not a required field and was causing validation issues on some accounts Improved – Synced shipping methods will now include the shipping method title instead of just “Shipping” Improved – The Ontraport integration will always search for a product by name before creating a new one (to avoid creating duplicate products) Improved – Shipping products with Ontraport will be created based on the shipping method title, instead of just “Shipping” Improved – If pending orders are enabled for sync with WooCommerce, creating a pending order in the admin will create a corresponding contact record and deal Improved – If a pending order is edited in the admin, the deal will automatically be updated in the CRM without having to click Process WP Fusion Actions Again Fixed undefined index warnings when editing a Gravity Forms feed for a form that includes payments 1.23.3 = 11/10/2023 Fixed Error: Call to undefined function wc_get_order() when syncing non-WooCommerce orders to Drip since 1.23.2 Added support for syncing the checkout URL to Drip with EDD 1.23.2 – 11/8/2023 Added support for syncing MemberPress transaction status changes with sales pipelines in Brevo, HighLevel HubSpot, and Zoho Added support for syncing the checkout URL to Drip with WooCommerce, CartFlows, and FunnelKit Added support for updating existing deals with Brevo Added a warning when the Reepay payment gateway is configured in a way that will send duplicate data to the CRM Improved – When “Skip already processed” is un-checked during the WooCommerce Products batch operation, the cached CRM product ID will be cleared out and looked up again via API call Improved error handling with ActiveCampaign Fixed the WooCommerce Products batch operation not working unless Sync Product Edits was enabled in the Enhanced Ecommerce settings Fixed PHP warning Undefined array key “sku” in Salesforce integration when creating a new product without an SKU Fixed PHP warning Unknown property: name when syncing MemberPress transactions from the manual gateway Fixed a bug with WooCommerce Discount Rules Pro where cart-based discounts were being synced without a title Fixed Ontraport integration not syncing partially refunded orders where a single item’s quantity was refunded to zero Fixed fatal error adding new WooCommerce products with Drip, MailerLite, and Zoho when Sync Product Edits was enabled in the WP Fusion settings Fixed PHP warning performing initial sync with HubSpot when no products existed in HubSpot 1.23.1 – 8/17/2023 Improved – If you are running a WooCommerce Orders batch operation via the core plugin, and the orders have already been processed by Enhanced Ecommerce, they will be skipped (and a notice will be logged) Fixed Cancelled WooCommerce orders not updating the order total to 0 in ActiveCampaign Fixed HighLevel integration only adding opportunities to the first pipeline (requires Refresh Tags and Fields and selecting a pipeline again in the setup) Fixed Brevo integration recording orders as successfully synced even when a deal stage hadn’t been selected in the settings Fixed MemberPress integration not syncing transactions that had already been synced, despite “Skip already processed” being un-checked Fixed MemberPress Transactions export operation picking up fallback and subscription_confirmation transactions PHP 8.2.8 compatibility 1.23.0 – 7/24/2023 Added Salesforce integration Improved – If a deal is deleted in HubSpot, and updating the deal fails, WP Fusion will clear the cached deal ID and create a new deal Fixed MailerLite integration not handling errors related to looking up a shop ID or creating a new shop Fixed CRMs with products (AgileCRM, Infusionsoft, Ontraport, Zoho) updating the product name in the CRM based on the WordPress product name even when Sync Product Edits was disabled Fixed free MemberPress transactions not being synced 1.22.0 – 6/19/2023 Added MailerLite integration Fixed – v1.20.0 added WooCommerce HPOS support, but forgot to declare the compatibility. The plugin now shows up as compatible with HPOS 1.21.1 – 6/5/2023 Added filter wpf_ecommerce_nationbuilder_add_donation Improved – Custom HubSpot deal properties added using the wpf_ecommerce_hubspot_add_deal for the v1 HubSpot API will now automatically be fixed to be compatible with the v3 API Fixed WooCommerce Susbcriptions signup fees getting synced twice since 1.21.0 Removed the deprecated option to add a note to HubSpot deals, for new WP Fusion installs 1.21.0 – 5/24/2023 Added HighLevel integration Added filter wpf_ecommerce_brevo_add_deal (alias of wpf_ecommerce_sendinblue_add_deal) Updated Sendinblue integration to Brevo Updated HubSpot integration to use new v3 API Fixed an issue with WooCommerce refunds whereby if you did a partial refund on an order, and then subsequently fully refunded the order, the amount of the initial partial refund would be synced twice (causing a negative balance) Fixed WooCommerce refunds being synced to Drip twice Fixed signup fees getting synced as line items with every WooCommerce subscriptions renewal order Fixed duplicate transaction data being sent when using the Memberpress WooCommerce Plus plugin 1.20.3 – 3/28/2023 Fixed signup fees not being synced with WooCommerce Subscriptions Fixed variation names missing from product names since 1.20.0 Fixed prices for variable products not syncing correctly at checkout since 1.20.0 Fixed PHP warnings updating existing products with Ontraport 1.20.2 – 3/22/2023 Improved – Calling wp_fusion_ecommerce()->woocommerce->send_order_data() will now always sync the order, regardless of its status (fixes an issue with FunnelKit and the Run on Primary Order Accepted setting) Improved – Infusionsoft / Keap refunds will now be synced with a credit note to prevent the order from displaying as having a balance due Fixed fatal error Call to a member function get_name() on bool when trying to export WooCommerce orders that contained deleted products, since 1.20.0 Fixed error Unsupported operand types: string * int when syncing products that have no value (like Gift Cards) with ActiveCampaign 1.20.1 – 3/2/2023 Fixed fatal error (missing second argument) running the “WooCommerce Products (Ecommerce addon)” batch operation since 1.20.0 1.20.0 – 2/27/2023 Added – With CRMs that support products (AgileCRM, Drip, HubSpot, Keap / Infusionsoft, Ontraport, and Zoho), you can now sync products when they are created or updated in WooCommerce, instead of when the order is placed Added support for WooCommerce High Performance Order Storage Improved – When looking up an Infusionsoft product, if a match isn’t found by name, an additional search will be performed by SKU before creating a new product Improved – The HubSpot integration can now update deals created by the MakeWebBetter HubSpot for WooCommerce plugin Fixed broken link to Give payments in ActiveCampaign (and other CRMs with payment links) Fixed Undefined variable $payment in LifterLMS integration 1.19.3 – 12/6/2022 Added multi-currency support to Zoho integration Added option to reset the ActiveCampaign Deep Data connection ID and open a new connection Improved – Variable WooCommerce products will now be synced to Drip with their variation ID for the product_variant_id parameter Improved – Clicking Process WP Fusion Actions Again on a WooCommerce order will now trigger the Enhanced Ecommerce addon to re-sync the invoice as well Fixed Completed WooCommerce orders being exported to Drip as Fulfilled, which didn’t correctly set the order date Fixed “Invalid data passed for field” error updating deal stages with Zoho 1.19.2 – 10/26/2022 Fixed fatal error refunding MemberPress transactions with ActiveCampaign since 1.19.0 1.19.1 – 10/11/2022 Improved – Refunded item quantities will now be synced with Drip, and trigger an order refunded event Improved – Removed legacy Orders API and Events API integrations with Drip in favor of the Shopper Activity API Improved – New Completed WooCommerce orders will be sent to Drip as “fulfilled” instead of being synced as “placed” and then updated to “fulfilled” a moment later Fixed the Record a Converson Event option not working with Drip and the Shopper Activity API Fixed multiple partial refunds on WooCommerce orders not correctly being synced with Drip (only the most recent refund was synced) Fixed partial refund amounts not being rounded to two decimal places 1.19.0 – 8/29/2022 Addded Sendinblue integration Added Gravity Forms integration Added support for WooCommerce refunds and partial refunds with ActiveCampaign, AgileCRM, HubSpot, NationBuilder, and Zoho Added custom Drip properties for payment method and discount code Improved Zoho error handling for creating products and linking them with deals Improved / Fixed – Refunds will be synced to Drip with the date of the refund as the occurred_at parameter, in order to trigger the Refunded An Order workflow trigger Fixed Zoho integration not correctly detecting when the Products module was unavailable on the account Fixed MemberPress integration syncing confirmation transactions with PayPal (Standard) Developers: Moved EDD Recurring Payments edd_recurring_add_subscription_payment hook from priority 10 to 20 so it runs after the renewal meta keys have been set for the order by EDD 1.18.6 – 4/20/2022 Improved – the WooCommerce Orders (Ecommerce Addon) batch operation no longer requires the orders to be processed by the core plugin first Improved – If a non-paid order status (i.e. Pending, Failed) is linked to a pipeline in Zoho or HubSpot, then it will be exported when running a WooCommerce Orders batch operation Fixed PHP warning loading ActiveCampaign deal stages if no deal stages exist Fixed fatal error in ActiveCampaign integration if someone checked out and their existing contact record had been deleted 1.18.5 – 3/8/2022 Fixed fatal error changing WooCommerce order statuses when WooCommerce Subscriptions wasn’t active, since 1.18.4 1.18.4 – 3/8/2022 Added option to re-process already exported orders using the batch operations with WooCommerce, EDD, MemberPress, and GiveWP Improved – Sync Products with HubSpot will now be enabled by default Improved – Sync Orders with Drip will now be enabled by default Improved – If a WooCommerce order is marked completed, the date_completed will be synced for the order date instead of the date_paid Improved – If a customer checks out with a different email from their AC Deep Data customer email, and this results in an error, WP Fusion will re-send the order data with the email from their contact record Improved – ActiveCampaign Deep Data connection will no longer be deleted when disabling Deep Data 1.18.3 – 12/28/2021 Added warning about syncing Pending Payment orders with HubSpot and Zoho Added wpf_ecommerce_ontraport_add_product filter Added SKU field to Ontraport products Improved support for taxes with Ontraport — Only order items that have tax will be markd taxable Improved – If WooCommerce Subscriptions is active and the site is a staging site, order status changes will not be synced to the CRM Improved ActiveCampaign error handling so that it now looks at the response code instead of message (some errors were not being caught properly with non-English accounts) Fixed incorrect totals when syncing Ontraport product prices tax-inclusive when some cart items were tax exempt Fixed free shipping showing up in Infusionsoft as a $0 order adjustment 1.18.2 – 11/1/2021 Fixed coupons / discounts getting synced twice since 1.18.1 1.18.1 – 10/19/2021 Added support for product discounts added as adjustments to individual line items for manually created WooCommerce orders Improved – When bulk-editing the status for more than 20 WooCommerce orders, status changes will not be synced to the CRM (to prevent a gateway timeout) Fixed duplicate record error syncing products with HubSpot that have no SKU Fixed EDD discount code not syncing with ActiveCampaign Deep Data 1.18.0 – 8/20/2021 Added support for coupons with ActiveCampaign Deep Data connections Added support for exporting non-paid order statuses with HubSpot and Zoho Improved – If a deal ID is saved for a HubSpot deal, the existing deal will be updated rather than create a duplicate Improved – When a MemberPress transaction is refunded, the corresponding deal/invoice will be marked refunded in the CRM Added wpf_ecommerce_ontraport_add_transaction filter Fixed PHP warnings during initial Zoho sync if there were no Accounts in Zoho 1.17.10 – 7/1/2021 Added third parameter $order_id to wpf_ecommerce_hubspot_add_line_item filter Improved – Cancelled WooCommerce orders will now update their ActiveCampaign Deep Data total to $0.00 Updated for compatibility with Abandoned Cart Addon v1.7.0 1.17.9 – 5/31/2021 Added “MemberPress transactions (Ecommerce addon)” batch operation Fixed MemberPress integration trying to sync transactions for users with no contact record Fixed errors when WP Fusion wasn’t connected to a CRM Fixed Ontraport tax object options not populating in dropdowns Added wpf_ecommerce_activecampaign_add_deal_note filer Added wpf_ecommerce_hubspot_add_line_item filter Added wpf_ecommerce_hubspot_change_deal_stage filter 1.17.8 – 3/23/2021 Added wpf_ecommerce_zoho_add_product filter Added wpf_ecommerce_zoho_add_deal filter Added wpf_ecommerce_activecampaign_add_deep_data Added note to the settings about WP Fusion-customer tag being applied with ActiveCampaign Added note to the logs when an EDD order was blocked from being synced due to the payment gateway not being enabled Fixed ActiveCampaign Deep Data not respecting Staging Mode 1.17.7 – 2/15/2021 Improved handling for duplicate SKUs with HubSpot Fixed HubSpot not loading more than 100 products 1.17.6 – 2/10/2021 Added tracking code slug setting for NationBuilder Fixed PHP warning loading tax rates from Ontraport when there are no tax rates in the account Fixed PHP warning loading available products from HubSpot 1.17.5 – 1/12/2021 Fixed error updating WP Fusion and the Ecommerce Addon simultaneously Fixed error activating the Enhanced Ecommerce addon with WP Fusion Lite 1.17.4 – 1/8/2021 Added download image URL to ecommerce data with Easy Digital Downloads Added download description to ecommerce data with Easy Digital Downloads and supported CRMs Improved – You can now prevent an order from being synced to the CRM by returning false from the wpf_ecommerce_order_args filter Fixed HubSpot not loading more than 10 products 1.17.3 – 12/31/2020 Added super secret debug tool to clear _wpf_ec_complete flag from Give donations Added wpf_ecommerce_order_args filter Improved – ActiveCampaign integration will now give a registered user’s email address priority over the billing email ActiveCampaign module will now record a warning if a transaction comes through but neither Deep Data nor Deals are enabled Fixed Give export operation ignoring renewal orders Fixed Drip invoice ID not being saved correctly after logging a new order 1.17.2 – 11/30/2020 Fixed uncaught error when registering a new product with HubSpot failed Fixed PHP notices when syncing ActiveCampaign deal owners 1.17.1 – 11/30/2020 Improved – When ActiveCampaign gives a “The ecomOrder already exists in the system.” error, WP Fusion will try and update the existing order Improved – Disabled the Total Revenue field when ActiveCampaign Deep Data or Drip Shopper Activity was in use Fixed “Sync Attributes” in WooCommerce being enabled despite being un-checked 1.17 – 11/23/2020 Added support for products and line items with HubSpot 1.16.2 – 11/19/2020 Added support for tax objects with Ontraport Added option to send product prices tax-inclusive with Ontraport Added Fees support to Infusionsoft integration Added Give Donations (Ecommerce addon) batch operation Improved logging for deal status changes 1.16.1 – 8/25/2020 Added Drip for WooCommerce compatibility notice Fixed “The ecomOrder currency was not provided” errors with ActiveCampaign and free EDD orders Fixed order totals not syncing correctly with Infusionsoft Fixed product prices not syncing correctly when prices included tax 1.16 – 6/24/2020 Added batch operation for EDD orders Added compatibility notices when other CRM ecommerce plugins are detected Refactored ActiveCampaign integration Improved error handling for ActiveCampaign Deep Data and Customer IDs 1.15.1 – 5/2/2020 Fixed “No method matching arguments” error recording payments in Infusionsoft 1.15 – 4/27/2020 Order status changes in WooCommerce will now update order statuses in Drip Added wpf_ecommerce_hubspot_add_engagement filter Added wpf_ecommerce_hubspot_add_deal filter Fixed MemberPress free trials with 0 Net creating orders Restrict Content Pro integration bugfixes 1.14.3 – 3/26/2020 Added support for syncing product addons with Ontraport ActiveCampaign integration will now mark carts as recovered if a pending cart is found Fixed syncing WooCommerce order fees with negative values to Drip 1.14.2 = 2/11/2020 Fixed crash created while logging error from a failed API call to register a product in Zoho 1.14.1 = 2/3/2020 Fixed “Invalid data for Amount” error with Zoho 1.14 – 1/31/2020 Added MemberPress support Added support for Products with Zoho Added support for assigning a default owner to new ActiveCampaign deals ActiveCampaign pipelines / stages are no longer limited to 20 WooCommerce integration will now inherit store settings regarding product prices being inclusive vs exclusive of tax 1.13.6 – 1/6/2020 Added shipping support to Ontraport integration Zoho integration will now attempt to assign a new deal to the account of an existing contact Removed taxes, shipping, and discounts as separate products from ActiveCampaign Deep Data orders Fixed error caused with WooCommerce Dynamic Pricing and Drip’s Shopper Activity API Fixed time zone offset calculation with ActiveCampaign 1.13.5 – 11/25/2019 Fixes for line items and fees causing problems with missing product titles in Drip and ActiveCampaign 1.13.4 – 11/21/2019 WooCommerce variation images will now be sent in detailed order data Added option to disable syncing product attributes with WooCommerce 1.13.3 – 11/18/2019 Fixed bug with ActiveCampaign rejecting orders with incomplete tax data 1.13.2 – 10/21/2019 Added support for Fees with WooCommerce Improved discounts and shipping support for ActiveCampaign Fixed conflict with Event Espresso Stripe gateway 1.13.1 = 10/9/2019 Fixed UTC+0 timezone causing errors with Drip and NationBuilder 1.13 – 10/8/2019 Added NationBuilder integration Fixed time zone calculation for occurred_at with Drip 1.12 – 9/18/2019 Added refund support to ActiveCampaign Added Give (donations) support Added batch tool for resyncing AC customer IDs Increased product image size sent to Drip and ActiveCampaign Improved logging Fixed error in Drip with line item descriptions longer than 255 characters 1.11 – 8/26/2019 Added Zoho integration Added product price re-calculation for Ontraport when discounts are used Added support for custom WooCommerce order numbers with ActiveCampaign 1.10 – 8/7/2019 Added Event Espresso support Fixes for deleted products in WooCommerce 1.9.3 – 7/28/2019 Added support for sale prices on products with Ontraport Fixed additional “Properties Value is not an integer” warnings with Drip Events 1.9.2 – 7/8/2019 Added refund support for Infusionsoft Added option to send product prices tax-inclusive Added product image to ActiveCampaign order payload Added product categories to Drip Shopper Activity data Added product image to Drip order payload Added support for free trials in Woo Subscriptions 1.9.1 – 5/17/2019 AgileCRM performance improvements Updated Drip with option for newer v3 API Fixed “Properties value is not an integer” error in Drip 1.9 – 4/12/2019 Added LifterLMS support 1.8.2 – 4/8/2019 AgileCRM bugfixes 1.8.1 – 4/6/2019 Order date tweaks in WooCommerce Better date handling for orders with AgileCRM Fix for variation product IDs not saving 1.8 – 2/15/2019 Added refunds support to Ontraport Added option to update deal stages in HubSpot when WooCommerce order status is changed 1.7.3 – 2/5/2019 Added tax line item support with Drip Drip now receives proper order date (and time zone) 1.7.2 – 1/25/2019 Error handling for WooCommerce order meta data that is not a meta object 1.7.1 – 1/23/2019 Option for turning off Conversion tracking with Drip Added product ID into product dropdowns for Infusionsoft / Ontraport Integration classes can now be accessed via wp_fusion_ecommerce()->integrations->woocommerce (etc) 1.7 – 12/24/2018 Hubspot integration Restrict Content Pro integration Error handling for “The integration already exists in the system.” message with ActiveCampaign Added EDD payment […]

Read More

Switching CRMs

The time may come when you need to move from one marketing automation platform to another. Thankfully WP Fusion makes this pretty easy. Here are the steps: 1. Move your data To ensure that no data gets lost in the transfer, the best way to move your contacts over is to do an […]

Read More

Abandoned Cart Tracking Changelog

1.9.0 – 5/6/2024 Added option to delay sending any abandoned cart details to the CRM until after a delay period (experimental, currently just for WooCommerce) Added option to enable progressive updates with the WooCommerce checkout fields (previously it was on by default) Added Requires Plugins header for WordPress 6.5 Improved – High Performance Order […]

Read More

Drip Abandoned Cart Tracking

Using WP Fusion you can track abandoned carts in WooCommerce and Easy Digital Downloads and follow up on them in Drip. There are two ways to do this, either via Drip’s Shopper Activity API, or using the older tag-based method.   Shopper Activity API New The Shopper Activity API supports syncing the full cart contents […]

Read More

Staging Sites

[…] on staging sites you would want WP Fusion to be active (so you can set up content rules and test access), but not syncing any data with your CRM. The reason is, for example, if a WooCommerce subscription goes on hold on the staging site (because a payment was skipped), this could remove a tag that […]

Read More

CRM Compatibility

CRM Compatibility WP Fusion works with most of the most popular CRMs and marketing automation tools available. WP Fusion’s options within WordPress are universal across all of our supported CRMs: you can control access to page content based on CRM tags, lists, or groups, and sync data to your CRM when users register or […]

Read More

wpf_forms_pre_submission_contact_id

This filter is run when WP Fusion is processing a form submission from one of our supported form plugins. It is triggered after WP Fusion has attempted to locate a contact ID in the CRM for the form submission, but before a contact record is created / updated, and before any tags are applied. To […]

Read More

Batch Operations / Exporting Data

[…] operations are best for syncing data that can’t be easily exported any other way, for example applying tags based on MemberPress subscription statuses, or exporting WooCommerce orders. Usage To run a batch operation, select the operation you’d like to perform from the list of radio buttons and then click Create Background Task. A status indicator will appear at the top of the page showing the number of records to be processed and the number remaining. Some notes: You can leave the page while the background worker runs and it will continue to process the queue in the background. If the background process gets stuck you can refresh the page and it will pick up where it left off. It’s recommended to turn on the activity logs so you can see what data is being sent or loaded, as well as any potential errors. Note on speed: Most CRMs have some kind of API limits with regards to the number of API calls you can make in a period of time. WP Fusion pauses in between each step in the background process to avoid exceeding these API limits. How long the pause is depends on your connected CRM. Depending on the number of records you are processing, this can cause the background worker to take several hours (or even days) to complete. For example exporting 30,000 WooCommerce orders to Drip would take about 18 hours to fully process. Skip already processed In some cases, you may be asked whether you’d like to Skip already processed records. By default the batch exporter will not export the same order to your CRM twice. By default, WP Fusion will not export an order, payment, or form entry to your CRM if it’s already been successfully exported. This is to prevent creating duplicate records. If you want to go ahead and create duplicate records anyway (for example after switching CRMs or accounts), you can uncheck the Skip already processed box before clicking the start button. This will cause WP Fusion to export all orders, regardless of whether or not they were synced previously. Core methods These operations are part of WP Fusion core and aren’t tied to any particular plugin integration. They are: Resync Contact IDs Looks up every WordPress user by email address in your CRM, and updates their cached contact ID. This does not modify any tags or other data, or trigger automated enrollments. When to use it: If the cached contact IDs for your WordPress users have gotten out of sync with the contact records in your CRM, this will update that cache, so profile updates and new tags get applied to the correct contact record. This operation is sometimes preferable to Resync Contact IDs and Tags because if you’re using linked tags / auto-enrollment tags into courses or membership levels, you may not want to modify any tags until you’ve confirmed that every user is linked to the correct contact record. Resync Tags Loads updated tags from your CRM for all WordPress users who already have a saved contact ID. This also triggers any automated enrollments via linked tags. When to use it: If you’ve modified a lot of tags on a lot of contacts in your CRM (or deleted tags), this operation will bring the tags cached in WordPress for your users up to date with what’s in your CRM. This operation is faster than Resync Contact IDs and Tags because it doesn’t need to first confirm the contact’s email address. Also, if you’ve recently changed an auto-enrollment tag on a course or membership (for example with a LearnDash course), you may want to update your users automated enrollments based on their current CRM tags. Running the Resync Tags operation will trigger any automated enrollments (and un-enrollments) when the tags are loaded from your CRM. Resync Contact IDs and Tags All WordPress users will have their contact IDs checked / updated based on email address and tags will be loaded from their CRM contact record. This also triggers any automated enrollments via linked tags. This operation is the same as running Resync Contact IDs and Resync Tags, it just does both at the same time. When to use it: When a user registers in WordPress, WP Fusion stores their CRM contact ID on your site so that future updates can properly be synced. But if you manually merge a bunch of contacts (for example to remove duplicates), it’s possible that these IDs will no longer be accurate. Running a Resync Contact IDs and Tags operation ensures WP Fusion has all of your WordPress users linked to the correct contact record and has the latest copy of their tags. Export Users This operation queries any WordPress users who do not have a saved CRM contact ID. For each user, WP Fusion will first look for an existing contact record by email address. If one is found, their contact ID will be saved and tags will be loaded. If no existing record is found, a new record will be created. Any fields configured on the Contact Fields tab will be synced. Any tags specified for Assign Tags on the General settings tab will be applied. When to use it: If you’re just setting up WP Fusion for the first time, you may have WordPress users that aren’t already in your CRM or marketing automation tool. This tool lets you export those users. Apply registration tags On the General tab in the WP Fusion settings, there’s an Assign Tags option that lets you specify tags to be applied in your CRM when a user registers a new WordPress user account. These tags are only applied to new user registrations, but if you want to retroactively apply the same tags to every user already registered on the site, you can run the Apply registration tags operation. When to use it: This operation is useful if you’re trying to reconcile the counts between users on your site and contact records in your CRM. By applying the same tag to every user on your site, you can easily see how many records are missing from your CRM. Push User Meta All WordPress users with a contact record will have their meta data pushed to your CRM, overriding any data on the contact record with the values from WordPress. Any fields enabled on the Contact Fields tab will be synced. When to use it: This is most commonly used when you’ve just enabled a new field for sync (for example User ID, or Date Registered), and need to export the values from that field to existing contact records in your CRM. Pull User Meta All WordPress users with a contact record will have their meta data loaded from your CRM, overriding any data in their user record with the values from their contact record. Any fields enabled on the Contact Fields tab will be loaded. When to use it: This operation would be used when you’ve just enabled a new WordPress field for sync with a custom field in your CRM that already contained data. This operation will load that custom field data into WordPress so it can then be displayed with a shortcode or used by other plugins. Troubleshooting The background worker is a complex process. It’s designed to work across all hosting environments, without affecting the speed or stability of your site. While it’s generally very reliable, we have encountered issues with both caching and security plugins. The most common issue is that it will process a single batch of records (20 or so) and then not proceed to the next batch until the page is reloaded. To aid in troubleshooting the background worker, WP Fusion does a status check on it every 5 seconds, and outputs some status information to the JavaScript console in your browser. This will output the total list of items in the queue, as well as information about the state of the process in terms of previous action, next action, and resource utilization. Some things to note are: Most servers have a max_execution_time of 30 seconds for PHP scripts. To get around this, the background worker will attempt to restart itself when the total_time value exceeds 20 (seconds). However, if the time_last_step value is greater than 10 (seconds), this could mean that the 30 second max_execution_time gets exceeded and the process times out.This most commonly happens on slower hosts when exporting WooCommerce orders, using the Enhanced Ecommerce addon. The process of creating a contact record, applying tags, creating products, registering an invoice, and adding the products to the invoice can take a long time for each order. You can speed up this process by first running an Export Users operation before exporting your orders. Since the contact records will already exist in your CRM, this reduces the time required to process each order. WP Fusion tries to detect the available memory on your host and won’t let the background worker exceed 80% of available memory. However sometimes it’s not able to properly detect the available memory, and so memory_percent shows at 100% and the process prevents itself from running. You can disable this check by returning false from the wpf_batch_memory_exceeded filter. Because WP Fusion makes sustained requests to admin-ajax.php over a long period of time, it can sometimes get blocked by security plugins. If you notice the batch status isn’t updating, it’s possible the background request is getting blocked. To see if that’s happening you can check your site’s access logs for any traffic to /wp-admin/admin-ajax.php?action=wpf_background_process is being blocked with a 403 (Unauthorized) status. If you’re using WordFence you can also put the plugin into Learning Mode before starting the batch operation to train it to allow this kind of traffic. Rate limiting Most CRMs have some sort of API rate limiting. For example ActiveCampaign: 5 requests per second Drip: 3600 requests per hour Infusionsoft: 1500 requests per minute Ontraport: 3 requests per second Zoho: 15000 requests per day During batch operations it’s possible to hit these limits, after which you’ll begin to see error messages in the WP Fusion logs. Because most CRMs reset their rate limiting every 60 seconds, WP Fusion does not cancel a batch operation when it it’s a rate-limiting error, it will continue to try to export data, and record errors as applicable. With CRMs that have lower rate limits (such as Drip), WP Fusion artificially slows down any batch operations to avoid hitting any API limits. That is achieved using the wpf_batch_sleep_time filter. Returning a number from that filter causes WP Fusion to sleep() for the specified number of seconds before moving on to the next task. For example, to add a one second pause between each batch step: add_filter( ‘wpf_batch_sleep_time’, function() { return 1; }); Changing the timeout limit By default the batch operations will run for up to 20 seconds per cycle, before stopping and starting a new process. If you’re still getting timeout errors, you can shorten this using the wpf_batch_default_time_limit filter. add_filter( ‘wpf_batch_default_time_limit’, function() { return 15; }); Modifying the initial query In some cases, a corrupted order, deleted user, deleted product, or other unexpected data may be crashing the batch worker before it can start. You can modify the initial query using the pre_get_posts or pre_get_users filters (depending on whether the query is for posts or users). function limit_wpf_batch_size_posts( $query ) { if ( doing_action( ‘wp_ajax_wpf_batch_init’ ) ) { $query->set( ‘posts_per_page’, 100 ); $query->set( ‘paged’, 1 ); } } add_filter( ‘pre_get_posts’, ‘limit_wpf_batch_size_posts’ ); This example limits the initial query to 100 posts, and returns the first page of results (rather than trying to query all posts at the same time). function limit_wpf_batch_size_users( $query ) { if ( doing_action( ‘wp_ajax_wpf_batch_init’ ) ) { $query->set( ‘number’, 100 ); $query->set( ‘paged’, 1 ); $query->set( ‘orderby’, ‘registered’ ); $query->set( ‘order’, ‘DESC’ ); } } add_filter( ‘pre_get_users’, ‘limit_wpf_batch_size_users’ ); This example limits the WP_User_Query to the 100 most recently registered users. Cancelling Generally, you can click […]

Read More

Displaying CRM Data in WordPress

With WP Fusion it’s possible to display data from your CRM in WordPress, allowing you to personalize your site for logged-in users using data from their CRM contact record. For example: Welcome back, your next exam date is 9/9/2020. Or Your assigned advisor is Jim Jones, your learning style is Auditory. Shortcodes Using WP […]

Read More

HubSpot Abandoned Cart Tracking

Using WP Fusion you can track abandoned carts in WooCommerce, Easy Digital Downloads, MemberPress, and other WordPress plugins, and follow up on them from HubSpot. For an overview of abandoned cart tracking with WP Fusion in general, see Abandoned Cart Tracking Overview. HubSpot setup tutorial First create a static list in HubSpot for tracking […]

Read More

FluentCRM Abandoned Cart Tracking

WP Fusion’s Abandoned Cart addon works with: WooCommerce Easy Digital Downloads LifterLMS and MemberPress to automatically add customers to FluentCRM when they begin checking out on your store. After the customer’s name and email have been entered on the checkout form, the customer is added as a contact to FluentCRM (even if they don’t complete […]

Read More

HighLevel Abandoned Cart Tracking

WP Fusion’s Abandoned Cart addon works with: WooCommerce Easy Digital Downloads LifterLMS and MemberPress to automatically add customers to HighLevel when they begin checking out on your store. After the customer’s name and email have been entered on the checkout form, the customer is added as a contact to HighLevel (even if they don’t complete […]

Read More