Skip to main content

#Marketing Cloud90 discussing

Good afternoon everyone, hope you are doing well. 

 

I would like to ask a few questions regarding sandboxes in MARKETING CLOUD NEXT, which came up as I started on a new project. To give you some general context, this client basically wants to do all the development in the sandbox, and once everything is validated and tested, deploy it to production—which is totally fine.

 

 

However, here are my questions: 

 

1 - Regarding WhatsApp: Can I perform the setup configuration, warming, and testing all within the sandbox? My concern is whether I will need to replicate this entire process in production later on. If there is an ideal scenario or best practice, I would like to understand how to proceed with this step. 

 

2 - Regarding Email: Similar to the WhatsApp situation, my main question is about the domain/subdomain in the sandbox. When doing all this setup, do I need to perform the IP/domain warming normally? Is it necessary to create a domain/subdomain to work in the sandbox as well, and then repeat the same step for production? Or is the process different for a sandbox? 

 

In short, these are my main questions, but just to reiterate: this client wants everything to be developed and tested in the sandbox, and we will only deploy to production once everything is validated.

Because of this, I have these questions so I can understand the best way to move forward. 

 

Thank you. 

 

#Trailhead  #Salesforce Developer  #Salesforce Admin  #Salesforce  #TrailblazerCommunity  #Marketing Cloud

1 answer
  1. Yesterday, 5:44 AM

    Hi Guilherme, good questions. Building and testing in a sandbox is the right approach for journeys, segments, content and flows, but treat channel setup as per-org configuration rather than something you deploy. 

     

     

    1. WhatsApp: The WhatsApp sender is tied to a phone number registered with Meta under a WhatsApp Business Account, and a number can only be active in one place at a time. Use a separate test number (or Meta's test setup) in the sandbox for development and testing, and plan to connect the real business number directly in production. You will repeat the channel connection and template approval steps in production, so document them as a go-live runbook. 

     

     

    2. Email: Sender domain/subdomain authentication (SPF/DKIM records) is configured per org, so you set it up again in production. For the sandbox, use a dedicated test subdomain so test sends never touch your production sending reputation. IP/domain warming only matters where you send real volume, which is production. Sandbox sends are low volume to internal test addresses, so there is nothing to warm there. 

     

     

    3. What does deploy: segments, journeys/flows, content and data model changes can move through your normal deployment path (change sets, DevOps Center or a CLI pipeline), but check the current Marketing Cloud Next documentation for which components are supported metadata, as coverage has been changing release to release. 

     

     

    Tip: build a go-live checklist early that lists every manual production step (WhatsApp number connection, template approvals, domain DNS records, consent/compliance settings, warming plan). DNS changes and Meta approvals can take days, so start them in production in parallel with sandbox testing rather than after sign-off.

0/9000

Hi all. Looking for input from anyone who has done B2B with many-to-many account–contact relationships.

Setup:

• B2B only; Sales Cloud is the only data source

• Contacts are linked to multiple Accounts via Account Contact Relationship (many-to-many)

• The same person can have a different role and relevance at each account

Requirement:

If a contact is related to two accounts that are both in a send's audience, they should get two emails, one per account. Each is personalised with that account's data (company name, account-level figures, etc.).

The tension:

In MC Next, segments and data graphs are anchored on Unified Individual, and identity resolution collapses the person into one profile. That's what we want for consent, which is keyed on the email address. But it seems to work against "one email per relationship". It also makes account-level merge fields ambiguous when one person has several accounts in the data graph.

Questions:

Has anyone delivered one email per account relationship in MC Next? Which pattern did you use: separate segments or flows per account, iterating over Account Contact Relationships in a flow, or something else?How do you make the data graph deterministic about which account's data renders in a given email?Any identity resolution tips for this case, e.g. keeping Contact-level identity versus matching on email?

Happy to share back what we land on

#Marketing Cloud #Sales Cloud
1 answer
  1. Oct 23, 1:18 PM

    Hi @Lukas Lunow

     

     

    This gets easier to create an approach, when we look at how each piece works underneath. Not done personally, but this is how i would approach this: 

    1. Sending works per row, so create the rows you want sent. MC Next sends one email per record that reaches the send step. If you want one email per account relationship, you need one row per Account Contact Relationship. Build a DMO with a Data Transform, keyed on the ACR Id, with the Contact Id, email and the account fields you need (company name, figures, role) on that row. Two relationships means two rows, which means two emails.
    2. Personalization reads from the record being sent, so put the account data on that record. The data graph gets ambiguous when one person has several accounts attached, because nothing tells it which one to pick. If each ACR row already carries its own account data, the merge fields just read from that row and the output is deterministic.
    3. Identity resolution is for the person, not the relationship, so let it do only that. Unified Individual exists to collapse the same human into one profile, which is exactly what you want for consent on email. Keep Contact Id as a Party Identification and match on email. Keep account-specific attributes off the Individual, so they never compete in the unified profile. Consent and suppression stay at the person level, and the send grain stays at the relationship level.

    The main thing I’d validate is how cleanly MC Next lets you send off a relationship-level DMO while still checking consent on the linked Unified Individual. We can prototype with one contact on two accounts before rolling out. 

     

0/9000

Hello everyone, 

 

I have a question about Marketing Cloud Personalization that I could not find in the documentation. 

 Is it possible to create and edit the following campaign types through an API?

 

- Mobile Data campaigns

- Server-side campaigns

 

If so, where can I find the API documentation (endpoints, required permissions, and any limitations) ? 

 

Thank you. 

 

#Personalization  #Marketing Cloud  #API

0/9000

Hi team: In Marketing Cloud Next, are flows (Journeys in MCE) first implemented in a sandbox environment and then deployed to production? Also, must the contact exist in the CRM, or can they originate from another system? What ID is used? 

Thanks 

 

#Trailblazer Community Questions  #Marketing Cloud  #MarketingCloudNext  #Marketing Cloud Engagement

4 answers
  1. Oct 21, 11:52 AM

    Thanks! Thanks. Could I use, for example, the `contactID` as the ID in some cases, and an ID from a CIAM system in others? There are scenarios where a person might register in the CIAM system first—and then potentially be added to the CRM—or vice versa.

    El mié, 21 de oct de 2026, 07:03, Salesforce Trailblazer Community <

    trailblazercommunity-notif@salesforce.com> escribió:
0/9000

Hi all, 

 

I have a project with a client that sends emails in multiple languages. 

They switched from AC to MC Next. 

We used one email for all the languages, using the multilingual variant from MC Next. 

The email is composed of header/footer ( as content blocks) and email body. They all have the language variant translated. In a test send, the email renders correctly, but in a real send, only the email is translated ( not the header/footer)....any clues on why this happens...and solution? ( one workaround is to put the header/footer in the email, but in case smtg changes, then all the emails need to be changed, as MCNext has the policy for 1 email/1 form/1 flow).  

Content Block not being translated in MCNext

 

 

Screenshot 2026-10-20 181700.png

 

Thank you :) 

 

