BackSalesforce · Marketing Cloud Engagement
CASE STUDY
MARKETING OPERATIONS

Salesforce Marketing Cloud MQL Lifecycle Automation

This is how I would use Salesforce and Marketing Cloud to build an automated journey that identifies Marketing Qualified Leads (MQL), nurtures them based on engagement, and routes sales-ready leads to the appropriate next step.

Salesforce CRMMarketing CloudContact BuilderAutomation StudioJourney BuilderSQL
Architecture Overview

Website Form → Salesforce → Marketing Cloud → Sales

The end-to-end path a form submission travels, from lead creation through journey orchestration and sales ownership.

Website Form
Inbound Lead
Salesforce CRM
Lead Created / Updated
  • Salesforce Lead ID
  • Email
  • Form Source
  • Lead Status
  • Created Date
  • Email Opt-Out
Marketing Cloud Connect
CRM Data Synchronization
Contact Builder
Unified Contact Model
Salesforce Lead IDbecomesContactKey
Data Extension
MQL Website Leads
ContactKeyEmailLifecycleForm SourceOpt-In
00Q...123user@email.comMQLWebsiteYes
Automation Studio
Audience Qualification
Scheduled Automation→SQL Query Activity→Apply Qualification Rules→Update Sendable DE
Journey Builder
MQL Nurture Journey
Entry: MQL Data Extension → Send Email 1 → Wait 2 Days
Engaged → Continue NurtureNot engaged → Alternative Follow-Up
Still MQL → Continue JourneySQL / Converted → Exit Journey
Salesforce Sales Handoff
Qualified Lead Routed to Sales
  • Lead Owner
  • Sales Task
  • Lead Status
  • SQL Conversion
01 — Establish the Contact Model

Contact Builder — Data Foundation

I would start with the data. When someone submits the website form, I would create or update their Lead record in Salesforce CRM. Salesforce would remain the source of truth for information like lead status, form source and email consent. I would then use Marketing Cloud Connect to bring the Salesforce data into Marketing Cloud. In Contact Builder, I would connect the data back to a unique Contact Key so the same person can be consistently identified across their marketing activity.

Contact BuilderData DesignerAll ContactsData SourcesData ExtensionsImportsContacts Configuration
Data DesignerAttribute GroupsEventsPopulations
Lead Data
12
Attributes
Email Data
11
Attributes
System Data
4
Attributes
Consent
3
Attributes
Engagement
19
Attributes
Journey Status
7
Attributes
Attribution
9
Attributes
Sales Data
6
Attributes
Identity Strategy

Use the Salesforce Lead/Contact identifier as the Contact Key rather than email address to maintain a persistent unique customer identity across every attribute group.

02 — Build the MQL Audience

Data Extension — Qualified Audience

Next, I would define exactly who should enter the journey. I would create a sendable Data Extension specifically for qualified website leads. To enter this audience, the lead would need to meet each qualification rule: they submitted the correct website form, their Salesforce Lead Status is MQL, they fall within the appropriate date range, and they have not opted out of marketing emails. This gives me a clean audience before anyone ever enters the nurture journey.

DE_MQL_Website_Form_SubmissionsSENDABLE
ContactKeyEmailAddressFirstNameLeadStatusFormSourceCreatedDateEmailOptIn
00Q...123user@email.comJordanMQLWebsite Form2025-02-04True
00Q...481lead@company.coPriyaMQLWebsite Form2025-02-06True
00Q...907hello@studio.ioMarcusMQLWebsite Form2025-02-09True
Qualification logic
Form Source
= Website Form
AND
Lead Status
= MQL
AND
Created Date
> Qualification Date
AND
Email Opt-Out
= False
QUALIFIED MQL
03 — Automate Audience Qualification

Automation Studio

I wouldn't want to manually rebuild this audience every time a new lead comes in. I would use Automation Studio to automatically evaluate the Salesforce data on a schedule. A SQL Query Activity would look for leads who meet my qualification criteria and update the MQL Data Extension with the contacts who are eligible for nurture. This keeps the audience current and gives Journey Builder a reliable, controlled entry source.

