We use Magento 2 for our e-commerce site and when a customer sets up an online account we ask them to select their communication preferences as below.
This is saved against the contact in Magento. Up to now, every week or so we download a list of contacts who have selected one of the first three options, and then uploaded that list to Marketo to update the contacts preferences.
We only recently started using Marketo in earnest, including creating a proper Marketo LP preference centre, and we want to automate the above process.
My ideas so far:
1) Magento integrates with our ERP / CRM (same platform), and so does Marketo - that is how the contact details (name, email, address) from online e-commerce accounts are added to Marketo. So we could pass the communication preferences through the CRM to Marketo in the same way.
However, up to now we have enforced a policy that CRM users can't update customers communication preferences. We prefer that only the customers themselves and Marketo admins can do this. So the CRM only reads this info from Marketo, and the integration does not allow the CRM to update these fields in Marketo. We would rather keep it like this.
2) Replace the above form with a Marketo form and have a hidden 'email address' field. Then use some custom code to populate the hidden field from the Magento email field further up the page. However I would need developer help for this, and at that stage the contact is not in Marketo, so would need some way of storing the preferences until the CRM had added the contact to Marketo.
3) Use an integration platform such as Zapier. The offer a 'plug an play' integration between the two systems that allows you update contacts in Marketo when a new contact is added in Magento. It includes the ability to manipulate the data and add wait steps but I haven't worked with them before, so don't know if it's as easy as they say it is.
I would really appreciate any other ideas, or any advice on what is the best approach from anyone who has done something similar in the past.