#Marketing Cloud  #MarketingCloudNext

2 answers
  1. Oct 20, 7:04 PM

    Hi @Seban Babu

    thank you for your response 

    - I think it does use a pfixed preview language. There is no logic on the header/footer. They are simple contet blocks (with language variants). 

    - I did try it ( deleted and the added again), but it still shows as default ( only for the header/footer)..the email body is sent with the correct language variant ( based on the locale)

0/9000

Hi Trailblazer Community,

We have been experiencing intermittent email delivery failures to Gmail recipients from Salesforce Marketing Cloud (SFMC) since 15 August 2026. The issue affects multiple sending domains and appears sporadically.

Issue description

We are observing the following symptoms:

  • Emails sent to Gmail recipients are intermittently rejected.
  • SPF and DMARC authentication results sometimes show as Fail, while other messages show Pass.
  • Some failures are recorded as Unknown Bounces in SFMC.
  • When we investigate the bounce details using the SFMC _Bounce Data View and review our deliverability monitoring reports, we see Gmail SMTP error 550-5.7.25, indicating that the sending IP may be missing a valid PTR (reverse DNS) record or that the corresponding forward DNS entry does not resolve back to the sending IP.
  • The issue is occurring across multiple sending domains rather than being isolated to one domain.

Investigation completed so far

  1. Our domain team has confirmed that no DNS record changes were made during the period under investigation.
  2. The Salesforce team has also indicated that they have not made any DNS record changes.
  3. We have reviewed SPF, DKIM and DMARC configurations, which appear correctly configured, although intermittent authentication failures are still reported.
  4. The bounce details and deliverability monitoring reports indicate PTR-related failures for the sending IP.

We are trying to establish whether this is related to the sending IP infrastructure, reverse DNS configuration, DNS resolution inconsistencies, or another underlying issue.