Automation StudioOverviewActivities
Browse All Automations
MQL Audience Refresh
Scheduled · Hourly
SUMMARY
See an overview of this automation
WORKFLOW
4 activities
ACTIVITY
Running · Last run 09:00
Starting Sources
Schedule
File Drop
Activities
SQL Query
Filter
Data Extract
Send Email
Verification
Wait
Starting Source
Step 1
Step 2
Step 3
Step 4
Schedule
Runs hourly
1.1 SQL Query
Qry_MQL_Website_Leads
2.1 Filter
Consent + Lead Status
3.1 Data Extension Update
DE_MQL_Website_Form_Submissions
4.1 Verification
Row count > 0
1.1 SQL Query Activity
SELECT
    ContactKey,
    EmailAddress,
    FirstName,
    LeadStatus,
    FormSource
FROM Lead_Data
WHERE LeadStatus = 'MQL'
AND FormSource = 'Website Form'
AND EmailOptOut = 0
04 — Orchestrate the MQL Journey

Journey Builder

Once I have a clean MQL audience, I would use Journey Builder to manage the actual nurture experience. Qualified leads would enter from the MQL Data Extension and receive the first nurture email. From there, I would add wait periods and engagement splits so the next step can change based on how the lead interacts with the campaign. Engaged leads could continue through the primary nurture path, while leads who don't engage could receive a different follow-up. I would also check the lead's current Salesforce status before continuing the journey so the messaging stays aligned with where they are in the sales process.

Journeys Dashboard › Journey
MQL Website Lead Nurture
Version 1Activate
Entry Sources
Data Extension
Salesforce Data
API Event
Activities
Email
SMS
Split
Wait
Sales/Service Cloud
DATA EXTENSION
DE_MQL_Website_Form_Submissions
Record count · 1,248
MQL Welcome Email
2 days
Engagement Split
3 days
Nurture Email 2
Exit on day 10
NOT ENGAGED
Re-engagement SMS
2 days
Decision Split — Lead Status?
SQL / CONVERTED
Update Salesforce Lead
Sales Handoff Task
Exit Journey
Entry SourceMessageWaitSplitSalesforce ActivityExit
05 — Prevent Lifecycle Drift

Sales Handoff

The journey shouldn't keep nurturing someone once they're ready for sales. I would use updated Salesforce Lead Status data to determine when a lead should leave the MQL journey. If the Lead Status changes from MQL to SQL or the lead converts, they would exit the nurture path. Salesforce could then update ownership, create the appropriate sales task and move the lead into the next stage of the sales process. This prevents qualified leads from continuing to receive outdated MQL messaging and creates a cleaner handoff between marketing and sales.

FORM SUBMISSION→MQL→NURTURE→SQL→SALES
STEP 1
Lead Status changes from MQL → SQL
STEP 2
Marketing Cloud receives updated CRM data
STEP 3
Journey evaluates lifecycle status
STEP 4
Contact exits MQL nurture
STEP 5
Sales takes ownership

Right message. Right lead status. Right owner.

Operations Architecture

How the work is divided 

AUTOMATION STUDIO
Data Operations
  • Segmentation
  • SQL queries
  • Audience refreshes
  • Data processing
  • Scheduled automation
JOURNEY BUILDER
Customer Organizing
  • Email nurture
  • Wait periods
  • Decision splits
  • Engagement logic
  • Journey exits
SALESFORCE CRM
Sales Operations
  • Lead ownership
  • Lifecycle progression
  • Tasks
  • Opportunity creation
  • Sales reporting

Automation Studio manages the data → Journey Builder manages the experience → Salesforce CRM manages the sales process.

Business Outcome

What this architecture delivers

Cleaner MQL Audiences

Only qualified and marketable leads enter nurture.

Automated Sales Handoff

Lifecycle progression connects marketing activity with sales follow-up.

Reduced Messaging Errors

SQLs and converted leads are prevented from receiving outdated MQL messaging.

Measurable Funnel

Track movement from Form Submission → MQL → Engagement → SQL → Conversion.