== Changelog == **ActiveCampaign for WooCommerce** = 2.10.5 2026-06-24 = * Improvement: Prevent checkboxes from being double-rendered on the checkout page = 2.10.4 2026-06-02 = * Improvement - added a self-triggering retry mechanism for API requests after a specific date. * Improvement - added a checkout version check to dynamically render the correct marketing opt-in checkbox (Gutenberg Blocks vs. Legacy). = 2.10.3 2026-04-15 = * Improvement - prevent external API calls during maintenance mode/archivization process = 2.10.2 2026-01-15 = * Fix - Syncing status changes into ActiveCampaign * Fix - Syncing `shop_order_placehold` type into ActiveCampaign * Fix - Getting correct count of records on historical sync page = 2.10.1 2025-08-07 = * Fix - Distinction between user ID and customer ID when syncing order * Fix - Syncing order multiple times causing automations to run twice = 2.10.0 2025-05-15 = * Improvement - Accepts marketing support for WooCommerce Blocks added * Improvement - Abandoned cart now has debug option for show all in admin (limited to 500) = 2.9.2 2025-04-29 = * Improvement - Multisite compatible permissions check * Fix - Orders not always synced to hosted * Fix - Count error on cron run fixed = 2.9.1 2025-04-14 = * Improvement - Abandoned carts that have failed to sync can be reset * Upkeep - Support page corrections * Fix - Order sync improvements = 2.9.0 2025-03-06 = * Improvement - Order sync scheduling rebuilt * Improvement - Action Schedule will be preferred with fallback to cron * Bugfix - Order sync and abandon sync process bugs resolved = 2.8.7 2025-02-13 = * Improvement - Admin settings improvements = 2.8.6 2025-02-12 = * Bugfix - Fix cron event fatal error during order sync = 2.8.5 2025-02-10 = * Improvement - Browse Session Timeouts saved as minutes = 2.8.4 2025-01-30 = * Improvement - Recovered orders should track better * Bugfix - Fixing issues discovered in WC version 9.6.0 * Bugfix - Abandoned carts would sometimes not get picked up * Bugfix - Metadata relevant to order syncing was not being saved by WC = 2.8.3 2025-01-16 = * Feature - Adding slugs to tracking options * Bugfix - Tracking no longer requires saving settings twice = 2.8.2 2025-01-13 = * Bugfix - Resolving missing whitelist class = 2.8.1 2025-01-09 = * Feature - Browse Abandonment Settings Page Management * Bugfix - Issue with synced order in ActiveCampaign not being visible in WooCommerce = 2.8.0 2024-12-10 = * Feature - Product sync now has the option to directly pull products from the database * Enhancement - Product sync will show the number of products available to sync for debugging purposes * Bugfix - Fatal errors thrown by PHP 8.2 resolved * Bugfix - Orders from WooCommerce sometimes synced to the wrong contact * Bugfix - Products missing from product sync with some plugin customizations * Bugfix - Edge case where some orders would convert to subscriptions and vanish from the store = 2.7.11 2024-11-13 = * Bugfix - URL correction for setup * Bugfix - Order created date fix * Bugfix - Abandoned cart int fix = 2.7.10 2024-10-28 = * Bugfix - Solving various issues with order update * Bugfix - Abandoned cart created date error resolved = 2.7.9 2024-10-16 = * Bugfix - Issue with our order action event has been resolved = 2.7.8 2024-10-15 = * Bugfix - WooCommerce hook for stripe added to the order sync * Bugfix - Order status changes should not get lost if done quickly * Bugfix - Added debug display items for product sync * Bugfix - Fixed product sync issue related to gathering records due to WC updates = 2.7.7 2024-09-11 = * Enhancement - WooCommerce checkout blocks supported for abandoned cart * Fix - Order pages no longer cause errors in the AC block * Fix - Various issues due to WooCommerce changes = 2.7.6 2024-07-30 = * Enhancement - Orders through Stripe will trigger the order updated hook * Fix - WooCommerce Order with Stripe payment not updating correct status * Fix - Product sync throws error on isVisible field = 2.7.5 2024-07-19 = * Fix - Grammar tokens issue resolved * Fix - Fetch parent category if variation has none set or is "uncategorized" = 2.7.4 2024-06-26 = * Enhancement - New product sync option in settings for product description selection between full or short description = 2.7.3 2024-06-17 = * Update - WooCommerce 9.0.0 compatibility updates * Tweak - Better error handling for bad records sent to ActiveCampaign * Fix - WCS not always returning all records in historical sync = 2.7.2 2024-06-10 = * Some small bug fixes * Resolved bug with historical sync subscriptions halting = 2.7.1 2024-06-03 = * Bug fixes for subscription statuses * Adding logging and minor fixes to abandoned carts = 2.7.0 2024-05-21 = * Compatible with WP 6.5.3 & WC 8.9.0 * Adds AC account feature retrieval * Corrects bugs with some status types missing in historical sync * Fixing a null error in PHP 8.1 * Corrects an error when subscriptions is not installed * Fix for subscription orders being synced incorrectly = 2.6.2 2024-04-09 = * Fixing historical sync incorrectly reporting stuck * Minor improvements = 2.6.1 2024-03-25 = * Adding a manual sync button for subscriptions * Fix for contact sync finishing but never saying it is finished * Fixing normalized status errors with order sync * Fix for subscriptions sending incorrectly to orders = 2.6.0 2024-03-11 = * Release update to sync WooCommerce subscriptions = 2.5.6 2024-01-26 = * Making support items more clear and adding hook checks * Fix for GraphQL calls returning 400 errors due to POST-GET redirects * Separating historical sync cron from new order cron * Resolving some bugs with historical sync when contacts box is checked = 2.5.5 2024-01-03 = * Fixing missing files = 2.5.4 2023-01-02 = * Custom order status mapping added to advanced settings * Fixes an issue with deleted or trashed products syncing * Adds more catches for data issues in historical sync = 2.5.3 2023-11-30 = * Resolving admin visual issues related to version 2.5.2 = 2.5.2 2023-11-28 = * Reskin design of WooCommerce admin * Do not product sync drafts = 2.5.1 2023-11-10 = * Bugfix for product types missing from product sync * Deprecating connection option id = 2.5.0 2023-11-02 = * Adding save option to support logs * Fixing product image URL bug * Add new product segment fields = 2.4.10 2023-10-18 = * Fix for customer data causing COFE issues in some cases * Improvement for contact sync in historical sync = 2.4.9 2023-10-09 = * Fixing the abandoned cart starter times * Adding more clear text for abandoned cart settings = 2.4.8 2023-10-06 = * Workaround for custom checkouts not loading abandoned cart script * Limiting extremely large numbers for ints = 2.4.7 2023-09-29 = * Product sync should not disappear * Removing product sync beta option = 2.4.6 2023-09-25 = * Product and image URL fix for abandoned carts = 2.4.5 2023-09-19 = * Product and image URL fix orders = 2.4.4 2023-09-11 = * Status is now renamed Support * Placing log viewer in the support page * Deepdata code removed = 2.4.3 2023-09-01 = * Bugfix workaround for shipping address overwriting contact details * Update to order bulk async endpoint = 2.4.2 2023-08-25 = * Minor bugfixes * Fix for custom site URLs sometimes causing historical sync to fail * Speed enhancements added = 2.4.1 2023-08-11 = * Order status update bugfix = 2.4.0 2023-08-09 = * WooCommerce HPOS compatibility * Adds a status checklist to indicate any potential problems * Revamp of status page to be more helpful * Bugfix for abandoned cart clearing & record cleanup * Adding new debug mode to reduce excessive repeat calls * Order notes should update any time a record syncs to AC * Historical sync reset button now performs table cleanup * Remove set_time calls * Fixes an abandoned cart request stall bug * Bugfix for other plugins throwing a conflict on vendor packages = 2.3.4 2023-07-21 = * Updates to vendor packages and autoload * Fixes site match for health check * Sync cron unschedules if config is not set * Fix for case where cannot activate/deactivate after update * Fixes sync updates for all order statuses = 2.3.3 2023-07-13 = * Logging changes = 2.3.2 2023-07-12 = * Bugfix for pending payment status sent as completed * Bugfix for when the JS URL contains 2 question mark characters = 2.3.1 2023-07-06 = * Fixes a bug caused by empty billing address * Fixes a bug with bad contacts on contact import * Fixes a case where get_data() from WooCommerce causes a bool error * Removing redundant vendor dependencies = 2.3.0 2023-06-14 = * Connections to ActiveCampaign can now be created from the WordPress plugin * Connections created from hosted to WC can be viewed in the plugin for easy verification = 2.2.4 2023-05-26 = * Bugfixes for empty strings sending to COFE or shipping sending empty address * Bugfix and logging for abandoned carts not syncing = 2.2.3 2023-05-19 = * Bugfix for empty shipping sent to COFE service. * Stops empty fields for accidentally getting written to AC. = 2.2.2 2023-05-18 = * Fixing issues related to non normalized statuses and failed orders in the overall sync process * Fix for an issue with get_id in order sync process = 2.2.1 2023-05-12 = * Bugfix for records not syncing due to a get_id error. * Bugfix for records having an invalid email address. = 2.2.0 2023-05-04 = * Adding new functionality to allow order syncing through COFE service * Orders can soon sync any order status to ActiveCampaign * Soon webhooks will be removed from WooCommerce as the plugin will utilize WooCommerce hooks instead. * Deepdata will soon be phased out for the new COFE service. Deepdata will still be available but not primarily used for WooCommerce. * Order detail pages now have an ActiveCampaign details box * An 'Open Contact' link will take you directly to your contact in your ActiveCampaign account. * View the sync status and data stored for the order * You can sync a specific order as new or historical * This allows you to choose whether or not to run automations on an order * Bugfix for orders missing external ID = 2.1.0 2023-03-03 = * Fixing issues with historical sync hanging * Updates to settings to include more control over historical sync * Simplifies the historical sync page = 2.0.2 2023-01-27 = * Fixing product stock sync * Reducing COFE product sync calls and fixing a connection bug * Adding a fallback status check for cancelled and failed orders * Order notes will note how the sync originated = 2.0.1 2023-01-26 = * Fixing the check email function causing stall in historical sync * Reducing memory consumption and process for historical sync * Fixing product sync bugs = 2.0.0 2023-01-13 = * Major change to how historical sync process functions = 1.9.8 2022-12-19 = * Bugfix for abandoned cart process * Extra security patch = 1.9.7 2022-12-16 = * Patches Up Security Vulnerability * Updates Model for COFE Syncs = 1.9.6 2022-12-07 = * Bugfix for abandoned cart sync & add to cart customerid errors * Bugfix for products not syncing due to product attribute naming * AC Cronjobs will now be removed and re-scheduled on settings save = 1.9.5 2022-12-02 = * Bugfixes for 400 errors in historical sync * Bugfix for connection issues and improvements to repair * Bugfix for product variations = 1.9.4 2022-11-21 = * Bugfixes for historical sync 400 errors = 1.9.3 2022-11-18 = * Products will now sync to ActiveCampaign on creation, update, or stock change * Removing HTML and limiting product descriptions when syncing products = 1.9.2 2022-11-07 = * Various fixes for product sync = 1.9.1 2022-11-02 = * Fix for product sync status = 1.9.0 2022-11-02 = * Adding product sync feature = 1.8.1 2022-10-31 = * Various bugfixes for abandoned cart, customer data, and order syncing. * Adding a retry for timeouts and connection failures. * Adds a version number to logging to track which version threw specific errors. = 1.8.0 2022-07-27 = * Adds a status for cron jobs * Vendor file updates * Bugfix for null orders * Bugfix for conversion to cents issue * Bugfix for order processing hooks not having a session available * Bugfix for contacts not syncing = 1.7.14 2022-09-07 = * Bugfix for some accounts not syncing live orders = 1.7.13 2022-08-31 = * Limits how often background services are run * Adds a foreground job to trigger functions that are not happening in cron * Adding more clarity to abandoned cart status * Fixes the source status for sync * Cleanup and bug fixes for syncing new orders * Bugfixes for abandoned carts not syncing * Bugfix for coupon codes * Adds simple report info to the status page * Add transparency to order sync and health check = 1.7.14 2022-09-07 = * Bugfix for some accounts not syncing live orders = 1.7.13 2022-08-31 = * Limits how often background services are run * Adds a foreground job to trigger functions that are not happening in cron * Adding more clarity to abandoned cart status * Fixes the source status for sync * Cleanup and bug fixes for syncing new orders * Bugfixes for abandoned carts not syncing * Bugfix for coupon codes * Adds simple report info to the status page * Add transparency to order sync and health check = 1.7.12 2022-08-09 = * Hotfix for new orders wrongly syncing as historical sync * Fixes inconsistent automation triggers = 1.7.11 2022-08-04 = * Bugfix for when historical sync is run background without contacts box checked = 1.7.10 2022-08-03 = * Added a cache flush and time extension to historical sync to keep the process from crashing * Resolved a bug with the contact sync and phone number lookup * Added more detail to the historical sync page = 1.7.9 2022-07-18 = * Added contact syncing to historical sync for all contacts regardless of order status * Reverted live order syncing to single record create/update to resolve various bugs = 1.7.8 2022-06-22 = * Bugfix for abandoned carts not syncing = 1.7.7 2022-06-09 = * Bugfix for order totals syncing with the incorrect value * Bugfix for abandoned cart date check issues = 1.7.6 2022-05-25 = * Bugfix for serialization error and guzzle handling = 1.7.5 2022-05-24 = * Abandoned cart pricing fix * Bugfix for handling Hosted returned errors, better timeout handling * Various minor bug fixes = 1.7.4 2022-05-16 = * Bugfix for AC table missing * Bugfix for upgrade action called wrongly = 1.7.3 2022-05-09 = * A note will now be added to orders when they are synced to AC * Bugfix for historical sync using too many resources * Debugging output added to historical sync * Corrected table name length issues * Bugfix for checking order statuses = 1.7.2 2022-03-20 = * Bugfix for payment pending orders getting synced before they are processed = 1.7.1 2022-03-19 = * Hotfix for a fatal error when an order hook runs but there is no WooCommerce session = 1.7.0 2022-03-18 = * All finished orders are now tracked and synced through a background process and bulk synced every minute * Finished orders will no longer send as part of the customer order process speeding up order processing * Better tracking for abandoned carts passing to recovered orders * Orders that cannot send will be retried every minute until they do send to ActiveCampaign * Issues with duplicate orders and abandoned carts should now be resolved * Issues with false abandoned carts should no longer happen * Changing class checks to method checks to reduce errors on products and orders with unexpected classes from WooCommerce * Adds a default option for custom email field and fixes the custom email field fallback for JS plugin conflicts = 1.6.11 2022-03-16 = * A message has been added informing admins that soon the official ActiveCampaign plugin will be required to use this plugin = 1.6.10 2022-03-14 = * Fixing an error when API calls time out and adding retries to historical sync on connection timeout * Adding a manual offset for historical sync and limit select box * Fixing pagination on abandoned carts = 1.6.9 - 2022-03-07 = * Changing sync to use product short description if filled out and removing html from description field * Fix for incorrect abandoned cart dates * Fix for historical sync hanging * Fixing the accepts marketing nonce error from stopping accepts marketing function = 1.6.8 - 2022-02-21 = * New connection health check will notify admin if there are connection issues and check to make sure ActiveCampaign APIs can be reached * Adds various checks for connection issues and better handling for ActiveCampaign APIs * Resolves memory overflow issues with object storage in historical sync * Bugfix for handling WooCommerce returning null products and orders * Bugfix for various errors in historical sync, order sync, and abandoned carts = 1.6.7 - 2022-02-07 = * Hotfix for rounding errors reported in the order syncing process = 1.6.6 - 2022-01-31 = * Bugfix for historical sync hanging * Historical sync error fixes for products not being retrieved properly = 1.6.5 - 2022-01-21 = * PHP 7.4 & 8 compatibility fixes * Bugfixes for abandoned cart & historical sync = 1.6.4 - 2022-01-13 = * Various compatibility bugfixes = 1.6.3 - 2022-01-11 = * Bugfix for historical sync running but syncing zero records = 1.6.2 - 2022-01-06 = * Bugfixes for abandoned cart syncing duplicates of orders * Various bugfixes for historical sync = 1.6.1 - 2021-12-14 = * Bugfix for historical sync date * Bugfix for orders with multiple categories * Various fixes for abandoned carts = 1.6.0 - 2021-12-07 = * Bulk sync is now available for the historical sync process in the plugin * Speeds up the sync process dramatically * Resolved a few minor bugs and logging cleanup = 1.5.4 - 2021-12-02 = * Hotfix for finished order process = 1.5.3 - 2021-11-15 = * Hotfix for urgent abandoned cart bug = 1.5.2 - 2021-11-15 = * Hotfix for bad build that caused composer to miss a class that autoload of abandoned cart to be missing = 1.5.1 - 2021-11-11 = * Bugfix for completed orders being marked as abandoned cart orders in ActiveCampaign * Adds a backup method to make sure an order that failed to send to ActiveCampaign will resend during the abandoned cart sync = 1.5.0 - 2021-11-02 = * Adds a first version historical sync page where a historical sync can be run as a background process within Wordpress instead of ActiveCampaign. * Allows direct sync from WooCommerce to the Hosted API. * Allows the admin to view progress of historical sync & cancel/pause the sync process within the ActiveCampaign plugin historical sync page. = 1.4.10 - 2021-11-01 = * Bugfix for checkbox and JS not loading on the checkout page in some cases * Bugfix for an abandoned cart that has already been synced becoming a new abandoned cart = 1.4.9 - 2021-09-22 = * Updated activation and setup to make configuration easier * Bugfix for numbers with more than 2 decimals & concat error in the stack trace = 1.4.8 - 2021-09-13 = * Bugfix for WooCommerce orders showing as duplicates in ActiveCampaign = 1.4.7 - 2021-08-20 = * Various bug fixes and logging improvements = 1.4.6 - 2021-08-17 = * Adds advanced helper buttons to debug connection issues and clear settings without uninstalling the plugin * Bugfix for zero total orders that fail validation but are supposed to be zero = 1.4.5 - 2021-08-02 = * Adds a total value check fallback to double check we have the order total. * Adds validation of order before sending to ActiveCampaign. * Feature change for debug mode: debug messages will no longer post to the logs if debug mode in the plugin settings is off. Reduces log waste. * Bugfix to stop record mismatches when looking up an existing order in ActiveCampaign. * Bugfix for UUID reset happening at the wrong time causing some finished orders to record as abandoned carts. = 1.4.4 - 2021-07-22 = * Bugfix to check if undefined functions wc_admin_url() & wp_get_scheduled_event() are available. * Bugfix for array_walk issue to make sure the WC_Order is not set to null during checkout. * Bugfix for get() on null error on order processing. * Bugfix for zero dollar totals * Bugfix for error on dropping the table on deletion of the plugin * Adds catches for more error conditions = 1.4.3 - 2021-07-15 = * Bugfix for array_walk error. * Adding more error handling. * Extending the connection timeout so customers with slower connection to ActiveCampaign can send data. = 1.4.2 - 2021-06-29 = * Bugfix for abandoned cart report page errors * Allowing admin to force sync an abandoned cart row = 1.4.1 - 2021-06-23 = * Plugin now surfaces errors to admin with a dismissible notice. * You can find a list of the last 10 errors related to this plugin in this plugin's status tab to help quickly identify problems. * Added an abandon cart manual sync button to allow manual re-running of the abandoned cart sync process. * Added the ability to delete individual rows from the abandoned cart page. = 1.4.0 - 2021-06-14 = * New menu item for ActiveCampaign features. * Guest abandoned carts now sync as a background process creating more reliable data in ActiveCampaign. * All abandoned carts are now synced on an hourly basis. * New abandoned carts status page shows abandoned carts in WooCommerce and their current status. * Contacts and phone numbers now properly sync to ActiveCampaign when orders are placed. * Bugfix for various cases where "place order" hangs or errors and causes orders to not be placed. * Bugfix for accepts marketing selection not always being set in ActiveCampaign. * Bugfix for duplicate orders appearing in ActiveCampaign. * Bugfix for orders marked as abandoned no longer create bad records as both abandoned and completed in ActiveCampaign. = 1.3.6 - 2021-05-10 = * Bugfix for Normalizer fatal error issues, removing Normalizer dependency = 1.3.5 - 2021-04-22 = * Fixes a bug surfaced by the 1.3.4 fix which caused an error when admin updates an order = 1.3.4 - 2021-04-22 = * Fixing a bug that sent orders using external payment methods to ActiveCampaign (Paypal, Stripe) before the order was complete. = 1.3.3 - 2021-04-20 = * Resolving a javascript error with the copy to clipboard function * Adds the connection id output to the status tab * Bugfix for adding all categories to the abandoned cart product send * Adding a new process to manage sync of abandoned carts for registered users * Adding more checks and safety points to keep orders from failing to process * Resolving a bug that stops orders from finishing = 1.3.2 - 2021-03-30 = * Bugfix for logger error when the plugin isn't configured properly * Bugfix for checkbox configuration issues * Adding a vendor library to always format money properly when sending to AC * Adding a missing package that was causing fatal errors on some installs * Add a new customer to ActiveCampaign on registration, also adds a synced to AC time to metadata for users/contacts = 1.3.1 - 2021-03-18 = * Adding an API test button to verify that the connection to the customer's ActiveCampaign account is valid without needing to save * Bugfix adding a check to verify the orderProducts exists and is an array. * Bugfix for request errors when the plugin is not configured or there are settings issues * Bugfix for orders not completing and 500 errors when users try to place an order * Bugfix for Javascript syntax errors on iPhone/Safari devices = 1.3.0 - 2021-03-01 = * The admin settings link on the left menu has moved from Settings to WooCommerce * New feature - Adding functionality to send orders to AC on order completed instead of waiting for webhooks (webhooks will still run in case this process fails) * Upon sending to AC a metadata field will be added to orders to track last sync time for that order to ActiveCampaign * New feature - Adding an advanced admin field to customize the email ID we bind on for abandoned cart * New feature - Adding an admin status page = 1.2.16 - 2021-02-17 = * Bugfix for abandoned carts not sending product image, sku, or url = 1.2.15 - 2021-02-03 = * Updated description copy * Updated WooCommerce compatibility version tested = 1.2.14 - 2020-12-16 = * Bugfix for repeat guest orders not syncing to ActiveCampaign * Fix for abandoned carts not being sent to ActiveCampaign due to checkout ID conflicts * Adds error logging for marketing checkbox issues * Updating compatibility reference for Wordpress 5.6 and WooCommerce 4.8 = 1.2.13 - 2020-11-05 = * Resolving errors resulting from files missing in the package = 1.2.12 - 2020-11-04 = * Updating compatibility documentation = 1.2.11 - 2020-06-02 = * Fix bug with abandoned cart when there is no logged in customer * Improve logging = 1.2.10 - 2020-02-17 = * Upgrade Guzzle for bug fixes * Fix email validation * Send first and last name to guest abandoned carts = 1.2.9 - 2019-12-17 = * Improve nonce validation = 1.2.8 - 2019-07-31 = * Register plugin with version number for cache busting purposes = 1.2.7 = * Fixed incompatibility with Aero Checkout plugin = 1.2.6 = * Update Guzzle = 1.2.5 = * Added more info to logs. Fixed imports and doc blocks. = 1.2.4 = * Added WooCommerce version check = 1.2.3 = * Prevent erroneous abandoned carts = 1.2.2 = * Prevent vendor package collisions with other plugins * Increased error logging for easier debugging = 1.2.0 = * Accepts Marketing for Guests * Local setup and readme updates = 1.1.0 = * Added support for guest abandoned carts = 1.0.3 = * Prevent edgecase where updating the Abandoned Cart time causes an exception = 1.0.2 = * Allow Woocommerce API calls to work when Wordpress is behind a load balancer * Fixed a bug where abandoned cart functionality would not work if an item had no categories = 1.0.1 = * Prevent exceptions from breaking WooCommerce cart functionality = 1.0.0 = * Initial Release