Skip to main content

#Data Cloud76 discussing

Hi Trailblazer Community,

I am trying to complete the badge "This Badge Requires a New Custom Predictive Models in Model Builder Playground", but I'm unable to proceed because the playground creation is failing.

I am receiving the following errors:

And when I click Create Playground, I get:

What I have already tried:

  • Refreshed the page
  • Logged out and logged back in
  • Tried a different browser
  • Cleared browser cache
  • Waited and retried

 

Unable to Create Predictive Models in Model Builder Playground

 

 

Unfortunately, the issue still persists.

Has anyone else experienced this problem recently? Is there any workaround, or is this a known issue that requires a fix from the Trailhead team?

Any help would be appreciated. 

 

Thank you! 

 

#Trailhead Challenges  #Trailhead  #Data360  #Data Cloud  #TrailblazerCommunity

13 answers
0/9000

Please can you help me in knowing if at all it is possible to connect a  single BU(among 5 BU) of SFMC to multiple data cloud org (dev and test both). I have multi org connector enabled however as per my understanding the multi org connector allows to connect diff CRM orgs to diff BU (one BU >one crm org and not one BU > multiple CRM org)  

 

Can data cloud be connected to only Parent BU or child BU also?

 

I am getting different answers on google and by AI and not sure about this. 

 

#Marketing Cloud #Data Cloud 

5 answers
  1. Lukas Lunow (NoA Ignite) Forum Ambassador
    Yesterday, 7:48 AM

    @Ashwini Bodhade Multi-org connector is usually for pushing data from multiple CRM Orgs into a single SFMC instance, and not for pushing data back to multiple Data Cloud instances, as described here: https://help.salesforce.com/s/articleView?id=mktg.mc_co_multi_org_scenario_examples.htm&type=5

0/9000

Hello everyone, I would like to ask about the activation feature with DMO. Is it possible to use Mobile Push and WhatsApp? Thank you.   

1 answer
  1. Aug 12, 2:27 PM

    Yes, this is possible, but the approach differs depending on whether you’re using Marketing Cloud Engagement (SFMC) or Marketing Cloud Next.

    If you’re using Marketing Cloud Engagement:

    For MobilePush:

     

    Data Cloud DMO → Create/Publish Segment → Activate to Marketing Cloud → Map the required contact/device identifiers → Create the MobilePush message → Use Journey Builder to send/orchestrate the push notification.

    Make sure the mobile app is configured with the Marketing Cloud SDK and that device/contact registration and consent are available.

    For WhatsApp:

     

    Data Cloud DMO → Create/Publish Segment → Activate to Marketing Cloud → Map the subscriber/contact identifier → Configure the WhatsApp channel and approved message templates → Use Journey Builder to orchestrate the WhatsApp communication.

    WhatsApp consent/opt-in and the appropriate phone-number identity mapping are important here.

    If you’re using Marketing Cloud Next:

    The pattern is more Data Cloud-native:

    DMO/Data Cloud data → Create Segment/Audience → Configure the required channel and identity/consent data → Create the message/content → Build the campaign/flow → Activate through the supported Mobile or WhatsApp channel.

    So, in both cases, the DMO is essentially your data foundation. You don’t send MobilePush or WhatsApp directly “from the DMO.” You use the DMO data for segmentation and activation, while the actual delivery happens through the configured messaging channel.

0/9000

I'm attempting to update Contact records in buik with the value generated from our Calculated Insights. We had a third party vendor setup our calculated insights and were told we would be able to use a flow to map these values. We have roughly 20K+ Contacts that need this update. Otherwise, we would need to clone the calculated insights specifically for the Contacts in order to use the Data Cloud Copy Field feature.    Thanks in advance.   

5 answers
  1. Aug 14, 10:16 AM

    If the Contact record can be reliably matched back to the Calculated Insight using the Contact ID or another stable key, I’d lean toward handling the bulk update through a Flow rather than maintaining separate logic for individual records.  

     

    The one-off Data Cloud-triggered Flow seems fine for testing, but for 20K+ Contacts I’d first make sure the matching relationship is consistent and then test the bulk update with a small batch before running it across the full dataset. That should also make it easier to troubleshoot if some records don’t have a corresponding insight value 

0/9000

Hello all, 

I am looking for an advice regarding the consent in McNext. 

  

I receive the customers consent via Zero Copy and I prepared the fields that McNext uses in Comm Subscription Consent object to determine if the communication will be sent and if its Marketing or Transactional, Engagement Channel (I mapped the channel IDs), Consent point value (email or phone) and adapted the consent status to OPT_IN or OPT_OUT. I think I figured this part correctly. 

 

