Skip to main content

#Journey Builder14 discutindo

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 respostas
  1. 7 de out., 09:45

    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

The idea would be to allow users to enter data such as Journey investment/cost, number of customers impacted, conversion rate, average order value, and revenue generated, and have the system automatically calculate the ROI. In addition to revenue generated, I’d also like to consider cost avoidance for Journeys that don’t necessarily generate revenue but help reduce or avoid costs. What other inputs, metrics, and formulas would you consider important to make this calculation more reliable, especially when it comes to incremental revenue, cost avoidance, and control groups ? 

 

#Marketing Cloud  #Marketing Cloud Engagement  #Tactics Driving Marketing ROI  #Journey Builder

3 respostas
  1. Lukas Lunow (NoA Ignite) Forum Ambassador
    27 de ago., 20:31

    Good question, and one I'd like to answer properly, but the honest answer is that the shape of what you build changes completely depending on a few things you haven't told us yet. So let me ask rather than guess. 

     

    First, a snag in the input list. You've got conversion rate, AOV and revenue generated as separate inputs. Those can't all be independent, either revenue is derived (contacts × CR × AOV) or it's measured from actual order data. If both, the calculator can disagree with itself on day one. Which is it meant to be? 

     

    Is this a forecast or a scorecard? A pre-launch business case with sliders and ranges, and a post-launch "what did this actually earn us" report, are two different artefacts. Same formulas, completely different data sources and completely different build. Most of these tools get abandoned because they try to be both. 

     

    Are your journeys always-on or campaign-shaped? For an always-on journey, ROI isn't a number, it's a curve. Contacts keep entering, conversion rate drifts, build cost is sunk and shrinking per contact over time. You'd need entry cohorts and a payback view, not a single figure. 

     

    Do you already have holdouts running? This is the big one. Without a control group you're not measuring incremental anything, and no amount of formula design fixes that. If you do have them: are they persisted per contact, or re-rolled with Random Split on each entry? And is there a global holdout as well as per-journey ones? (Per-journey lifts don't sum to portfolio lift, and the gap matters.)

     

    Where do revenue and cost data actually live? MCE has neither revenue nor margin nor cost of goods. That pushes the actuals half of this toward Data 360 / your warehouse / Tableau, with MCE contributing engagement and holdout membership. Is that available to you, or are you constrained to build inside MCE? 

     

    Who owns the cost-avoidance assumptions? Cost avoidance is where business cases go to get manufactured. If Finance hasn't signed off on "cost per deflected call," it's a soft number and should be flagged as one. 

     

    One last thing, said kindly: most of this question isn't really MCE-specific. Incrementality design, control-group methodology, margin vs revenue, cost-avoidance taxonomy: that's marketing measurement, and it would be true if you were running Braze or a spreadsheet. The genuinely MCE-shaped slice is narrow: how to persist a holdout flag so it survives re-entry, how to get engagement data out into something that can join it to orders, and whether a Cloud Page + assumptions DE is a sane place to put the front end. Happy to go deep on that slice here, since that's what this group is good at. 

     

    For the measurement-design half you'll get better answers where the analytics and architecture folks hang out. The Marketing Architects group, or a Data 360 / Tableau group. Genuinely worth cross-posting; it's a good question, just a two-venue one. 

     

    Tell me which of these apply and I'll happily go into the formulas with you.

0/9000

🚀 Available for Freelance Projects | Salesforce Marketing Cloud (SFMC)

Salesforce Marketing Cloud Specialist with 3+ years of experience delivering automated, personalized, and CRM-driven marketing solutions.

Expertise: 

✔ Email Studio | Journey Builder | Automation Studio 

✔ AMPscript | SQL | HTML/CSS  

✔ Audience Segmentation & Dynamic Personalization 

✔ SFMC + Salesforce Sales Cloud Integration 

✔ Customer Journeys & Campaign Automation

Open to short-term, long-term, and remote freelance opportunities.

Feel free to connect or message to discuss your SFMC requirements.

#Salesforcemarketingcloud #SFMC #Salesforce #Email #AMPscript #Journey Builder #Freelance Project Work #Freelancing Work #Freelancing

2 comentários
0/9000
Marc Cañadas perguntou em #SMS

I am trying to put a dynamic custom from name for a SMS sending, but it's not being possible due to the character limit in the Enter your From Name square. Is there any way I can do this?  

Dynamic Custom From Name in SMS

 

 

 

