Marketing Cloud Intelligence (formerly known as Datorama) is an advanced-level analytics tool built to capture omnichannel marketing insights. As a Marketing Cloud Intelligence Admin, you have to accept that you need trial and error to achieve the desired results. While data accuracy and usability issues can be frustrating for end users, it’s important to know that most issues can be solved within the platform itself, without the use of custom code.
To help fellow Marketing Cloud Intelligence users, I’ve compiled a list of common technical issues and approaches to troubleshoot them so they don’t have to reinvent the wheel. Let’s dive in!
Issue 1: Page-Level Filters Not Getting Applied
When users select a dropdown value for a page-level filter, they notice that the filter is not getting applied consistently across the entire dashboard page. Some widgets are not affected by the new filter value, while others are.
Cause 1: Excluded Filters on Widget
Why This Happens: Page-level filters affect all widgets on a given dashboard i.e. page by default. That is unless someone has manually unlinked and removed said filter from a widget. This can happen during dashboard iteration and testing, as applying and excluding page filters is a key step in a dashboard’s QA process. If one forgets to re-apply the page-level filters afterward, there will be widgets in the dashboard that do not apply the user’s selected interactive filters.
How To Fix It: Recreate the widget from scratch or re-apply the missing filters on the widget level and link them back.
A page-level filter doesn’t apply to widgets, where a user has unlinked and removed it. Ensure that the page-level filters are listed under all widgets just to be sure.
Cause 2: Filtered Value Not Mapped to the Widget’s Dataset
Why This Happens: Filters don’t just magically work; they need to have a direct relation to the target dataset. Knowing which datasets have a relation to a given attribute is not as easy as one might think. This relation can occur in a couple of ways, referred to in the Marketing Cloud Intelligence community as passive and active blending.
Passive blending occurs automatically when multiple data streams map to the same attributes. For instance, if LinkedIn Ads and Google Ads data streams both map to the same Campaign Status attribute, using that attribute as a page-level filter should apply to widgets using either dataset. However, it can happen that one forgets to map all the relevant dimensions or relies on automatic mappings during data stream setup. In such a case, page-level filters would not yield the expected results.
How To Fix It: First, check the Data Mapping Visualizer under Connect & Mix > Data Streams. Search for the data model field you are trying to use as a filter, and see if it is connected to all the data streams that you would expect.
Note: Calculated dimensions are not a part of your data model so they are not visible in this view. If your filter is using a calculated dimension, refer to Cause C below for instructions.
Data Mapping Visualizer is your best friend when it comes to understanding how external data (left-hand side) is related to your Marketing Cloud Intelligence data model (right-hand side). Hovering or clicking either side allows you to highlight these relations and spot missing or incorrect mappings.
Cause 3: Data Harmonization Not Configured Properly
Why This Happens: When you want to use one filter across several datasets that don’t share the same attributes by default, you resort to active blending, also referred to as data harmonization. In active blending, you need to manually set up a harmonization method that ties two or more datasets together. Some of these methods work on the workplace level, automatically applying to all data streams that share the same dimensions, such as calculated dimensions and data fusion, while others are configured for individual data streams, such as Vlookup and parent-child relationships.
When these relationships haven’t been set up properly, the most visible outcome is that a filter isn’t working as intended.
How To Fix It: Pivot tables are your friend here. Start by adding the dimensions and measurements that you want to use on your dashboard and then add the filter of your choosing. If that filter has zero or inconsistent effect on the displayed rows, you most likely have a harmonization issue at hand.
Then you need to backtrack a bit and determine which harmonization method was used for your filter. If it’s based on data classification, head over to that section on the platform, for Vlookups and Parent-Child relationships, refer to the source data stream, and so on.
Issue 2: Date Not Filtering Properly
Date-based filtering is such an obvious feature that we don’t always appreciate how complex a topic it can be. With Marketing Cloud Intelligence, date filtering is highly customizable, which also increases the risk of something going wrong.
Cause 1: “Day” Field Is Not Mapped Correctly In The Data Stream
Why This Happens: The data model field “Day” is the default system date used for all interactive filtering, meaning that it has a lot of power over how data is displayed in Marketing Cloud Intelligence. Whichever external date field is mapped to the “Day” field determines which date is used by the date filters on a dashboard page.
Relying on automatic field mapping can create unexpected results here. I’ve noticed that when creating a LinkedIn Organic APIconnect data stream, for instance, “date_id” is mapped to “Day”, instead of “post_created”. Date_id is the date when post data is uploaded into Marketing Cloud Intelligence by the connector, whereas the latter is the date when the social post itself was created. Not knowing the difference can cause a huge discrepancy in the visualizations vs. what users expect to see.
How To Fix It: First, you need to check the mapping of the data stream in question. Scroll through all the external fields (left-hand side) with the date data type (look for a calendar icon next to the field name). If you notice that the wrong field is mapped to “Day”, then you can un-map it and add the correct mapping. If you are unsure, you can first run a pivot table based on that data stream, set it up with measurements against the different dates, and validate which date field is showing the expected results.
Above, you’ll see how deceptively easy it is to map dates incorrectly. Sometimes, data sources have poorly documented fields and misleading names, making your job harder. Luckily, re-mapping fields are not difficult to do.
Cause 2: You Are Trying To Filter CRM Data Types by Date
Why This Happens: CRM and CRM Leads are two very special data stream types in Marketing Cloud Intelligence. They use what Salesforce calls slowly changing dimensions type 2, for the following dimensions: Status, Stage, Modified Date, and Expected Close Date. Change in the value of these dimensions is reflected only after the modification date onwards. Thus, these type 2 dimensions display a different value based on what date range you are filtering.
An example is when you view this month’s won opportunity through the filter “previous month”, it will not appear as won but as in progress, as at that time, the opportunity was still being negotiated.
Confused? Don’t worry, you’re not alone. CRM types are one of the toughest Marketing Cloud Intelligence features to grasp. Just note that with CRM types, you have to be extra careful about how you want the data to display over time.
How To Fix It: The easiest way is to replicate the TotalConnect data stream used for the CRM data but instead of going with either “CRM” or “CRM Leads”, select “Generic” as the data stream type. You can then create a QA dashboard where you can compare these two data streams side-by-side. This testing should allow you to assess which of the two data stream types works best for your desired outcome.
Note: If you do decide to go with the Generic data stream type and wish to delete the CRM type data, you must do so via Dimension Explorer.
Issue 3: Filtering Not Selectable
Sometimes, interactive filters show up blank and unselectable. This can happen even if you are 100% certain that a data set has all the dimensions that you are planning to filter out.
Cause: Cascading Filters Set Up Incorrectly
Why This Happens: Cascading filters are a user experience boon – if used properly. They narrow down a filter’s selection of choices based on other applied filters. This works somewhat similarly to how dependent picklists work on the Salesforce Core Platform. It’s important to note that cascading is possible only within the same entity hierarchy, vertically from the top hierarchy to the lower hierarchies.
Cascading doesn’t get applied horizontally on dimensions that are on equal levels of the hierarchy. An example is when you have cascading filters on campaigns and would like to filter them both by “Area” and “Business Line” at the same time. Depending on your setup, this may not be possible, and as a result, you’ll see one greyed out while the other is selected.
How To Fix It: In this case, you have to evaluate whether cascading is worth it. If not, you must deselect the “Cascading Filter” under the “Data” section while editing a particular widget. Otherwise, you may need to alter the data model somehow to accommodate the multiple filters simultaneously.
Issue 4: Missing or Overwritten Data
Marketing Cloud Intelligence comes with several data ingestion options. With flexibility comes complexity, and the risk of something going missing or being inadvertently overwritten.
Cause 1: Unintended data load rules
Why This Happens: Data load rules are a simple filtering mechanism to determine which data should or should not be pulled to Marketing Cloud Intelligence. They use an AND/OR logic combined with simple logical operators that you define manually. The typical uses of data load rules are to deduplicate data rows or to limit the total data row consumption (to avoid having to buy more rows from Salesforce). Data load rules are first set up on the workspace level and then applied to individual data streams in the “Advanced” section of the edit window.
Because load rules are hidden behind several clicks, they tend to get overlooked and forgotten. Users may complain that data isn’t appearing on the platform as expected, and the cause is an outdated data load rule.
How To Fix It: The good news is that deactivating a data load rule is a simple job. You can go to the data load rule, open the options menu (three dots on the right-hand side), click “Show Data Streams”, and then deactivate the data load rule for the data streams you decide. You can also do this for a single data stream on its “Advanced” section.
Cause 2: Wrong Data Update Permission in Parent-Child
Why This Happens: Parent-child relationships in Marketing Cloud Intelligence are a bit tricky to get right. This feature allows you to use a child data stream to either enrich or classify its parent, or vice versa, to inherit attributes from its parent data stream. How a child should behave in this relationship is determined by a setting called data updates permission.
Selecting the right permission can make or break your data model, so take great care in deciding the appropriate one for each data stream. Failing to do so may inadvertently cause a child to become the source of truth for a metric that doesn’t contain the most up-to-date data.
How To Fix It: Switching the data updates permission afterward can be done, but not without a major caveat. Changing the permission forces the child data stream to be reprocessed. This can have significant effects on the data stored in Marketing Cloud Intelligence.
In the case of some API connectors, for instance, measurements and dimensions may no longer be accessible after 3 to 6 months, and if you reprocess past runs of the data stream, data loss may occur. For this reason, always maintain a backup of your Marketing Cloud Intelligence data, especially when making changes.
Data update permissions control how a child data stream’s data is handled in relation to its parent. The “Update Attributes” updates and overrides dimensional attributes of the parent, the “Inherit Attributes and Hierarchy” works the other way around – inheriting dimensions from the parent, and the “Update Attributes and Hierarchy” updates and overrides both dimensions and measurements of the parent.
Summary
Marketing Cloud Intelligence is full of potential pitfalls due to its high degree of customizability and extensibility. For an aspiring analyst, admin, or consultant, this can be a source of headaches, especially since online resources aren’t as readily available as they are for the Salesforce Core Platform or Marketing Cloud Engagement.
To help out in this regard, I’ve listed the following resources for you:
- Salesforce Ben’s Articles on Marketing Cloud Intelligence
- Salesforce Help Articles for Marketing Cloud Intelligence
- Salesforce Partner Learning Camp: Get Started With Marketing Cloud Intelligence Fundamentals
- Marketing Cloud Intelligence All Trailhead Modules
- Salesforce Marketing Cloud Intelligence Partner Resources
- Instructions for Marketing Cloud Intelligence Partner Demo Environment Access
- Decision Foundry: Mastering Datorama Webinar Series