It’s no secret that I have a background in implementing Einstein Analytics, Pardot and Marketing Cloud for different companies, so I get a lot of questions around reporting on your marketing data. First of all Pardot’s and Marketing Cloud’s build in reporting capabilities are limited, but the request for reporting is great and becomes even greater when you have Einstein Analytics. Now the Pardot team has already enabled better reporting with the introduction of the Einstein Analytics B2B Marketing App, which is a templated app that provides some default datasets and dashboards giving insight into Pardot data, but what about Marketing Cloud? It may not be as well explored as Pardot but it is possible to get Marketing Cloud data into Einstein Analytics.
The ABC’s of the Solution
Einstein Analytics have out of the box connectors to different data sources including Marketing Cloud so this solution will explore how to leverage that in order to bring data from Marketing Cloud to Einstein Analytics. The setup will include:
- Enable Replication for Einstein Analytics
- Create an Installed Package for Marketing Cloud
- Setup the Marketing Cloud connector in Einstein Analytics
Most Einstein Analytics instances already have replication enabled, however, I am sure there are still a lot of orgs that do not have it enabled. First of all what it is? Well, it’s a setting in the Analytics Setting in Salesforce. When enabled we allow objects in Salesforce to be replicated in a cache free layer making the data flow run faster since it doesn’t have to do a full extract from Salesforce. Two other benefits from this setting are you can create up to 30 different data flows and you have access to the out of the box connectors including the one for Marketing Cloud.
The way it’s enabled is by navigating to the setup section in Salesforce by clicking the gear icon in the top right corner and choose ‘Setup’.
Once you are in the setup section you can search for ‘Analytics’ in the quick find search box to the left. You need to select ‘Settings’ under the Analytics section.
In the settings, we need to just check the checkbox for ‘Enable Replication’.
Remember to hit ‘Save’ in order to save the changes. Note that the action won’t come with a success or error message, but you can always click on ‘Settings’ in the menu again to check if it was saved.
Note that if you already have running data flows, you want to make sure your replication is scheduled else you will never get new data into Einstein Analytics. I will later return to this topic and show how to schedule replicated data.
Prepping Marketing Cloud
Next step is to move over to Marketing Cloud. If you just have one business unit then it will be easy, you just have to do this once. But if you are using multiple business units and what to grab data from all of them you will need to set up an installed package and a connector for each of your business units.
Within Marketing Cloud in the top right corner hover over your name and select ‘Administration’.
Now navigate to the ‘Account’ tab and choose ‘Installed Packages’.
It’s now time to create a new installed package so click ‘New’, give it a name and click ‘Save’.
**UPDATE MARCH 2019**
Marketing Cloud has made some changes to their endpoint, in order for the Marketing Cloud connector in Einstein Analytics still to work we currently need to make sure we do not enable the new ‘Create with enhanced functionality (recommended)’ setting. So in the previous step uncheck the box under the description.
Your installed package has now been created but we are not done. We need to add a component to the package. So with that click on ‘Add Component’, choose the ‘API Integration’ option and click ‘Next’.The next step is to grant access for the connector to different parts of Marketing Cloud. In this scenario we only really need the List and Subscribers and Data Extensions, so make sure you check the boxes for read and write – even though the connector won’t actually change the data extensions. Hit ‘Save’ when the correct settings have been made.
You will now see the different keys for this component which you need when setting up the Marketing Cloud connector in Einstein Analytics (yes, I’ve removed my keys in the screenshot). But note these details down, you will need them later.
Okay, so there are two more things you would need to check before setting up the connector in Einstein Analytics. Firstly, you need to make sure that the user you will be using for the connector has ‘API user’ marked on their profile. Back in the ‘Account’ tab click on ‘Users’.
Find the user you want to leverage for the connection and click on it. Make sure that ‘API User’ is defined as ‘Yes’ like the image below.
The second thing to notice is which stack your Marketing Cloud instance is using. The easiest way to do this is by checking the URL and see the number that is following the s. In my case it’s s4.
Okay with all those details noted down it’s time to move to Einstein Analytics and get that connector established.
Setup the Marketing Cloud connector in Einstein Analytics
Make sure you log in to Salesforce and navigate to Einstein Analytics and the Data Manager. Once you are in Analytics Studio click on the gear in the top right corner and choose ‘Data Manager’.
We now need to set up the connector and replicate the data extensions in Einstein Analytics so we can use this in our data flow. Therefore click the ‘Setup’ button on the left menu to see your replications.
In the setup section, we need to create our new connection. In the top right corner, you will see the blue ‘Set Up Replication’ button, which you should click. You will now get the option to add another remote connection. Note that I already have a Marketing Cloud connection established, but you can create multiple; one for each business unit in Marketing Cloud.
Click on the ‘Add Remote Connection’ and have all the details from Marketing Cloud ready.
You should fill out the settings as below:
- Connection Name: The name you will see in Einstein Analytics for this connector
- Developer Name: The API name for this connector
- Description: Something that describes the connector
- User Name: The user that you want to use for the connector which has ‘API user’ as ‘yes’
- Client Secret: This is a key from the Installed Package in Marketing Cloud
- Client Id: This is a key from the Installed Package in Marketing Cloud
- Salesforce Marketing Cloud Url: Keep the URL but make sure to update the stack reference to the right one, in my case s’4′
- UTC Offset: Keep as is.
- Password: The password for the user you are using for the connector.
Once it’s all filled out you can go ahead and save the details.
The next thing is to somewhat repeat the process. At least you need to click on the ‘Set Up Replication’ button again but this time you choose your new connector.
Choose the data extension that you want to replicate and click ‘Continue’. You now need to select the fields you want to include in the replication, so check all the fields you want and click ‘Continue’.
The next thing is we need to define the data type for each field; dimension, measure or date. Click on a column and then the pencil icon.
Once everything is set then click ‘Save’. You have now set up everything you need for this data extension, but you would have to repeat this latter process again for each of the data extensions you wish to replicate.
The final thing you want to do is schedule the replication, so you make sure that your data is always up to date. The schedule is flexible as you can set it up to run every hour or just once a week.
Still in the Setup section, next to the Marketing Cloud connector click on the arrow and select ‘Schedule’.
Choose whatever schedule works for you and hit ‘Save’.
And that’s really all we need to do in terms of replication, the data is now available for you to use in your data flows or recipes.
So I am sure if you are trying to set up the connector as you are reading this blog, that you have noticed that tracking data is not available in the connector. So why did you go through all this hard work? Well, there is a workaround, which I will cover in part 2 of this blog series.