Marketing Smart with Einstein Analytics – Part 1
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.
**UPDATE DECEMBER 2019**
If you do not already have an old installed package to use check out this blog that will help you use the new OAuth 2.0 connector.
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.
19 thoughts on “Marketing Smart with Einstein Analytics – Part 1”
Thank you for sharing. Always insightful!
Thanks! Look out for the two other blogs in this series to get a full solution (just need to write them first).
Thanks Rikke for the detailed walk thru!
Really informative. Thanks for sharing
Your ideas and blogs on EA are much helpful getting latest updates and better possible solutions we can implement in our business.
Thanks! Please continue to share new ideas.
Thanks you Ashish, that’s very kind of you to say!
Thanks a lot for this clear blog that describe what is missing in the SF documentation!!
Hi Rikke, I’m getting stuck on setting up the connection. The error I’m getting is: Connection failed with error: Client received SOAP Fault from server: An invalid security token was provided Please see the server log to find more detail regarding exact cause of the failure.. Error in Job ID connector.cs19-app1-2-phx.4OtMFONfWKG-pe-qbvrfu-: Have you seen that before?
Hi, firstly I wanted to say thank you. Your blog has been a great resource for me.
Secondly, I have a question, I’m trying to integrate the Einstein Engagement Score data extension into a dataset with Marketing Cloud data and Salesforce data. However, I’m having an issue when creating the replication of the automated Einstein Engagement data extension (Einstein_MC_Predictive_Scores). It seems like it is set up correctly, but it loads no data in Einstein Analytics Studio. Have you done anything with Einstein Engagement Scoring and have you run into anything unexpected? Thank you again!
Did you get an answer to this or solve this?
Hey Rikke !
Really interesting blog – thank you for sharing ! I would request some information on Einstein implementation steps / case studies on Salesforce Marketing cloud data specifically .. request your help !
Great article! Do you know how to connect now that deselecting ‘Enhanced Functionality’ is no longer an option?
They are working on it.
I have a question relating the connection of the Audience Studio to Einstein. As far of my knowledge the Audience Studio is part of the Marketing Cloud. So, when I am using the standard API for the Marketing Cloud in Einstein Analytics, do I also get my Audience Studio data in EA or do I need to draw upon the extended data feed via the S3 bucket connection?
If it’s in a data extension there is a way to get it in via a connector, but if not you need to find other ways.
Thank you so much Rikky… I’m EA specialist and working currenty with MKT Cloud, I’ll use those connections to give powerfull insights in EA for my client!
Am getting below error after clicking on save on Preview data Source Screen
insights.api.exceptions.InsightsApiException: 414724745-19375 (2059893648):Can’t associate container with Wave base dataset for connector(0It2M000000XZEdSAO):The_Linux_Foundation_pierry_linux_crm_pierryinc_com__Alternate_Email__c_Salesforce
What could be the possible reason??What does that error mean
Hi Rikky, first of all thanks for sharing, your content is very insightful and intuitive.
I have a question that you might help me clarify. I´m trying to sync some raw Data Views (+70M rows) into Tableau CRM. Once the first sync has been completed, will the second last for the same amount of time or it will be much shorter due to the Replication thing?
Thanks a lot and keep up the good job!
Yes, it will. The connector does an overwrite. Hence you might be better of filtering the data view before the sync.