Our client had a WooCommerce Subscription based website. They wanted so that their customer email entries are synced with their MailChimp account. They also wanted so that the users are grouped under certain groups based on their subscription status.
Our task mainly was to:
- Group users based on their subscription status in MailChimp
- Change user group in MailChimp when their status changes
- Ensure that integration respects MailChimp for WooCommerce, WC and WC Subscriptions
- Implement a initial sync feature to synchronize 17000+ subscribers into MailChimp
- Ensure backend settings for everything implemented
The project was simple with some fair amount of details and a lot of testing ahead.
Here’s how we solved the problem:
Client had separate groups in mind for MailChimp. This was crucial to keep track of the 17000+ users they had on their MailChimp account. Each group for each status of the subscription. Users were there already but they were not grouped accordingly.
Groups Based on Status
In a subscription based environment it is common to change status of the subscription. When subscription status changes, client wanted that the group of the user should change too, to sync with MailChimp better. We used hooks related to status change for this feature.
Support for Existing Setup
Client had MailChimp for WooCommerce installed. It already had API information input, so we had to share the information with the plugin. We also had to make sure that we maintain a compatibility with the way the plugin lists users, so that it remains consistent.
Our client had 17000+ users on their MailChimp account. It was already synced to MailChimp using MailChimp for WooCommerce plugin. But the group changes were not applied there. We can handle new ones, no problem. But we had to take care of those existing users. So we had we implement a Sync feature for those initial records.
We had to implement settings on the backend to allow for a better control. We implemented backend settings pages for the initial sync and MailChimp integration. We implemented pause resume feature for the initial sync so that the operation can be resumed for this lengthy task.
Are You Interested?
We can get you hooked to a similar project!
Some images might be subject to copyright. In case otherwise stated, the copyright belongs to the copyright holder.