Questions for the community

  1. Has anyone experienced similar intermittent Gmail delivery failures in SFMC since 15 August 2026?
  2. Can a PTR or forward-confirmed reverse DNS issue occur intermittently even when the DNS configuration appears correct?
  3. If multiple sending domains are affected, could the underlying issue be related to a shared Salesforce sending IP pool or Salesforce-managed infrastructure?
  4. What is the recommended approach to correlate SFMC _Bounce Data View records with the actual Gmail SMTP rejection responses and the sending IP used for each message?
  5. Has Salesforce Support identified any known issues or infrastructure changes that could cause this behavior?

We would appreciate insights from anyone who has resolved a similar issue, particularly where SPF, DKIM and DMARC configurations appeared correct but Gmail continued to report PTR-related delivery failures.

Thank you in advance for your help. 

 

#Marketing Cloud  #Marketing Cloud Engagement  #Email Deliverbility  #MC Domain Verification

2 answers
  1. Oct 19, 8:03 AM

    Hi @Mradul Srivastava

     

     

    Not sure if helpful as our issue was with Microsoft, but we had a similar situation earlier this year. Everything our end was the same as it's always been but suddenly we had a lot of hard bounces to Microsoft email addresses only.  

     

    The cause was an IP restriction on their end due to another sender in our shared IP pool. I was able to get this restriction removed with the help of Salesforce and Microsoft support teams.

0/9000

I am trying to create a list for our email purposes, and I am new to Salesforce Marketing Cloud. Whenever I try to create a filtered list from our parent list source, I get this error message. Does anyone know how to solve  

How to solve for the expression error on marketing cloud to create curated list?

 

this?  

 

#Marketing Cloud

