ektagon Woocommerce to Intercom (eWI) plugin

From: $29.00 / month

Our bridging plugin that connects Woocommerce to Intercom, developed & supported actively since 2015.

Downloads, updates & plugin support are available during active subscription periods.

Tested Stable Up To:

Tested up to WordPress 6.4.1
Tested up to WooCommerce 8.5.2
Tested up to WooCommerce Subscriptions 5.1.3

(18 customer reviews)

SKU: ewi-plugin Categories: , Tags: , , ,


Written from the ground up to pass valuable user actions and information from Woocommerce to Intercom.


Keys: Added. Updated. Fixed. Removed. Thanks. Security.

Current Version

Tested up to WordPress v6.4.1
Tested up to WooCommerce v8.5.2
Tested up to WooCommerce Subscriptions v5.1.3


3 February 2024

eWI Core – `Incompatible Archive` workaround release


6 December 2023

eWI Core – Use the email as a user_hash when ‘sync by email’ beta function is enabled.


5 December 2023

eWI Core – Fixed fatal Error when guest checkouts don’t register, but when guest syncing is enabled.


5 December 2023

eWI Core – Fixed fatal Error for a lot of guest checkouts when guest syncing is enabled.


4 December 2023

– eWI Core – HPOS compatiblity

eWI Core – 404/400 endless loop when some kinds of customers were registered on Intercom via async function
eWI Core – Fixed order meta calls to be compatible with HPOS
eWI Core – More PHP8 compatibility
eWI Core – Avoid asking Intercom to create user accounts with no first or last name

eWI Core – Tested up to WordPress v6.4.1
eWI Core – Tested up to WooCommerce v8.3.1


28 August 2023

eWI Core – Fixed various PHP8 notices.


18 October 2022

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.


27 April 2022

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


20 April 2021

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


08 December 2020

Intercom API – Force version ‘1.4’ of Intercom API. In preparation for ‘2.0’ switch.

Bulk Syncing – Better handling for error status codes


26 September 2019

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()


15 October 2018

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.


28 June 2018

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.


18 April 2018

eWI Core – Bug causing fatal error when Lead converted to User in Intercom


28 March 2018

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.


12 February 2018

CRITICAL FIX – Bug causing sites to get stuck in endless loops when syncing for specific customers, due to malformed Company data.


08 February 2018

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.


07 February 2018

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


06 February 2018

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).


17 October 2017

eWI Core – Switched to new JS widget code for footer, should fix bug with Referral URL being wrong.


14 September 2017

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.


Released 28 July 2017

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.


Released 18 July 2017

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.


Released 29 March 2017

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.


Released 14 March 2017

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.


Released 09 December 2016

Bug when guest checkout syncing enabled, lead some customers to WSOD.


Released 07 December 2016

Bug with swapping from guest to registered user event syncing.
Bug that wasn’t recognising that some users exist in Intercom.


Released 16 November 2016

Long-loop bug in the visitors/convert functions.


Released 15 November 2016

(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.


Released 22 October 2016

Bug affecting syncing of new users to Intercom.
Moved Syncing of User Actions from Background to Asynchronous processing.


Released 20 October 2016

13 new filters for adding metadata to eWI events.
Bug caused by depreciated functions for customers of Custom Attributes plugin.


20 October 2016

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.


Released 18 October 2016

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.


Released 29 September 2016

Filters to subscription meta_data making it more extendable
Subscription actions to new Woocommerce Subscription Actions hooks


Released 28 September 2016

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.


Released 26 September 2016

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.


Released 23 September 2016

Fatal Error on Guest Checkouts


Released: 23 September 2016

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.


Released: 22 September 2016

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.


Released: 15 September 2016

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.


Released: 02 September 2016

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.

18 reviews for ektagon Woocommerce to Intercom (eWI) plugin

  1. 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!

  2. 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!

  3. 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! 🙂

  4. 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!

  5. Daan Dagevos (verified owner)

    Amazing tool and support was super! Hector, you helped me with everything, super thanks for that!

  6. Mohamed

    Such great functionalities and new powers to link our customer orders data with our support tool thanks to ektagon solution

  7. 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!

  8. john (verified owner)

    Great Support, and works as expected. Thank you!

  9. Jared Arambel (verified owner)

    Nice plugin. Works pretty well. The best support.

  10. quadlayers (verified owner)

    awesome plugin! greatest support

  11. hung.tran (verified owner)

    5 start, supporter help me a lot, a lot, perfect

  12. 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!

  13. timur (verified owner)

    Great plugin and excellent customer support service

  14. phj


    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

  15. 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.

  16. 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!!

    Thank youuuu

  17. 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!

  18. Anton (verified owner)

    The plugin does exactly what we need. Also the service and response of the developers is really quick. Thanks!

Add a review

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.