I prepared the object via the Batch Data Transform which can run hourly and it will consume credits each hour depending on amount of rows. 

I want to try to use Streaming Data Transform but I cant use Zero copy data lake there. If I try to do it via Data Model object I cannot map the data from new DMO to Comm Subs Consent object.  

 

The best approach I see here is to manage a consent object on source and handle the changes there or if is there some other Data360 feature that could help me achieve this. (a lot has been added and I'm exploring all the options that I have) 

 

Is there anyone that had similar experience and if there is some advice that you can give on this topic?  

1 answer
  1. Aug 13, 7:50 PM

    Hi Marko - the reason you can't use a Zero Copy data lake object in a Streaming Data Transform is architectural, not a config gap, and it points straight at the fix. 

     

    Streaming Data Transform works on data as it's streamed/ingested INTO Data Cloud in real time (the real-time ingestion channels - Web/Mobile SDK, Server-to-Server / Ingestion API). Zero Copy data is federated: it stays in the external source (Snowflake/BigQuery/etc.) and is queried on demand - it never actually streams into Data Cloud as events. So there's no incoming stream for a Streaming Data Transform to act on, which is exactly why the zero-copy DLO isn't selectable as a streaming source and the mapping isn't available. 

     

    So for zero-copy consent data, Batch Data Transform is the correct/supported path - what you're already doing. To handle the cost and latency: 

     

    - Incremental batch: if you can key the transform to only changed rows (a watermark / incremental load) instead of reprocessing everything hourly, you cut credit consumption a lot - and tune the frequency to what consent actually needs. 

     

    - If you need true real-time consent (especially honoring opt-outs immediately): change the ingestion method for the consent signal from Zero Copy to streaming ingestion. Push consent changes into Data Cloud via the Ingestion API (streaming) or a streaming connector so they land as ingested/streamed data - which a Streaming Data Transform CAN then process into the Comm Subscription Consent object in near real time (streamed data processes asynchronously, roughly every few minutes). Keep zero-copy for the bulk/at-rest data and add a streaming feed just for the real-time consent updates - a hybrid. 

     

    That hybrid (zero-copy for federated data + streaming ingestion for the signals you must act on instantly) is the standard pattern when a use case needs both. One note: the real-time path is streaming-only - bulk isn't supported for real-time ingestion - so the consent feed would need to come through a streaming channel. 

     

    Refs: 

    - Real-Time Ingestion and Actions in Data Cloud:

    https://www.salesforce.com/blog/real-time-ingestion/

     

    - Transform Data in Near Real Time (Streaming Data Transforms):

    https://help.salesforce.com/s/articleView?id=release-notes.cdp_rn_2023_summer_streaming_data_transforms.htm&type=5

0/9000

Hi everyone,

I’m deploying a Data Cloud/Data 360 + Prompt Builder solution from one Salesforce org to another using a package and Data Kit.

The Data Kit includes:

  • Data Stream Bundle
  • Case and Knowledge Data Streams
  • Case and Knowledge Data Models
  • Case and Knowledge Search Indexes
  • Case and Knowledge Retrievers

The Data Cloud components are deployed, but my Similar Cases Prompt Template fails during deployment with:

The Prompt Template uses:

  • Case Retriever
  • Knowledge Retriever

Dependency:

Data Source → Data Streams → Data Models → Search Indexes → Retrievers → Prompt Template

My question:

  

What is the Salesforce-supported deployment approach for Data Cloud/Data 360 Retrievers and Prompt Builder Prompt Templates?

Do the Data Kit and all Data Cloud dependencies need to be fully deployed and available in the target org before deploying the Prompt Template?

Or can the Data Kit, Retrievers, and Prompt Template be deployed together?

Could the “cannot describe data provider”

 error occur because the Retriever dependencies are not yet resolved when the Prompt Template is being validated? 

 

Any official Salesforce documentation or practical guidance would be appreciated.

Thanks! 

 

 

 

#Data Cloud

1 answer
  1. Aug 11, 10:11 PM

    Great write-up of the dependency chain, and your last hypothesis is essentially right. Here is how these pieces actually deploy: 

     

    1) Supported approach for the Data Cloud foundation. 

    The Deploy Data Kit Components flow (or the Data Kit Publishing Sequence) is the supported way to move the core Data 360 objects. It deploys components sequentially in dependency order and waits for each component to finish before starting the next (requires REST API v61.0 or later). That covers Data Stream Bundles, Data Lake and Model Objects, Data Transforms, Calculated Insights, Data Graphs, Identity Resolution, and Segments. 

     

    2) The key catch: Retrievers, Search Indexes, and Prompt Templates are not standard Data Kit content. 

    They are not in the Data Kit deployable-component list, so they do not travel with the Data Stream or Model bundle. What is packageable is governed by the Data 360 Extensibility Readiness Matrix (linked on that same dev-guide page), so check it for the current status of Search Indexes and Retrievers. Prompt Templates deploy as their own metadata (GenAiPromptTemplate) through the Metadata API, packages, or change sets, separate from the Data Kit. 

     

    3) Do the dependencies need to exist first? Yes. 

    Your chain (Data Source, Data Streams, DMOs, Search Indexes, Retrievers, Prompt Template) has to be fully deployed and provisioned in the target before the Prompt Template validates: DMOs mapped, Search Indexes actually built, and Retrievers present and describable. Deploying the Prompt Template in the same pass as its retrievers is the risky part, because the template resolves its retriever references at deploy time. 

     

    4) The describe-data-provider error. 

    That lines up with what you suspected: when the Prompt Template (or the retriever it points to) is validated, its underlying data provider (the DMO, Search Index, or Retriever) is not resolvable yet in the target org, so the platform cannot describe it. Sequencing fixes it. 

     

    Recommended sequence: 

    1. Deploy the Data Cloud foundation via the Data Kit flow (streams, DMOs, mappings) and let it finish. 

    2. Create or verify the Search Indexes and Retrievers in the target and confirm they are active and queryable (rebuild indexes if needed). 

    3. Deploy the Prompt Template last, once its retrievers describe cleanly. 

     

    Reference: "Deploy Data Kit Components" in the Data 360 Developer Guide (

    developer.salesforce.com/docs/data/data-cloud-dev). If it still will not resolve after sequencing, confirm Data Cloud is provisioned and the retriever feature is enabled in the target, since a missing provider throws the same describe error.