1 answer
  1. Oct 13, 11:01 PM

    Check that your filter criteria operators and data types match correctly (such as comparing text fields with text values or ensuring numeric fields aren't evaluated as strings). Additionally, make sure you aren't referencing invalid fields or combining multiple incompatible operators that trigger evaluation conflicts in the filter canvas. Here is a video about the filtered data extensions that you are trying to do: https://www.youtube.com/watch?v=fNH_PSHtksI

0/9000

I just took the Marketing Cloud Engagement Specialist exam in Spanish, and I’m extremely disappointed with the experience. The translation was so poor that some questions were genuinely difficult to understand. I chose to take the exam in my native language to avoid confusion under pressure, but the Spanish version ended up being even more confusing than English.

It’s incredibly frustrating to spend time preparing for an exam and then struggle to understand the questions because of the quality of the translation. I honestly did not expect such a poor translation from Salesforce, especially for a professional certification exam. 

 

#Certifications  #Marketing Cloud

1 comment
  1. Oct 12, 8:06 PM

    I'm sorry about your experience, but thank you for sending the feedback Sofia. We've passed it along.

0/9000

Good afternoon everyone, how are you? 

 

I would like to ask a question regarding the email dynamic content for abandoned carts, where we need the ProductName, CurrentPrice, ProductImageURL, and PDPUrl information. Is it necessary to have a Data Graph configured in order to perform a test send with the dynamic personalization based on our Trigger Events? 

 

Because so far we have basically everything configured and are correctly receiving the abandoned cart event data, but when we simulate a send via the flow, none of our emails are dynamically populated. 

 

I created my entire flow based on this link: https://medium.com/@marketingcloudtips/marketing-cloud-next-abandoned-shopping-cart-trigger-d1039e12bf79

 

 

If we missed anything, please help us out! Thank you ! 

 

#Trailhead  #Salesforce Developer  #Salesforce Admin  #Salesforce  #TrailblazerCommunity  #Flow  #Marketing Cloud

4 answers
  1. Oct 7, 11:21 PM

    @Guilherme Sequine Saquei! 

     

    O evento chegar no flow e no Data Cloud confirma que o carrinho abandonado está entrando. A vitrine é outro passo: ela só repete os produtos quando o Repeater tem uma fonte, e cada campo de dentro (imagem, nome, preço e link) é merge field dessa mesma fonte. Com o layout estático, o teste envia o e-mail e a vitrine vem vazia ou fixa. 

     

    O data graph só alimenta a vitrine quando ela está em Data Graph Attribute. Nesse caso ele precisa incluir o DMO dos itens do carrinho, no caminho Unified Individual → Unified Link Individual → Individual → itens, com nome, preço, imagem e URL marcados. O e-mail usa o graph padrão do Setup (Customer Engagement), salvo se tiverem colocado outro na própria mensagem. Esse graph atualiza na agenda, então o carrinho pode já estar no Data Cloud e ainda não estar disponível para a vitrine. Um graph só de perfil envia o e-mail e não tem linha de produto para repetir. 

     

    Para esse teste, liguem a vitrine no evento, que é o payload que vocês já validaram. No e-mail, aba Data Sources, adicionem o evento de carrinho abandonado (o mesmo do flow). No Repeater, definam o Repeater Source nesse evento, nos itens do carrinho. Dentro da vitrine, a imagem entra como Merge field, e nome, preço e URL do botão também, todos dessa mesma fonte. Salvam e fazem o preview com a pessoa que gerou o evento. Se nome e preço aparecerem e a imagem continuar em branco, incluam o domínio da imagem em Setup → Trusted URLs.

0/9000

I’m building a welcome journey in SFMC for first-time customers, with emails on Days 0, 3 and 7. The entry Data Extension is overwritten daily, but customers already in the journey continue using their Journey Data.

I want customers who unsubscribe during a wait to exit the journey before the next email. My source DE has a Marketing Consent field, but it isn’t automatically updated when someone unsubscribes.

What is the recommended way to configure this? Can Exit Criteria read the current All Subscribers or publication-list status directly, or do I need a separate status DE linked in Contact Builder? If a separate DE is needed, how should its status be kept updated?

Also, my fictional test customer exists in the entry DE but not in All Subscribers. How can I test this exit rule correctly? 

 

#Marketing Cloud  #Journey Builder

4 answers
  1. Oct 7, 9:45 AM

    Hi @Swetha reddy

    , 

     

    Even though Salesforce Marketing Cloud (SFMC) automatically blocks emails to anyone marked "Unsubscribed" in the All Subscribers list, relying solely on that list won't remove them from the Journey canvas. If you want contacts to leave the journey when they officially opt out, or if consent comes from an external CRM, use one of the two approaches below.

     

    Option 1: Use Journey Exit Criteria via Contact Builder (Recommended)

    Journey Builder cannot read the All Subscribers list or Publication Lists directly in Exit Criteria. It requires a linked Data Extension under Contact Data.

     

    1. Create a Consent / Unsubscribe Data Extension (DE)
    • Include fields such as SubscriberKey (Primary Key) and ConsentStatus or Status.

    2.Keep the DE Updated Automatically

    • If consent is tracked inside SFMC: Set up a scheduled Automation Studio query targeting the _Unsubscribe data view or _Subscribers data view to populate this DE regularly (e.g., hourly).
    • If consent comes from Salesforce CRM or an external system: Use Synchronized Data Extensions or an incoming API/file import to keep this DE up to date.

    3. Link the DE in Contact Builder

    • Go to Contact Builder > Data Designer.
    • Create an Attribute Group and link your Consent DE to the Contact record using Contact Key = SubscriberKey (1-to-1 relationship).

    4. Set the Exit Criteria in Journey Builder

    • Select Contact Data (not Journey Data).
    • Configure the rule: Consent DE -> Status equals 'Unsubscribed'.
    • How it works: Whenever a contact finishes a wait activity, Journey Builder evaluates the Exit Criteria. If their record in Contact Data shows they opted out, they immediately exit before the next email is sent.

     

    Option 2: Suppress via Exclusion Script (Quick Workaround)

    If you do not want to configure an Attribute Group in Contact Builder, you can keep contacts inside the journey path but prevent the emails from sending:

     

    1. Maintain an updated Unsubscribed_DE containing SubscriberKey.
    2. Add an Exclusion Script to each Email Activity in the journey:

    Code snippet

     

    ROWCOUNT(LOOKUPROWS("Unsubscribed_DE", "SubscriberKey", AttributeValue("_SubscriberKey"))) > 0

    If their key appears in the unsubscribe list, SFMC skips sending the email.

     

    How to Test This with Fictional Test Customers

    Because your fictional customer is not in All Subscribers yet:

     

    1. Add them to All Subscribers first: Perform a simple test send (or standard User-Initiated send) to your test record so SFMC registers the SubscriberKey and email address in All Subscribers.
    2. Enter the Journey: Inject the test subscriber into your Journey.
    3. Trigger the Unsubscribe Mid-Wait: While the contact is paused in the Day 0–3 Wait activity:
    • Change their status in your Consent DE (or in All Subscribers / your CRM).
    • Run your update query/automation so the linked Contact Data DE reflects Status = Unsubscribed.

    4. Verify the Exit: When the wait timer expires, inspect the Journey canvas health and history. The contact will show as Exited via Exit Criteria rather than moving to the next email.

0/9000