#SMS  #Dynamic Sender Profile  #Journey Builder

1 resposta
  1. 23 de set., 18:06

    Workarounds and Alternatives

    • If you need to personalize SMS, use AMPscript or personalization strings in the message body, not the From Name.
    • For longer sender information, include your brand or sender details in the SMS content itself.
    • For more details, see the official documentation on From Names in MobileConnect.
0/9000

One of our Entry Events in Marketing Cloud Journey Builder stopped admitting contacts. It uses a Data Extension to get the contacts. The issue was discovered on September 17, 2026, but the last contact entered the journey on June 2, 2026. Since then, over 6,000 new records in Salesforce that should have entered the journey have not been admitted. The Entry Event stopped working exactly 365 days after the Data Extension was created (6/3/25), which may indicate an expiration or configuration issue. No errors are reported; contacts are just not entering as expected.  

 

Other aspects of our Marketing Cloud seem to be fine, including many 1-off sends. 

 

Any suggestions? 

 

#Marketing Cloud  #Journey Builder

2 respostas
  1. 22 de set., 06:56

    @Charles Spring There are a few checks that you can perfrom - 

    1. Check if journey status is active.
    2. If it is associated with an automation - review the automation as well.
    3. If above two are in place and records are being added in the data extension then check the contact evaluation. Click on entry source and then click "View Event Results" > Contacts Evaluated. See screen-shot for better understanding - There are a few checks that you can perfrom - Check if journey status is active.If it is associated with an automation - review the automation as well.

    Please share your finding here if everything above looks fine in your journey.

0/9000

Hello- I have an active journey with a decision split- I realize that one of the content is using the wrong attribute. How can I update that content?   

1 resposta
0/9000

Hi everyone,

 

my goal is to create an activity in Marketing Cloud Journey Builder which waits for an interaction of the user in the mail and sends a reply mail depending on what button the user clicked on.

 

The thing is, there shouldn't be a specific waittime after which it is checked if one of the buttons was clicked - as mentioned the reply mail should be triggered asap after the user interaction. So a click activity split would not work in this scenario. 

 

A regular  decision split obviously wouldn't work as well.

 

Intuitively the wait until event acitivity comes to mind but this is purely for an API event. I am not sure if this would be the way to go since i have all the required data in Marketing Cloud. An idea would be to log the users who clicked one of the possible buttons via _Click data view into a data extension, including the buttonName field or link name to then split fort the fitting reply mails. I just can't get around the part on how to listen to the click event and immediately react to it and send out the mailings.  

 

I am sure that there is a way to achieve this goal since it shouldn't be to uncommon to immediately react to a contact's behabiour in a mailing :). 

 

Many thanks in advance! :)

4 respostas
  1. Florin Valean (Creation Technology Solutions Limited) Forum Ambassador
    27 de mar. de 2023, 15:29

    Hi Benedikt.

    It looks like you already have a very good understanding of Wait until Event activity. Unfortunately there is no way to respond in real time to a click in the email itself. However, you could achieve your goal by implementing the click to redirect to a cloud page and on the cloud page you can implement an API call to trigger the Wait until Event activity.

0/9000

Hello community: I have a question regarding when you have only one business unit. How do you handle API event tests that might be involved in a Java build? For example, how would a password reset process work? Do you test and delete contacts? Do you use a dedicated test journey?  Thanks      

2 respostas
  1. 20 de mai., 22:05

    Thanks @john wick Thank you very much. By "deleting contacts" I meant leaving an automation. Regarding trips, is it common to have one test and one real trip, or does it depend on the case? For api, the attribute can be used, but if it's later deleted, I understand it's not necessary. I didn't understand the part about deletion.

0/9000

I'm creating a Journey with an engagement split. The mail has a CTA link to generate a call from Sales Rep. If the the contact clicks, the call activity should be generated immediately, but if not click, should wait a week before sending another email. How can I get this? Thanks!   

1 resposta
0/9000
How do I remove duplicates in Journey Builder before sending an email? All our data extensions (source data extensions, too) have the ID as the subscriber key so there are duplicate email addresses in all the data extensions. Automation Studio has this feature already but I need it in Journey Builder since we resend to the people who haven't opened the email.
5 respostas
  1. 15 de abr., 14:31

    Hey, you can do this with the journey builder settings using journey is no re-entry, but this only works if your contactID (your primary key) is the subscriber key. 

0/9000