Module 1 — Email Studio deep dive
Email Studio is where you build, send, and track email campaigns. While Content Builder handles the design, Email Studio handles the sending workflow — classifications, audiences, scheduling, and tracking.
The Email Studio Send Flow
-
1Select your emailEmail → Send. Select the email from Content Builder. The email must be in Active or Final status — it cannot be in Draft.
-
2Define your audienceSelect a Data Extension, List, or Group to send to. You can also add suppression lists — audiences to explicitly exclude (e.g. recent purchasers, unsubscribes from another channel).
-
3Choose a Send ClassificationThis sets the From Name, From Address, and reply-to. It also determines the CAN-SPAM category: Commercial (marketing) or Transactional. Get this right — transactional emails bypass opt-out lists.
-
4Preview, test & validatePreview as multiple subscriber profiles, send test emails to real inboxes, and use the Validation tab to catch issues like missing unsubscribe links.
-
5Schedule or sendChoose Send Immediately or schedule for a specific date/time. For time-zone-aware sending, use Journey Builder instead — Email Studio sends in a fixed timezone.
User-initiated sends vs triggered sends
A User-initiated send (UI Send) is a one-off batch send — a newsletter or promotion. A Triggered send fires automatically in response to an event (e.g. someone filling out a form). Triggered sends are configured as Triggered Email Sends and are usually invoked via API or by Journey Builder.
For large audiences, SFMC sends in batches automatically. If you need to control send rate (e.g. to protect a landing page from traffic spikes), you can configure a Throttle Limit in the send flow.
Module 2 — Content Builder & templates
Content Builder is SFMC's centralised asset library. Everything lives here — emails, images, code snippets, document templates, and content blocks.
Key Content Builder concepts
| Asset type | What it is |
|---|---|
| Email message | A complete email ready to send |
| Template | A reusable layout (header, footer, columns) that email messages are built on |
| Content block | A reusable section (e.g. standard footer, social links) that can be dropped into any email |
| Image | Images hosted in SFMC's CDN — always use hosted images for deliverability |
| Code snippet | Reusable AMPscript or HTML fragments |
| Document | PDFs and downloadable files hosted in SFMC |
Template strategy
A good template architecture separates structure from content. Build templates that define the header, footer, fonts, and colour palette — then let individual emails fill in the content areas. This means:
- Brand changes happen in one place (the template), not across hundreds of emails
- Editors can't accidentally break the layout
- New emails are faster to produce
Use locked regions for headers, footers, and brand elements that shouldn't change. Use unlocked regions for body content. This is set in the HTML with the data-type="slot" attribute.
Module 3 — Dynamic content basics
Dynamic content lets you show different content to different subscribers within the same send. SFMC offers several ways to do this — from simple rules to full AMPscript scripting.
Rules-based dynamic content
In Content Builder, you can add a Dynamic Content Block and define rules: If Country = "UK" show this block, otherwise show that block. This works without any code — it's a point-and-click interface.
Good use cases for rules-based dynamic content:
- Language or locale variants (EN vs FR vs DE)
- Gender or persona-based hero images
- Product category recommendations by purchase history
- Regional offer pricing
Personalisation strings
Personalisation strings are simple merge variables that pull values from the subscriber's data. They use double percent signs:
<p>Hi %%FirstName%%, here's what we picked for you.</p>
<!-- Fallback value if the field is empty -->
<p>Hi %%[IF EMPTY(FirstName) THEN "there" ELSE FirstName ENDIF]%%</p>
For more complex personalisation — loops, lookups, conditional logic — you need AMPscript. That's covered in the AMPscript guide and the Advanced path.
Module 4 — Journey Builder fundamentals
Journey Builder lets you build automated, multi-step customer experiences. Instead of a one-off send, you design a journey that subscribers enter and move through based on their behaviour.
Core Journey Builder components
| Component | What it does |
|---|---|
| Entry source | How contacts enter the journey (Data Extension, API Event, Salesforce Data, etc.) |
| Activities | Actions taken on the contact (send email, send SMS, update data, wait, etc.) |
| Decision splits | Branch the journey based on contact attributes or engagement |
| Engagement splits | Branch based on whether the contact opened/clicked a previous email |
| Wait activities | Pause for a fixed time, until a date, or until a contact attribute is met |
| Goal | Define when a contact has "completed" the journey (e.g. made a purchase) |
| Exit criteria | Remove contacts from the journey when a condition is met |
Journey statuses
A journey moves through these statuses: Draft (being built) → Running (live, contacts can enter) → Paused (no new entries, existing contacts continue) → Stopped (all activity ceases). You cannot edit a Running journey — you must create a new version.
When you activate a new journey version, contacts in the current version continue their path in the old version. New contacts enter the new version. Plan version upgrades carefully in production journeys.
Module 5 — Building your first journey
Let's build a classic welcome series — three emails sent over a week to new subscribers.
-
1Create a new journeyJourney Builder → Create New Journey → Multi-Step Journey. Give it a name (e.g. "Welcome Series 2026") and add a description.
-
2Set up your entry sourceDrag "Data Extension" onto the canvas as your entry source. Select the DE that contains new subscribers. Set entry schedule to run every day to pick up new additions. Set re-entry rules — most welcome journeys should not allow re-entry.
-
3Add Email activity → Wait → Email → Wait → EmailDrag an Email activity. Select your Welcome Email 1. Add a Wait activity (1 day). Add Email 2. Add a Wait activity (3 days). Add Email 3. This creates a D0 → D1 → D4 send cadence.
-
4Add an engagement split after Email 2After Email 2, add an Engagement Split. Path A: clicked in Email 2. Path B: did not click. Send Path A contacts something different — maybe a targeted offer. Path B gets a re-engagement version of Email 3.
-
5Set a GoalSet the journey Goal to "Contact made a purchase" (if you have purchase data in a DE). Contacts who achieve the goal exit the journey early — no point sending more welcome emails to someone who's already converted.
-
6Activate and monitorClick Activate. SFMC validates your journey and flags any issues. Once live, use the Journey Analytics tab to monitor contacts at each step and email engagement metrics.
Module 6 — Automation Studio
Automation Studio runs scheduled backend processes — SQL queries, data imports, file transfers, and sends. Think of it as SFMC's task scheduler.
Common automation use cases
- Daily SQL query to refresh an active subscriber segment
- Hourly import of new contacts from an SFTP drop
- Nightly data export to an external system
- Triggered emails based on file arrival (file-triggered automations)
- Refresh data for a Journey Builder entry source
Automation structure
Each automation has one or more Steps, and each step can have one or more Activities running in parallel. Steps run sequentially — step 2 only starts when all activities in step 1 are complete.
Step 1: Run SQL query to populate a segment DE. Step 2: Send email to that DE. This guarantees your segment is always fresh before the send fires.
Automation trigger types
| Trigger type | When it runs |
|---|---|
| Scheduled | On a defined schedule (hourly, daily, weekly, monthly) |
| File drop | When a file arrives on the SFMC SFTP server |
| Run once | Manually triggered — useful for ad-hoc data jobs |
Module 7 — Data Extensions & SQL intro
Data Extensions (DEs) are the backbone of SFMC's data model. Understanding them well is one of the highest-leverage skills you can develop as a practitioner.
DE types
| Type | Description |
|---|---|
| Standard DE | A regular table — most common type |
| Sendable DE | A DE that can be used as a send audience — must have an EmailAddress field mapped to Subscriber Key |
| Shared DE | A DE in the Parent/Enterprise Business Unit accessible across all child BUs |
| System DEs | Auto-populated tables like _Subscribers, _Sent, _Open, _Click — great for building reports |
Your first SQL query
SQL in SFMC uses a T-SQL dialect (similar to Microsoft SQL Server). You write queries in Automation Studio under Query Activities. Here's a simple example — pulling active subscribers who've opened in the last 60 days:
SELECT DISTINCT
s.SubscriberKey,
s.EmailAddress,
s.FirstName,
s.LastName
FROM [MasterSubscriberDE] s
INNER JOIN [_Open] o
ON s.SubscriberKey = o.SubscriberKey
WHERE
o.EventDate >= DATEADD(day, -60, GETDATE())
AND s.EmailOptIn = 1
Visit the SQL queries topic page for a full library of practical queries.
Module 8 — Advanced segmentation
Good segmentation is the difference between relevant emails and noise. At the practitioner level, you should be comfortable combining multiple data points to create nuanced audiences.
RFM segmentation
Recency, Frequency, Monetary — a classic e-commerce segmentation model. In SFMC, you'd implement this with a SQL query that scores each subscriber and writes the result to a segment DE, then run it on a schedule via Automation Studio.
Engagement-based suppression
Always suppress chronically unengaged contacts from batch sends. Sending to people who never open harms your sender reputation and deliverability. A common rule: suppress anyone who hasn't opened or clicked in 180 days. Build this as a suppression DE and include it in every send.
A sunset policy is a formal process for removing unengaged subscribers. Define thresholds (e.g. no engagement in 6 months), run a re-engagement campaign, then suppress or remove non-responders. Doing this consistently keeps your list healthy and improves deliverability.
Module 9 — Deliverability
Deliverability is the ability to get your email into the inbox rather than spam. It's one of the most important operational skills in SFMC and often overlooked until something goes wrong.
The main factors
- Sender reputation — your IP and domain reputation with mailbox providers (Gmail, Outlook, Yahoo)
- Authentication — SPF, DKIM, and DMARC records correctly configured (managed via SAP in SFMC)
- List hygiene — low bounce rates, active suppression of hard bounces and unsubscribes
- Engagement — mailbox providers reward senders whose emails get opened and clicked
- Content — spam trigger words, image-to-text ratio, broken links
SAP — Sender Authentication Package
SFMC's SAP configures your dedicated IP, custom domain, and authentication records. Ensure your SAP is correctly set up before sending at scale. This is done in Setup → Administration → Sender Authentication.
IP warming
If you're on a dedicated IP (common in SFMC), you must warm it — gradually increasing send volume over several weeks so mailbox providers learn to trust your IP. Start with your most engaged subscribers and slowly increase volume. Skipping IP warm-up is one of the most common causes of deliverability problems.
Module 10 — A/B testing
SFMC has built-in A/B testing at both the send level (Email Studio) and within Journey Builder.
What you can test
- Subject line (most common — test two variants, SFMC picks the winner)
- From name
- Content / email design
- Send time
How it works in Email Studio
-
1Create two email variants (A and B)For a subject line test, you can use the same email with two different subject lines. For a content test, create two distinct emails.
-
2Set test split and winner metricSend each variant to a % of your audience (e.g. 10% A, 10% B). Define the winner metric — Open Rate or Click Rate. Set a wait period (e.g. 4 hours).
-
3SFMC sends the winnerAfter the wait period, SFMC automatically sends the winning variant to the remaining 80% of your audience. You can also choose to pick the winner manually.
Test one variable at a time. If you change both the subject line and the hero image, you won't know which change drove the result. Also ensure your test audience is large enough to be statistically significant — typically 1,000+ per variant minimum.
Module 11 — Mobile Studio intro
Mobile Studio handles SMS, push notifications, and group messaging (WhatsApp in some configurations). It's a separate studio within SFMC but shares the same subscriber and journey infrastructure.
MobileConnect (SMS)
MobileConnect is the SMS component. Key concepts:
- Short code / long code — your sending number. Short codes (5–6 digits) are for high-volume US sends. Long codes are for lower volume or international.
- Keywords — subscribers text a keyword to opt in (e.g. TEXT "JOIN" to 12345)
- Double opt-in — SFMC supports SMS double opt-in for compliance
- Mobile number field — subscribers need a
MobileNumberfield in your DE
MobilePush (push notifications)
MobilePush sends push notifications to mobile apps that have integrated the Salesforce Mobile SDK. It requires app development work to set up initially, but once live, push journeys work just like email journeys in Journey Builder.
Module 12 — Reporting & Analytics Builder
Analytics Builder gives you deeper reporting beyond the individual send-level tracking in Email Studio.
Pre-built reports
Analytics Builder includes pre-built reports for:
- Send summary (total sent, delivered, opens, clicks per send)
- Bounce summary (hard vs soft bounces)
- Subscriber engagement over time
- Unsubscribe and complaint trends
- Journey performance
Building custom reports
Use the Report Builder to create custom cross-send reports. You can combine data across sends, journeys, and dates, and export to CSV or schedule email delivery of the report.
System Data Views for advanced reporting
For the most flexible reporting, query SFMC's System Data Views directly using SQL. These are auto-populated tables that record every event:
| System Data View | Contains |
|---|---|
_Sent | Every email sent (SubscriberKey, JobID, EventDate) |
_Open | Every email open event |
_Click | Every link click event with URL |
_Bounce | Bounce events (Hard, Soft, Technical) |
_Unsubscribe | Opt-out events |
_Complaint | Spam complaint events |
_Subscribers | All subscribers and their current status |