0/9000

I am unable to find a proper step-by-step instruction on how to use Fully Qualified Keys in Data Cloud. There is a documentation, but I fail to see the changes and value in the system when I try things out: https://help.salesforce.com/s/articleView?id=data.c360_a_fully_qualified_keys.htm&type=5

 

 

Suppose we have the following Data Streams: 

A contact from my CRM system

How to use 'Fully Qualifies Keys' in Data Cloud?A subscriber from Marketing Cloudimage.png

 

A consolidated Engagement table:

image.png

 

First of all, I would map the contact and subscriber into the Individual DMO with the recordId used as the primary Key. But before I do that, I could already create and add 'Key Qualifiers' to both DLOs, so that we could have both records in the Individual DMO without the Id's clashing (at least thats how I understood 'Fully Qualified Keys'?)  

Now, how would my Key Qualifier look like? I thought that I should create a new one and define a name and label. In my case, I would create one with the name 'CRM' and one with the name 'MC'. And then I would add it to the recordId field, which is my primary key. 

 

This is my first DLO before

image.png

 

This is after adding the Key Qualifier:

image.pngI did the same for the other DLO. Does this already suffice to be able to map both DLOs now into the Individual DMO without the risk of running into problems later on? This is the Individual DMOimage.png

I woul'dve expected the KQ_Id__c field to be populated with 'CRM_1' or 'MC_1' instead of just the source system but maybe theres something i miss. 

 

Is this how the FQK's are suppose to be set up? 

 

Then there is also the Engagement table, is it even possible to use FQK's when the data comes from one data stream with different systems? I know that I should add Key Qualifiers to Primary and Foreign Keys, in the engagement table i would add a key qualifier to the EmailEngagementId, but what key qualifier do i add to the Individual field as the Individuals come from multiple sources? 

 

Post got bigger than expected, thanks for your help in advance! 

 

 

#Data Cloud

5 answers
0/9000

Title: Data Cloud - Shopping Cart Product Engagement (SSPC) object not returning records

Hi everyone,

I'm facing an issue in Salesforce Data Cloud related to Marketing Cloud Next abandoned shopping cart data.

Issue:

  • The Shopping Cart Engagement (SSC) object is returning records correctly.
  • However, the Shopping Cart Product Engagement (SSPC) object is not returning any records.

What I've verified:

  • The abandoned shopping cart event is configured and triggered successfully.
  • SSC records are being created in Data Cloud.
  • SSPC object exists, but it contains 0 records.
  • The repeater works with SSC, but I need product-level data from SSPC.

My questions are:

  1. Under what conditions are SSPC records created?
  2. Does SSPC require any additional configuration or mapping beyond SSC?
  3. Are there any known prerequisites for populating the Shopping Cart Product Engagement object?
  4. Has anyone experienced SSC receiving records while SSPC remains empty?

Any guidance or troubleshooting suggestions would be greatly appreciated.

Thank you!   

 

@* Data 360 * 

