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.
Solved! Go to Solution.
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.
Why would Magento updating the CRM mean that end users could change data in the CRM? I'd assume your UI can still show the field as read-only. If Magento is a valid source of truth here, and there's an existing integration flow, that's what I'd use.
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.
Why would Magento updating the CRM mean that end users could change data in the CRM? I'd assume your UI can still show the field as read-only. If Magento is a valid source of truth here, and there's an existing integration flow, that's what I'd use.
Hi Sanford, thanks for your advice. Yes it's quite possible to do as you suggest - the fields already exist in the CRM UI so that users can view the preferences, but the sync for these fields is Marketo to CRM only.
I'll think I'll speak to the developers and look at changing this since you & Jay both recommend using the existing CRM integration.
Do you not have a dedicated CRM-Magento sync user which you can allow subscription field write access? If so, this is what I recommend
No, although we have a dedicated api-only user in Marketo, there is not a dedicated user in the CRM for the integration. I think normally the field security for this sort of thing is set at read-only across the board, and only the 'super-admin-users' can edit them.
I'll see if its an option though, as generally we have tried to copy the standard Salesforce integration where we could.