Re-opening this topic for the new backlog review process:
@Peter-Schmidt
@vlad.z
Referring to the existing backlog item here:
Mailchimp Full CRM Sync, Existing Mailing List Sync, Double Opt-in And Subscription Status
And combining this backlog item:
WYSIWYG interface In Mailchimp Integration
So, in summary of these existing items:
- Sync all/relevant CRM data to MailChimp (particularly Phone number)
- Disable forced double opt-in (see above for notes on this)
- Enable MailChimp āTagsā and āGroupsā during the subscribe process.
- Enable WYSIWYG editor for the Treepl email campaign editor.
FURTHER DETAILS
Connectivity to online marketing and communication tools is paramount to modern websites and eMail marketing is still one of the most cost-effective and powerful marketing/communication mediums.
It can be used in so many different ways and has the potential to automate and customise many aspects of website content management and personalisation.
BC was onto something great with built-in email marketing that could utilise CMS data for campaign content as well as how and who the campaigns were sent to - but of course, it never reached its potential in BC.
I think MailChimp is a good choice due to its market position, feature set, reasonable costs, useability and seemingly good range of APIs, but we need a good integration for it to be really useful.
With access to Treepl data and Liquid it could be a massively powerful feature.
I try to encourage all my clients to utilise email marketing in some form or another, but it needs to be easy for them. If itās easy they use it - if they use it itāll help strengthen their business - if their business is strong they will be more likely to stay around and on Treepl CMS 
I believe there are 2 critical areas to make this work well and 2 bonus areas.
-
1: Contact/Subscription Management
-
2: Campaign Content Management
-
BONUS 1: Automation and Workflow Triggers
-
BONUS 2: Campaign Stats Dashboard
Iāll explore these in more detail below;
(1) Contact/Subscription Management
The ability to manage who receives your emails is critical. And while there is good control for this within Mailchimp there is a lot of potential missed from contact information within the website CRM, user interactions and behaviours (assuming the CRM will be opened up).
Itās clear to see this potential with Mailchimpās integrations with other ecommerce platforms, allowing the ability to send abandoned cart emails, follow-up emails based on sales activity, product interest, etc.
Having this kind of power with customer activity throughout your whole site would be huge.
Obviously how we track and store customer data and activity is another issue, but at a basic level I think this would start with ātagsā (in conjunction with mailing lists).
Mailchimp, along with many other email platforms, have shifted to a tagging/segmentation mentality over the use of mailing lists. Mailchimp recommend only having one mailing list (or āAudienceā as they now call it) and then use segmentation techniques to tag and group contacts for further email targeting.
If you can, itās best to have one audience that you organize with tags, groups, or segments, rather than maintain multiple audiences in your account. Mailchimp treats all the audiences in your account separately, and billing is based on the total number of subscribed contacts across all your audiences. If you have duplicate contacts across audiences, having one audience could save you money. One audience is also easier to manage and keep clean.
At minimum we need to be able to sync with the tagging system in Mailchimp.
The mailing list subscription we already have integrated sets the opt-in status (and syncs the contact with Mailchimp), while tagging extends the CRM for other uses (not only for Mailchimp, but admin filtering and front-end Liquid usage as well). So tagging should be available for all CRM contacts not just those synced with Mailchimp via a mailing list subscription.
Some examples:
- Sign-up or Enquiry forms with āTagā fields to save (and even create) tags against a CRM record.
- A logged in user might perform any other action (ie: product purchase, page view, button click, etcā¦) which triggers a form submission (or API call) to set a āTagā against that user.
- Manual tagging via the admin.
With these tags synced with Mailchimp we can then use Mailchimpās segmenting features to further control how campaigns are sent.
Obviously, a two-way sync is desirable to keep contact records consistent - and even pull in other/new records from Mailchimp, if people are using other contact record sources with Mailchimp (Mailchimp sign-up forms, other integrations, etc).
Later, some filtering and segmentation tools within Treepl admin would be cool in order to bulk tag contacts based on Treepl data. But that can come later 
Possible API reference:
https://developer.mailchimp.com/documentation/mailchimp/reference/lists/members/
https://developer.mailchimp.com/documentation/mailchimp/reference/lists/segments/
PS: To extend the CRM capabilities, it would be cool to make the CRM a nested custom module. This way we can just make it what we want and have all the same methods for using that data (front-end and back-end). āCompanyā record would be the top level module/group while āContactsā are the nested module.
If/when nested items can be assigned to multiple top level groups, we could have Contacts belonging to multiple Company records as well.
Total freedom and flexibility for the CRM 
(2) Campaign Content Management
I donāt think it would be feasible to build a full email campaign builder that wouldnāt limit what Mailchimpās editor has available. However, what we do need is the ability to push CMS/CRM data/layouts to a Mailchimp campaign/template - so that we can utilise the power of the site content and customer personalisation in emails.
Iām not sure what APIs are available here, but my initial thoughts were that, in Treepl admin, we select from a list of existing Mailchimp campaigns (or perhaps generate a new one via API if feasible). Then we ābuildā content sections (ie: multiple WYSIWYG fields) using Liquid, component modules, HTML, etc. which are saved, rendered and pushed to the Mailchimp campaign as part of its contents (as individual HTML blocks perhaps), or if possible, data merge tags/block which can be inserted into the campaign.
Ideally, these blocks of content get auto-synced to the campaign again just before time of scheduled sending so that the data is up-to-date.
So in this case, we are relying on using Mailchimp as the main editor and main way of managing campaigns - which I think is better in the long run - and using Treepl as a āconnectorā of data/content if needed.
Failing the possibility of the above, Iād say we need some basic WYSIWYG editor that can work, in full, with a Mailchimp campaign/template without destroying itās editability when back in Mailchimp - and that can support Liquid 
Possible API reference:
https://developer.mailchimp.com/documentation/mailchimp/reference/campaigns/
https://developer.mailchimp.com/documentation/mailchimp/reference/campaigns/content/
(BONUS 1) Automation and Workflow Triggers
It would be cool to have some advanced options for triggering Mailchimp Automations/Workflows.
I think if we have the ability to tag contacts, both from admin and front-end, as outlined above, then we should be able to utilise Mailchimpās Automation, but it might also be nice to explore the API triggered automation/workflows (and ecommerce workflows now that ecommerce is available).
Further info on this:
Possible API reference:
https://developer.mailchimp.com/documentation/mailchimp/reference/automations/
(BONUS 2) Campaign Stats Dashboard
Just as a nice feature, having a Mailchimp campaign statistics dashboard in Treepl could be cool.
Probably showing recent campaign activity and/or subscriber activity.
In addition to pulling these stats into Treepl it would be awesome to be able to use statistical data from Mailchimp campaigns to dynamically control website content.
For example, a logged in user will see content specific to certain links they click on in the last email campaign, or content related to an email campaign they recently openedā¦
For non logged in users and general site visitor, you could use Mailchimp campaign stats to dynamically show website content based on the most popular email links clicked, or any other insight from subscribers interests or user patterns.
Possible API reference:
https://developer.mailchimp.com/documentation/mailchimp/reference/reports/
Thank you, and open to feedbackā¦
PS: technically, would this be a BC equivalent feature?