3 answers
  1. Aug 4, 2:15 PM

    Hi Hemanth, 

     

    This is a common one, and the symptom you're describing — SSC populating while SSPC stays at zero — almost always points to mapping rather than the event itself. Since your SSC records are landing, the event is firing fine. 

     

    The key thing: cart and order engagement events don't get their own data streams. They're consolidated into a single Behavioral Events stream, and the DLO that gets auto-created has to be mapped to each target DMO separately. So on the DMO side of the mapping canvas you need Shopping Cart Product Engagement added as its own target, alongside Shopping Cart Engagement. If only SSC was added, SSC fills and SSPC stays empty — exactly what you're seeing. 

     

    Four things worth checking, in order: 

     

    1. Primary key. eventId has to be mapped to the primary key of every DMO, not just the first one. For SSPC that's ssot__Id__c. If it's unmapped, nothing lands — and as a side effect your Data Transform will run full instead of incremental, which also costs more. 

     

    2. The relationship back to the cart. SSPC is Many-to-One to Shopping Cart Engagement via ssot__ShoppingCartEngagementId__c. If that's not mapped, the line items have nothing to attach to. 

     

    3. Product-level fields in the payload. SSPC expects ssot__ProductId__c, and usually ssot__ProductSKUnumber__c, ssot__ProductQuantity__c and ssot__ProductPrice__c. Worth confirming your cart event is actually sending a line-item array and not just cart-level totals — if the products array isn't in the payload, there's nothing to map. 

     

    4. Validate the mappings. Setup → Marketing Features → Triggers management page checks whether your DMO mappings are configured correctly and surfaces errors. Clear everything there before troubleshooting further, then let the transform re-run. 

     

    To your questions directly: 

     

    SSPC records are created when the behavioral event carries product line-item data and the DLO is mapped to the SSPC DMO with both the primary key and the cart reference mapped. Yes, it needs configuration beyond SSC — same data stream, separate DMO mapping. And yes, SSC-populated-but-SSPC-empty is a very typical outcome of mapping only the cart-level DMO. 

     

    Hope that helps — let me know what the Triggers page shows. 

     

     

0/9000

I am trying to deploy a permission set from sandbox to sandbox and found that i am getting below error.

In field: object - no CustomObject named DataActionDefinition found

 Every time i fix this one new object comes up. 

I think all these objects are related to datacloud and i cannot see these objects in target sandbox. 

How can i fix this issue? I am not sure how many datacloud objects exists. How can i remove all data cloud references from source org? 

 

#Salesforce Developer  #Salesforce Admin  #Data Cloud  #Deployment

1 answer
  1. Sushil Kumar (UKG) Forum Ambassador
    Aug 5, 12:46 PM
    Do you have source control ? So you need to check is how did these object permissions came inside your permissions set. If you compare using your source control, you can remove the extra objects from xml. If you don’t have source control, you can do xml compare from source to target.
0/9000

An Individual in our Data Cloud has multiple Contact Point Emails for example 2 private emails, 1 business email. When we build an activation, we need to reach all of these email addresses separately, not just one.   

The problem: in the activation setup, the Contact Point Email section has "Max # of Attribute Values" locked to 1. Even when we use a custom DMO on a file-based activation, we can increase this number, but the output is still one row per Individual with multiple emails packed into the same row (as extra columns or JSON). Marketing Cloud cannot process this we need one row per Contact Point, not one row per Individual.   

Salesforce Support confirmed that this fan-out format is not natively supported by the activation engine.

Has anyone found a way to activate all Contact Points per Individual as separate rows?

 

@* Data 360 * 

3 answers
  1. Aug 3, 3:32 AM

    Hi @Omar Kharrat

    Here is what you can try: 

    1. Build a custom DLO/DMO that's a

    bridge/fan-out table: one row per (Individual, Contact Point Email) pair — basically your Contact Point Email DMO reshaped as an engagement-style child object, related many-to-one back to Individual. 

    2. Instead of segmenting on Individual or Unified Individual, set "Segment On" to that fan-out DMO. 

    3. Now every row in your segment membership is a contact point, not a person — so when you activate, the output has one row per email address. 

    4. Use an Activation Template here, since it lets you tie the specific contact point to the record without invoking identity resolution at all. With Activation Templates, the Contact Point to use is tied to the Individual or Engagement record, without any Identity Resolution needed.  

     

    I haven't run this exact "3 emails per individual" scenario end-to-end myself yet, so treat it as an architecture direction to prototype rather than a guaranteed fix. 

     

    For more details, you can refer this:

    https://medium.com/@marketingcloudtips/marketing-cloud-next-understanding-which-email-addresses-are-used-for-sending-ca52aaace7d9

0/9000