---blog Title---
SFMC Journey Builder: 8 Effective Strategies for Journey Optimization with Examples
---desktop---

---mobile---

As a mid-market or enterprise brand using Salesforce Journey Builder, you must already be running a number of journeys. Some simple, like a single-channel birthday journey. Some moderate, like a welcome journey across multiple channels. Some complex journeys like cart abandonment and cross-sell journeys.
When you started creating the journeys, you must have seen the journeys getting executed lightning fast. But over time, you would have seen the whole process slowing down, impacting your Salesforce journey optimization efforts.
---outlined-cta---
Unify Touchpoints Across the Customer Journey With MarTech - Download Now
Salesforce Journey Builder is comfortable handling huge amounts of customer data. However, when running multiple complex journeys, simultaneously, Journey Builder’s resources thin out. The process slows down.
Why does Journey Builder perform under-par? Data related and platform usage related goof-ups. Both are interrelated. One affects the other.
From root causes of suboptimal Journey Builder performance to the well-optimized Salesforce Journey Builder, we discuss eight main causes for sluggish journeys. We also offer solutions to accelerate Journey Builder activities so that your journeys are lightning quick. These are battle-tested journey builder best practices—the very ones we use with clients.
Remember the four reasons for sub-optimal usage of Salesforce Marketing Cloud that we covered in our Salesforce Marketing Cloud services page. We are covering the relevant ones from those in detail here.
If you haven’t seen our Salesforce Marketing Cloud solutions page yet, we recommend you visit the page to know more about our capabilities by clicking here.
What is Salesforce Journey Builder?
Salesforce Journey Builder is a powerful marketing automation tool within Salesforce Marketing Cloud (SFMC), designed to enhance customer relationships and drive personalized customer experiences. By leveraging data from the Marketing Cloud, it enables businesses to create seamless, tailored interactions across various channels like email, SMS, push notifications, and ads.
Why Use Salesforce Journey Builder?
- Want your customers to download your app or complete purchases without leaving abandoned carts? Salesforce Journey Builder is the tool for your needs.
- Track customer behavior and use journey builder activities to design personalized communication plans with a simple drag-and-drop interface.
Key Features of Journey Builder:
- Set specific goals and measure whether customers meet them.
- Manage audience paths with decision splits and entry sources in Journey Builder for targeted engagement.
- Specify wait times between steps for more controlled customer experiences.
- Explore Salesforce Journey Builder examples, like cart abandonment recovery or onboarding journeys, to boost your campaigns.
By following Journey Builder best practices, brands can optimize customer interactions, ensuring an efficient Salesforce journey optimization process that drives results.
Factors Affecting the Journey Builder Process
#1: Using the same source database for multiple journeys
All journeys need a data source. The source data can be input into Salesforce Journey Builder through the Entry Source interface. However, Journey Builder’s processing speed is influenced by the amount of customer data it can process at a given time. If you make the mistake of running multiple journeys concurrently, each relying on the same source data, you risk affecting Salesforce journey optimization and disrupting performance.
#2: Sourcing Entry Source data every time
In a multi-step journey, the next step of the journey is usually dependent on data filtered for the previous steps of the same journey. In such cases, accessing data from the Entry Source for every step can slow down your Journey Builder performance. This can hinder effective Salesforce journey optimization within Salesforce Journey Builder.
#3: Contact entering journey multiple times
Multi-step journeys depend on several Entry Source Data Extensions. If you keep these Data Extensions unlinked, you risk the embarrassing possibility of having the same contact data enter the journey multiple times. And if the journey is designed to offer the duplicated contact a freebie, well, someone has just hit paydirt! Proper management of Entry Sources in Journey Builder is essential for ensuring seamless execution and avoiding such pitfalls in Salesforce Journey Builder.
Consider this real-life example
Your wish to use Journey Builder to send an offer only to contacts who have made a purchase of $100 or above. Like a little show of appreciation.
You have three possible scenarios. Each of which falls increasingly higher on the embarrassment scale.
A contact makes one purchase through the mobile app for above $100. – One to One.
A contact makes multiple purchases through multiple channels above $100 – One to Many.
Many contacts make multiple purchases above $100. Through multiple channels. – Many to Many.
In the One-to-One relationship, a single contact data enters the journey once and is eligible for the offer. No problems so far. Since One-to-Many contacts make multiple purchases on multiple channels, the same contact data enters the journey via multiple Entry Sources in Journey Builder. Now you risk sending the same offer to the same contact multiple times. Oops!
In the Many-to-Many relationship, multiple contact data enters the journey through multiple sources. This again sends the same offer multiple times to many customers.
All this obviously leads to unwanted processing, delays, and impacts Salesforce journey optimization. Properly managing Entry Sources and leveraging best practices in Salesforce Journey Builder can help mitigate these issues.
#4: Using Journey Builder as a segmentation tool
Journey Builder has a panel called Control Flows. This is where you put in the logic that decides the paths your journey takes.
Decision Split is one such control. It's used to create separate journey paths based on common data attributes. Decision Split can be used to segment your entire customer data. However, Decision Split is NOT a segmentation tool. Using it as a segmentation tool is a BIG NO. If you use Decision Split at the start of a journey for large-scale data segmentation, Salesforce Journey Builder is guaranteed to stagger, severely impacting Journey Builder performance.
#5: Not using the correct control logic
Marketers tend to get creative by using multiple Control Flows to orchestrate a journey when just one would do the job. And then they wring their hands, wondering why Salesforce Journey Builder is crawling. Overcomplicating journeys can significantly impact Journey Builder performance, making it essential to follow Journey Builder best practices for streamlined execution.
#6: Personalizing journeys when it adds little or no value
Journey Builder has the capability to run personalized content across multiple channels. All emails, SMS, and push notifications sent using the Activity Panel can be personalized by adding dynamic content and images.
Up to a point, this works seamlessly. However, beyond this, the quantum of personalized content tends to slow down Salesforce Journey Builder. When there is too much personalized content, Journey Builder processes all personalization requests for every contact entering the journey. And we are not even talking about the limitations of the messaging channel. Proper Salesforce journey optimization helps mitigate these challenges.
#7: Building journeys without understanding processing time
This is a biggie. Consider a multi-step journey whose path goes through various channels, each with many Control Flows and Journey Builder activities.
Each has its own processing speed. If your expectations of the processing time are not matched by the time taken by the individual stages, you are likely to think Salesforce Journey Builder is slow.
#8: The same instance is used by multiple departments
Initially, you’d buy a Marketing Cloud and use it across multiple business units. This is understandable and sensible, as Journey Builder supports the multi-tenant model.
But as your business scales up, every business unit will have its own journeys to run on priority. Before you know it, multiple journeys from every business unit are running on a single Salesforce Journey Builder installation. When things slow to a crawl, everyone starts blaming each other, and work falls behind schedule.
Examples of Salesforce Journey Builder
1. Welcome Journey
First impressions matter, right? With Salesforce Journey Builder, you can create a seamless Welcome Journey that feels like a VIP experience. Imagine a new customer receiving a personalized email like, “Welcome to the family!” followed by quick tips on getting started.
Using Journey Builder activities, you can sprinkle in dynamic content like their name or interests to make it pop. The result? A warm intro that sets the stage for loyalty—and a textbook case in journey builder best practices.
2. Abandoned Cart Journey
We’ve all been there—adding items to the cart but never checking out. This is where Salesforce Journey Builder shines! The Abandoned Cart Journey lets you reconnect with shoppers in style. Send them a cheeky email like, “Still thinking about these?” paired with dynamic product images and maybe a little discount magic. Following Journey Builder best practices, you’ll turn “meh” moments into “yes!”
---outlined-cta---
Unify Campaigns and Journeys With Connected MarTech Systems - Download Guide
3. Customer Retention Journey
Got some customers ghosting you? Time to bring them back with a killer Customer Retention Journey. Tap into Salesforce journey optimization to send personalized emails, SMS, or push notifications with messages like, “We miss you!” Sweeten the deal with exclusive offers or trending content they can’t resist. This isn’t just re-engagement—it’s rekindling the relationship in a way they won’t forget.
4. Post-Purchase Journey
Why stop at “thanks for your order”? Elevate your game with a Post-Purchase Journey. Use Salesforce Journey Builder to send thank-you messages, quick surveys, or personalized product recommendations. Imagine a follow-up that says, “Loved your purchase? Here’s what pairs perfectly!” By managing your Journey Builder entry source data efficiently, you’ll keep the excitement alive and drive repeat sales.
5. Event-Based Journey
Got an upcoming webinar or product drop? Use the Event-Based Journey to create buzz before, during, and after the event. With Salesforce Journey Builder, you can automate reminder emails, live updates, and post-event thank-yous. For example, “It’s almost time! Here’s what to expect” or “Thanks for joining—here’s the replay.” Perfect timing and Journey Builder best practices make this a must-have for marketers.
Best Practices for Salesforce Journey Builder
1. Salesforce Journey Builder optimization strategies
Use Data Extensions as the Entry Source
Data Extensions will use predefined filters and inject only the data required for that particular journey. Have one for each journey. Even if the Entry Source supports multiple Data Extensions, resist the temptation to use it for multiple journeys. You risk slowing down database activities such as sending logs, imports, reports, or extracts, which can negatively affect Journey Builder performance.
Use Journey Data instead of Source Data
Journey Builder sources two levels of data: Journey Data and Contact Data. Journey Data includes the most recent journey-specific events and logic. If your next step depends on conditions from earlier journey segments, pull from Journey Data—not the Entry Source. This is one of the core journey builder best practices for ensuring faster and more reliable execution.
For example, if a bank runs a promotional campaign for credit card holders:
- Step 1: Filter based on card type → Send offer
- Step 2: Filter based on transaction frequency using data just processed in Step 1
This layered logic uses Journey Data efficiently, significantly reducing lag and improving overall marketing journey builder performance.
Link Data Extensions. Define Attributes
The solution to this is simple.
- Link the Data Extensions.
- Define attributes.
- Use Contact Builder’s Data Designer to compare attributes. That's it.
This will help avoid having the same contact enter the journey multiple times.
Pay close attention to your data. Sources, Selection, and Usage. Because garbage in is garbage out.
---outlined-cta---
Map and Optimize Customer Journeys Using Modern MarTech - Download Guide
2. Salesforce Journey Builder Utilization Strategies
Data segmentation and Filtering - Take it outside
Salesforce has a fantastic product specifically for creating micro-to-large-scale segments: Customer Data Platform (CDP). Don’t burden Journey Builder with this when CDP can create up to 50 short of ten thousand segments. Take the segmentation out of Salesforce Journey Builder to align with Journey Builder best practices and improve overall Journey Builder performance
And the cherry on top? Use Automation Studio ETL to load only the extracted segments into Journey Builder’s Entry Source. Let's show you an example.
Say a journey’s next step is directed only to customers who open an email. Create and name a segment in Customer Data Platform (CDP) to filter only contacts based on email open triggers. Pull in this segmented data into the Salesforce Journey Builder Entry Source.
Or, use Automation Studio ETL to create an attribute for "Email Open". The next time a customer opens an email, their data gets updated in Journey Builder Entry Source in real time, ensuring alignment with Journey Builder best practices and optimized Journey Builder performance.
Use dedicated controls for specific journey paths
Journey Builder’s Control Flow feature is powerful. Journey paths can be created using a single control logic in Control Flow. Usually, multiple controls only add to redundancy. Ockham’s Razor is the guiding principle.
Let’s say you want to run a loyalty program for your credit card users.
Marketers with a poor understanding of how Control Flow works might include all credit card customer data in the Journey Builder Entry Source, then apply a Decision Split to decide eligible contacts, followed by additional filters to complete the journey.
Instead, just apply one Contact Update control with the necessary attributes. This allows you to include the entire credit card customer data into the loyalty program. By doing so, whenever customer data matches the attribute values, predefined loyalty messages are automatically triggered to the relevant customers. This approach adheres to Journey Builder best practices, optimizes Journey Builder performance, and ensures seamless execution in Salesforce Journey Builder
Personalize only when, and only much required
Journey Builder’s processing speed depends on the complexity of personalized content and the delivery throughput capabilities of the message channel. It categorizes the complexity of personalization into five levels, from Static to Advanced. Personalization requests are executed by placing a personalization string into the content block through AMP Script, a common approach in SFMC Journey Builder.
Assume you have an omnichannel customer journey. The customer travels through four different channels to complete the journey. You add ten different types of dynamic content—images and text—to every channel.
When your Journey Builder Entry Source has millions of contact data, imagine the number of substitutions Salesforce Journey Builder has to process for every one of them. Even after it successfully crawls through this voluminous information, your message throughput is likely to get throttled by the limitations of the Cloud Messaging Platform.
So, personalize only those content that are meaningful.
Budget process times based on your slowest process
Truly creative marketers put together a personalized Salesforce Journey Builder customer journey using most controls in the Control Flow panel as a base. The more, the merrier! They add a handful of channels from the Activity panel and flavor it with a smattering of Wait and Decision controls. Yumm!
It's only when you lift the lid to see the Activity counter that you realize dinner has been indefinitely delayed! Each Control Flow and Activity has its own processing speed, and total processing time is only as fast as the slowest process. Like a bottleneck. Like the weakest link in a chain.
1. Activity Processing
Usually, Control Flows process faster than Activities. Let’s assume you build a journey with a Decision Split, Random Split, and finally an email. Say it takes 9 million contacts per hour to process the splits. To your dismay, you find the final email activity creeping along at only 2 million emails per hour. This becomes the limiting factor, slowing down the entire Journey Builder performance.
So, here’s some sage advice: Although Salesforce Journey Builder supports more, do not load more than ~150 activities in a journey. This ensures smoother processing and aligns with Journey Builder best practices.
2. Wait and Decision controls:
This adds another wrinkle. Don’t bother with Wait Controls for activities lasting less than 5 minutes. For example, after sending a text, do you think using a Wait Control to send a follow-up email in the next 5 minutes makes any significant difference to the customer experience?
Instead, send the text message and wait for the customer to engage. Then send the email based on the engagement.
Coming to the Decision Control: Avoid using a Decision Split at the beginning of your journey. Post-split, you are likely to use 50% or less of your contact data, making it inefficient. Proper Salesforce journey optimization and managing Journey Builder activities effectively will significantly improve performance and ensure seamless customer journeys.
Single Tenancy Model for each business unit
If your business is growing, we think this is a good problem to have. We recommend you upgrade your Marketing Cloud to support your growing business unit requirements. When your business unit grows, so should your Salesforce journey optimization and marketing technology stack.
Assume even the upgrade doesn't work. Your Journey Builder continues to stagger with the load of journeys from different business units. We recommend you take the bull by the horns and move up to a Single Tenancy Journey Builder Model. This model deploys one exclusive platform for every business unit with its own dedicated database. This should do it for you.
Most of the time, we marketers comfortably blame tools for sluggish performance. But, remember that the sluggishness is often because of our abuse of the systems and not using them the way the systems are designed.
Summarizing the best practices for your convenience
#1: Use separate Data Extensions for each journey
#2: Use Journey Data instead of Source Data
#3: Link Data Extensions. Define Attributes
#4: Data segmentation and Filtering - Take it outside Journey Builder
#5: Use dedicated controls for specific journey paths. Don’t get creative
#6: Don't personalize Journey Builder to death. Personalize only when, and only much required
#7: Estimate total process times using your slowest process.
#8: Single Tenancy Model for each business unit. Invest in growth.
When you follow the eight best practices mentioned in this article, you can be assured of a seamless execution of journeys. Definitely not slower than your messaging throughput.
In the rarest cases of your Journey Builder being slow despite following these best practices, we would love to take a look, solve it for you and manage your journeys on an ongoing basis.
What gives us the right to write about Salesforce Journey Builder?
Xerago has been offering marketing services using Salesforce modules since before the time they became part of the Salesforce Marketing Cloud. We go back a while. Remember Pardot, ExactTarget, Radian 6? Since those days.
Our vintage in SFMC is quite long. We have encountered several challenges and successfully overcame them. This article is a synthesis of those problems and solutions.
Disclaimer: We are aware that Salesforce has recently rebranded the SFMC modules. Now, Journey Builder is part of Marketing Cloud Engagement. However, for ease of reference and usage, we are retaining the name, Journey Builder

