Written from the ground up to pass valuable user actions and information from Woocommerce to Intercom.
Keys: Added. Updated. Fixed. Removed. Thanks. Security.
Tested up to WordPress 6.0.3
Tested up to WooCommerce 7.0.0
Tested up to WooCommerce Subscriptions 4.6.0
eWI Core – Contextual links to wp-admin in meta data for products/orders.
eWI Core – Currencies added to pricing in meta data of events.
eWI Core – Fixing of an endless loop and huge debug log files on specific servers.
eWI Core – Reattach `ewi_event_data` filter used by Multi Shop addon and others.
eWI Core – Loop when user cannot be registered in Intercom.
[Beta] eWI Core – Beta: Setting to sync by email instead of user_id.
eWI Core – New asynchronous background queue for syncing events and tags.
eWI Core – Sped up checkout processing via grouping, delegated & async syncing.
eWI Core – Filters: `ewi_product_tag`, `ewi_category_tag`, `ewi_before_tagging_tags`.
eWI Core – Switched 14 inline events to asynchronous queue.
eWI Core – Background and Asynchronous third-party classes.
Subscriptions – Switched subscription smart-tagging to asynchronous queue.
Intercom API – Improved version header that rarely caused endless loops.
Subscriptions – Filter: `ewi_subscription_payment_meta` deprecated
Intercom JS – Don’t sync user meta like timezone, city, etc when using ‘Switch User’ plugin, by dynamically disabling JS widget.
eWI Core – Tested up to WordPress v5.7.1
eWI Core – Tested up to WooCommerce v5.2.2
Subscriptions – Tested up to v3.0.15
Intercom API – Force version ‘1.4’ of Intercom API. In preparation for ‘2.0’ switch.
Bulk Syncing – Better handling for error status codes
Bulk Syncing – Ability to cancel a Bulk Sync.
Bulk Syncing – Status output of a Bulk Sync in a wp-admin notice.
Bulk Syncing – Add better handling for rate-limiting by Intercom API.
Admin UX – Make admin panel smarter, toggling fields based on selections.
Bulk Syncing – Reduce references to PAT.
Bulk Syncing – Switch from deprecated /bulk/ endpoints to individual user syncing.
ewI Core – Fixed bug causing “Trying to get property ‘id’ of non-object” error in logs from ewi_convert_visitor()
Subscriptions – Added Smart Tagging.
eWI Core – Improved multisite compatibility for the Multi-shop addon.
eWI Core – If ‘Thank You’ page actions enabled, also update ‘last_payment_at’ attribute.
eWI Core – Added actions ‘ewi_before_footer_js’ and ‘ewi_after_footer_js’ (with $appID and $init_array variables)
eWI Core – Fixed fatal error on some hosting environments when debugging can’t write to files.
eWI Core – Moved the count updater to avoid occasional PHP Notice about $user_id not being set.
eWI Core – Rolled back ewi_custom_attribs() from asyncronous to inline sync to Intercom.
Bulk Syncing – Added ‘ewi_bulk_sync_batch_size’ to allow for changing of batch size.
Bulk Syncing – Bug preventing companies/phones from sometimes being synced correctly.
Bulk Syncing – Replaced old user count with more efficient count_users().
eWI Core – Switched ewi_custom_attribs() to asyncronous sync to Intercom.
Subscriptions – Module refactored to improve compatibility with WC3.0+ CRUD functions.
Subscriptions – 3 new powerful filters, 6 filters deprecated.
eWI Core – Product title tagging updated to be more compatible with WC3.0+ changes.
ewI Core – Replaced deprecated call to order->id with order->get_order_number() in ewi_convert_lead().
Settings – Renamed ‘Payment Completed’ settings to ‘Order Completed’ for clarity.
eWI Core – Don’t tag Subscription products in cart on Completed/Thank You triggers, defer to Subs module.
eWI Core – Stopped full body response from being sent to debug log from Asynchronous Syncing to avoid privacy breaches.
eWI Core – Bug causing fatal error when Lead converted to User in Intercom
eWI Core – Notice of $current_user variable not being set for logged out checkouts.
eWI Meta – Bumped the version numbers of the plugin to be ready for Licencing and Auto-updates.
CRITICAL FIX – Bug causing sites to get stuck in endless loops when syncing for specific customers, due to malformed Company data.
Bulk Syncing – If enabled, sync ‘user_role’ custom attribute.
Bulk Syncing – Filter ‘ewi_bulk_sync_roles’ moved to background syncing modules.
Bulk Syncing – Phone and Company variables moved to background syncing modules.
Bulk Syncing – Bug – user selection for bulk sync was beign ignored.
Bulk Syncing – Old (pre-background) bulk syncing function.
Bulk Syncing – Filter ‘ewi_bulk_sync_roles’ to adjust which roles get synced.
eWI Core – ‘WC requires at least’ and ‘WC tested up to’ added for upgrade notices.
eWI Core – Bug preventing Categories to be tagged if toggled on either thank you page or order completion
ewI Core – Phone number to lead conversion, register user, footer JS code, bulk sync functions.
ewI Core – Company name to lead conversion, register user, footer JS code, bulk sync functions.
eWI Core – ‘ewi_add_footer’ to allow for optionally disabling the JS footer by user.
eWI Core – Filter: ‘ewi_bulk_sync_item’ to manipulate data item for each user during bulk sync.
eWI Core – Filter: ‘ewi_footer_js_attribs_all_visitors’ to manipulate custom attributes for all customers (including guests).
eWI Core – Switched to new JS widget code for footer, should fix bug with Referral URL being wrong.
eWI Core – Check for Token existence with persistent notice, before code initialised.
In preparation for switch to OAuth from Personal Access Tokens.
Bulk Syncing – Added check for Settings before allowing sync to initiate.
Bulk Syncing – Bounce out of bulk syncs on Unauthorised result from Intercom.
eWI Core – Error handling for debug logging file is now more silent.
Intercom API – Deprecated handling of API Key sets to only allow for PATs.
Woocommerce – Toggleable – Sync user role in footer.
Woocommerce – Added total_discount and total_taxes to meta_data for completed order events.
Woocommerce – Switched to new WC ->get_x functions.
Woocommerce – Switched to ‘wc_get_order()’.
eWI Core – Link to Intercom Developer console and Secure Mode pages.
Woocommerce – Filters to disable hooks/actions
Subscriptions – Filters to disable hooks/actions
Bulk Syncing – Over the top debugging for recursive testing on big sites (5,000+ customers).
Bulk Syncing – Debugging for Intercom Background Jobs
Bulk Syncing – Added usleeps to try avoid throttling for big sites.
Bulk Syncing – Bug that only sent across 10% of customers when there were 99+ to sync.
Added actions/tagging triggers to thank-you page. (toggle-able via settings, off by default)
Tag customer with ‘subscriber’ if they have any active subscriptions.
Tag/untag customer with product name based on their subscription status (toggle-able with Settings -> Tag with Product Titles)
eWI, Woo Core, Woo Subs and Intercom Syncing Functions refactored into classes/traits.
Bulk syncing refactored into syncing smaller chunks to avoid execution time-outs on some environments.
Woo Subs actions/filters for > 2.1.0.
Cast total_spend custom attribute values to Float from String.
Intercom API Keys functionality fully deprecated and removed. PAT toggle to be removed from settings in 1.0.0
Event ‘subscription status changed’ on subscription status change.
Bug when guest checkout syncing enabled, lead some customers to WSOD.
Bug with swapping from guest to registered user event syncing.
Bug that wasn’t recognising that some users exist in Intercom.
Long-loop bug in the visitors/convert functions.
(Toggleable) Foundation for syncing guest/visitor actions to Intercom.
(Toggleable) Sync username across to Intercom.
API Key field from settings.
Switched action-triggered events to firing inline, as it was slowing down AJAX functions.
Bug affecting syncing of new users to Intercom.
Moved Syncing of User Actions from Background to Asynchronous processing.
13 new filters for adding metadata to eWI events.
Bug caused by depreciated functions for customers of Custom Attributes plugin.
Background processing of API calls to Intercom.
First phase of re-organising code for more rapid debugging ahead of v.1.0
Immense hat-tip and outry of thanks to Ashley Rich for open-sourcing his awesome WP Background Processing plugin, which is used to handle background syncing and making the plugin invisible on front-end! Huge thanks to our awesome customers at Yumi for pointing us to the Background Processing codebase in a request.
Toggle-able Secure Mode for ensuring privacy of conversations with logged in customers.
Better handling for failed logging when permissions don’t allow for creating log file.
Better handling of errors fetching API results.
Filters to subscription meta_data making it more extendable
Subscription actions to new Woocommerce Subscription Actions hooks
Ability to remove tags from users via the actions (foundation set).
Bug that was corrupting the Intercom JS footer on some servers.
Massive thanks to Micky for reporting the bug.
Filters on registration functions to make syncs even more extendable.
Toggle for hiding the Guest Checkout warning on Woocommerce settings page.
Better handling of registering new users on Intercom when checking out.
Strings of data converted to arrays and converted to JSON for better handling.
Bug not tracking some woo hooks for logged in customers.
Bug with product titles and cats not sometimes being synced on checkout.
Fatal Error on Guest Checkouts
Filter ‘ewi_bulk_sync_attribs’ to extend Bulk Sync functionality
Action from bulk sync function.
Changed initialisation to set all hooks up regardless of logged in state.
Allowed for JS footer to work for non-logged in users if toggled on.
Rebuilt Bulk Sync to use /bulk/ API instead of individual calls. Now 15x faster!
Massive thanks to @mwhatters from Intercom’s Dev Support, who went above and beyond to help us debug a server error with the new Bulk Sync function.
Action to bulk sync to allow other functions/plugins to hook in later.
Made sure bulk sync also syncs across Woocommerce Subscribers.
Moved admin notice about ‘Guest Checkouts’ to only show in Woocommerce settings pages.
Thanks to Benjamin for sending over a patch for Bulk Sync bug.
Bulk syncing of customers, order counts and total spends.
Note: Bulk sync will trigger as soon as the link is clicked and can take between 10s and 1m to finish.
New factory function for sending across custom attributes for users.
Notices for sites who have Guest Checkouts enabled.
New ‘eWI bespoke attributes’ addon product & service now in beta (Please contact ektagon support when logged in for more info)
Remove debug logging of data for ‘users’ endpoint, to avoid emails and names in log file.
Better handling for fetching of settings to make toggles of new functionality more robust.
When only using PAT, hooks weren’t being activated correctly.
Replaced die()’s with error_log()’s on debug function to avoid killing pages when debug file cannot be opened.
Re-enabled triggered action on checkout and creation of customer accounts.
Toggle for switching to Personal Access Tokens from API Key sets. (See blog post for more info)
Small bug that wouldn’t sync across usernames for some customers who returned since plugin was installed.
Small bug not syncing across registration date with Intercom user creation.
Tweak – Renamed the ‘Intercom App Secret’ field to ‘Intercom API Key’ to be in-line with Intercom’s terminology.
Allow new customers to be given a tag of choice when synced to Intercom.
Ability to toggle events per hook.
Syncing previous orders/customers to Intercom
Replaced depreciated ‘get_currentuserinfo’ with ‘wp_get_current_user’. Thanks Warren for submitting request.
More commenting and prepping for thorough documentation as we prepare for the data-syncing functions previously promised when launching v1.1.0
As requested, can now tag a user with either/both Products’ Category Slug and Products’ Names on Completed Order.
As requested, variation_title now synced as meta-data to events generated via Woocommerce Subscription
As requested, toggle can now turn off inserting Intercom JS into footer.
Recursive handling of syncing when user doesn’t already exist in Intercom. Fixes several reported bugs.
As requested, removed automatically tagging of new customers with their Role type when synced to Intercom.
Bug was preventing Intercom JS from being injected into footer for some users.
Made sure all syncing of customer info sends over First Name and Last Name instead of display name.
Some servers were throwing a fatal error on activation of plugin.
Rough handling of Woocommerce Subscription Actions (activated subscription, cancelled subscription, subscription end of prepaid term, subscription expired, subscription put on hold, subscription trial ended, subscription payment, and subscription payment failure)
Moved Settings to Integrations Page under WC Settings
cart removed action wasn’t carrying Product Title meta correctly
cart removed and cart added meta data has a trailing , which broke JSON parsing
Hooks now fired on: New user registered, Viewed account page, Password reset, Address updated (both billing and shipping) , Searched for anything , Viewed product page , Added anything to cart, Removed anything from cart, Viewed cart page, Coupon applied to cart, Checkout process started, Payment process completed, Viewed past order details, Clicked to track order, Downloaded File, Ordere Re-ordered, and, Order cancelled
Connected 17 woocommerce action points to intercom.
Add user-role ‘tag’ in intercom.
Create user in intercom.
Throw intercom JS to front-end footer.
Jonas S. (verified owner) –
Plugin works as advertised. Staff is very friendly and helpful throughout purchase, installation and troubleshooting. App is being working on on a daily basis for improvements and updates. Good stuff!
Wesley Nappi (verified owner) –
Great customer support, I’m not a programmer and seem to have problems whenever I’m working with Intercom. Just as expected I had trouble but the customer support stayed with me the whole time and helped me get the app working perfectly. The experience was much much better than I’m used to it was what you wish you had every time you purchased a product.
Thank You EKTAGON!
Murtuza Kazmi (verified owner) –
Amazing, friendly and very knowledgeable support. Guided me through the install and troubleshoot and made sure I was up and running. And oh yeah, plug in is good too! 🙂
FUNCiFUR (verified owner) –
A plugin that “just works” from the start and with brilliant and fast support via chat (after logging in) whenever necessary. We tried many other options including using Zapier, but when we realised that you can also transfer behavioural data (such as web sessions, page name visits etc) the decision was easy! Nothing less than a five star review!
Daan Dagevos (verified owner) –
Amazing tool and support was super! Hector, you helped me with everything, super thanks for that!
Such great functionalities and new powers to link our customer orders data with our support tool thanks to ektagon solution
Neil Woodfine (verified owner) –
Fantastic plugin, ridiculously easy to setup, couldn’t find anything that came close in terms of enabling me to segment Woocommerce customers and automate communications. Most importantly the service has been continually top notch over the year. Take my money!
john (verified owner) –
Great Support, and works as expected. Thank you!
Jared Arambel (verified owner) –
Nice plugin. Works pretty well. The best support.
quadlayers (verified owner) –
awesome plugin! greatest support
hung.tran (verified owner) –
5 start, supporter help me a lot, a lot, perfect
d.versluis (verified owner) –
Honestly amazing plugin, offers so much customization you would need when working with WooCommerce and Intercom. Support was instantly there when I had questions and just all around great!
timur (verified owner) –
Great plugin and excellent customer support service
The best plugin if you try to connect intercom and woocommerce everything will just work out of the box!
Also, the fast and reliable support makes it a must buy if you’re using intercom en WC
dave (verified owner) –
The Woocommerce to Intercom plugin will easily pay for itself in the first week of use and my small staff loves the integrations. Frankly, I wish Woo Commerce’s plugins worked as well as this plugin does.
The only thing better than the plugin is the support Hector offers. I can’t speak highly enough about his work ethic, ability to do what he says he will do, and the professional manner in which he does it. I wish all of my technical partners were this good.
Roberto Chiera (verified owner) –
I love this plugin and I love ektagon for 2 simple reasons:
1 – the support is Awesome and Hector take really care of his customer!
2 – This plugin save me wasting tons of time and the development is continuous!!
Brett Henrichsen –
Simply THE plugin for WordPress and Intercom. When I first started using Intercom, I was shocked that their own plugin was so basic and lacking in any kind of real functionality. So I googled “intercom plugin” and found ektagon.
WOW. Simply, this should be the official plugin, it’s so good. Everything is thought of, and if you need anything or have questions, response time is immediate! They even have the option to sign up for your very own customizations.
You couldn’t ask for a better plugin, this makes Intercom and WordPress/Woocommerce SEAMLESS and is worth every penny!
Anton (verified owner) –
The plugin does exactly what we need. Also the service and response of the developers is really quick. Thanks!