Marketing Cloud reference architecture

How Contact Builder, data extensions, Journey Builder, Automation Studio, Marketing Cloud Connect, sending, deliverability and CloudPages fit together.

Banner for the GeekMidst reference architecture “Marketing Cloud reference architecture”, covering Business context and Marketing Cloud Engagement…

Marketing Cloud Engagement is Salesforce's platform for high-volume email, SMS and push messaging, built around Journey Builder, Content Builder and Automation Studio. Accounts often grow by accretion: a data extension for each campaign, an automation for each import, and journeys that nobody owns. This reference architecture shows how the parts should fit, from data arriving in Contact Builder to sends, tracking and the write-back to CRM.

This is a reference design. We validate the account type, business units, APIs and permissions for each implementation, and GeekMidst can design and implement it through Marketing Cloud implementation.

Business context

Marketing teams need three things from the account: trustworthy audience data, journeys that send the right message at the right time, and tracking that shows what happened. Salesforce describes Engagement as the "proven execution engine for high-volume email, SMS, and journey-based messaging". Marketing Cloud Next is built on the Salesforce Platform with Data 360, and Salesforce says it "doesn't replace Marketing Cloud Engagement—it complements and extends it". If you are weighing the two, see the Marketing Cloud Next architecture.

Marketing Cloud Engagement reference architecture

Reference architecture: a reusable pattern, not a live client integration

Your Salesforce orgSOURCESINGESTIONDATAORCHESTRATIONCHANNELSMEASUREMENTSalesforce CRMSales or Service CloudExternal filesSFTP dropsApps and websitesAPI eventsMarketing Cloud Connectmanaged package in CRMBAutomation Studioimports, SQL, scriptsBJourney and send APIsentry events, transactionalBContact BuilderData Designer, Contact KeyBData extensionssendable and relationalBContent BuilderAMPscript, content blocksBJourney Buildermulti-step journeysBSend managementprofiles, classificationsBEmailauthenticated domainSMSMobileConnectPushMobilePush SDKCloudPageslanding pages, formsBTracking and data viewssends, opens, clicks, bouncesBobject syncfile dropAPI eventssynchronized DEsimports and SQLentry event datalinked attributesaudiencestemplatesemail and SMS activitiesemail sendsSMS activitiespush activitiesengagement eventsform submit entrytracking write-back
  • Salesforce product
  • Data and analytics
  • Engagement platform
  • Integration layer
  • Channel or touchpoint
  • External or custom system
  • Your Salesforce org
  • BMarketing Cloud Engagement account
  • Dashed: asynchronous, optional or feedback
Diagram source (Mermaid)

Select a component to see what it is responsible for and how data moves to and from it.

Reference architecture. Business units, sync intervals, send classifications and channel licences are confirmed per implementation.
Components and data flows (text version)
ComponentTypeResponsibility
Salesforce CRMSales or Service CloudSalesforce productSystem of record for contacts, leads and accounts. Its Contact or Lead ID becomes the subscriber key.
External filesSFTP dropsExternal or custom systemBatch extracts from ERP, e-commerce or other systems, delivered as files to Marketing Cloud SFTP.
Apps and websitesAPI eventsExternal or custom systemSystems that trigger event-driven messages, such as order confirmations or password resets, through the APIs.
Marketing Cloud Connectmanaged package in CRMIntegration layerSyncs chosen CRM objects into synchronized data extensions on a polling interval and writes tracking back.
Automation Studioimports, SQL, scriptsEngagement platformScheduled, file-drop or API-started automations that import files, run SQL Query activities and refresh audiences.
Journey and send APIsentry events, transactionalIntegration layerREST entry events and transactional send APIs for event-driven messages from other systems.
Contact BuilderData Designer, Contact KeyData and analyticsLinks data extensions to the contact record through the Contact Key, in attribute groups.
Data extensionssendable and relationalData and analyticsTables that hold audiences, preferences and reference data. Primary keys and retention are set per extension.
Content BuilderAMPscript, content blocksEngagement platformTemplates and content blocks. AMPscript personalises content at send time.
Journey Buildermulti-step journeysEngagement platformEntry sources, waits, decision splits and activities. Owns when and how a contact moves through a programme.
Send managementprofiles, classificationsEngagement platformSender profiles, delivery profiles and send classifications that mark each send Commercial or Transactional.
Emailauthenticated domainChannel or touchpointCommercial and transactional email from an authenticated sending domain with SPF, DKIM and DMARC.
SMSMobileConnectChannel or touchpointSMS through MobileConnect using provisioned SMS codes, sent to numbers with a recorded opt-in.
PushMobilePush SDKChannel or touchpointPush notifications to your app through the MobilePush SDK.
CloudPageslanding pages, formsChannel or touchpointHTTPS-only landing pages and preference forms. A CloudPagesForm Submit Event can start a journey.
Tracking and data viewssends, opens, clicks, bouncesData and analyticsEngagement tracking and system data views such as _Job, _Open and _Subscribers, queried with SQL for reporting.

Data flows

  1. Salesforce CRM → Marketing Cloud Connect: object sync. Synchronized data sources poll selected objects and fields. A sync can be paused but not deleted.
  2. External files → Automation Studio: file drop. A file drop starts an import automation. Import errors appear in the Action Log.
  3. Apps and websites → Journey and send APIs: API events. Systems call REST entry or transactional send APIs. The caller retries failed calls but must first check whether the original request was accepted, so a retry does not send twice.
  4. Marketing Cloud Connect → Data extensions: synchronized DEs. Synced data extensions sit at the top (Enterprise) level of the account.
  5. Automation Studio → Data extensions: imports and SQL. Imports and SQL Query activities write to target data extensions. A query that fails 24 times in a row is deactivated.
  6. Journey and send APIs → Data extensions: entry event data. API entry events write event data to the journey's entry data extension and admit the contact to the journey.
  7. Data extensions → Contact Builder: linked attributes. Data extensions are linked to the contact in Data Designer through the Contact Key.
  8. Contact Builder → Journey Builder: audiences. Journeys read entry audiences and attributes from linked data extensions.
  9. Content Builder → Send management: templates. Content and AMPscript are rendered at send time; a missing attribute can fail the send for that contact.
  10. Journey Builder → Send management: email and SMS activities. Journey activities use a send classification, sender profile and delivery profile.
  11. Send management → Email: email sends. Mail goes out from the authenticated domain. Bounces and complaints are recorded in tracking.
  12. Journey Builder → SMS: SMS activities. SMS activities send through MobileConnect to subscribed numbers.
  13. Journey Builder → Push: push activities. Push activities send to app users through MobilePush.
  14. Email → Tracking and data views: engagement events. Opens, clicks, bounces and unsubscribes are recorded and exposed in data views.
  15. CloudPages → Journey Builder: form submit entry. A CloudPagesForm Submit Event can start a journey, for example a welcome series.
  16. Tracking and data views → Marketing Cloud Connect: tracking write-back. Marketing Cloud Connect writes email tracking back to CRM records.

Component responsibilities

ComponentResponsible forDesign note
Contact BuilderLinking data to the contact through the Contact KeySalesforce advises no more than three populations per account
Data extensionsAudience, preference and reference dataSet primary keys, sendable fields and retention on day one
Marketing Cloud ConnectCRM sync, sends to CRM reports and campaigns, tracking write-backNeeds Enterprise, Unlimited or Performance CRM edition and the managed package
Automation StudioImports, SQL Query, file transfer, scriptsStarts on a schedule, a file drop or an API trigger
Journey BuilderMulti-step programmes and decision logicOne owner per journey
Send managementSender and delivery profiles, send classificationsCommercial vs Transactional is a legal choice as well as a technical one
CloudPagesLanding pages, preference centres, formsHTTPS connections only
Tracking and data viewsEngagement reportingQuery data views into your own reporting extensions

Data flow, step by step

  1. CRM data arrives. Marketing Cloud Connect syncs chosen objects and fields on a polling interval. The subscriber key is the CRM Contact or Lead ID, and every synced contact or lead counts as a contact.
  2. Other data arrives. Files land on SFTP and start Automation Studio imports. SQL Query activities join and filter data into audience extensions; queries time out after 30 minutes.
  3. Contacts are linked. In Contact Builder, data extensions are linked to the contact through the Contact Key so journeys can use their attributes.
  4. Journeys decide. Journey Builder admits contacts from an audience or an API entry event, waits, splits and sends. Choosing between journeys and automations is covered in Journey Builder vs Automation Studio.
  5. Messages are sent. Each send uses a sender profile, delivery profile and send classification. AMPscript personalises content at send time.
  6. Tracking flows back. Opens, clicks, bounces and unsubscribes are recorded, queried through data views, and written back to CRM by Marketing Cloud Connect.

Trust boundaries and authentication

The CRM boundary is crossed by Marketing Cloud Connect, which uses two system users: the MC Connect API user in Marketing Cloud and a dedicated CRM API user. Give each only the permissions the sync needs. The API boundary is crossed by installed packages with API integration components; scope each package to the minimum it needs and store its secrets server-side. The public boundary is CloudPages: forms are internet-facing, so validate inputs and never expose subscriber data in a URL. Business units separate teams and brands inside the account.

Deliverability

Gmail and Yahoo require bulk senders to use SPF and DKIM, publish a DMARC record (at least p=none) with alignment, and support one-click unsubscribe (RFC 8058) on marketing mail. Microsoft requires SPF, DKIM and DMARC for domains sending more than 5,000 emails a day. See SPF, DKIM and DMARC for Marketing Cloud.

Failure scenarios and how to handle them

FailureEffectHow to handle it
SQL Query fails repeatedlyActivity deactivated after 24 consecutive failuresAlert on Action Log errors; fix the query and reactivate
Query runs too longTimes out after 30 minutesSplit the query or move heavy processing upstream
Synced object changes in CRMSync errors or missing fieldsChange-control CRM fields used by the sync
Import file late or malformedStale audienceValidate file, row count and date before the journey reads it
AMPscript references a missing fieldSend errors for some contactsTest with real data; use default values
Domain authentication failsMail rejected or filteredMonitor DMARC reports and bounce codes

Operational monitoring

  • Review the Automation Studio Action Log daily for SQL, file transfer and import errors.
  • Track journey entry counts against expected volumes, and alert when a journey admits nobody.
  • Watch bounce, complaint and unsubscribe rates by domain; keep spam rates below the thresholds Gmail and Yahoo publish.
  • Check Marketing Cloud Connect sync status and contact counts, since every synced record counts as a contact.
  • Our deliverability checklist lists what to check.

Alternative approaches and trade-offs

Marketing Cloud Connect is the standard CRM path but syncs on a polling interval and counts every synced record as a contact. File-based integration through middleware gives more control over what is sent and when, at the cost of building and running the pipeline. Data 360 activation to Engagement suits teams that already unify profiles in Data 360. The Marketing Cloud Engagement MCP Server, GA since 2 June 2026, lets AI clients read and change data extensions, journeys (created in Draft) and automations under user OAuth; treat write tools as needing human review.

Implementation checklist

  1. 01

    Confirm account and licences

    Account type, business units, channels and CRM edition for Marketing Cloud Connect

  2. 02

    Design Contact Builder

    Contact Key strategy, attribute groups and data extension standards

  3. 03

    Set up CRM sync

    Objects, fields, polling interval and the two system users

  4. 04

    Build automations

    Imports, SQL and file transfers with error alerts

  5. 05

    Configure send management

    Sender profiles, delivery profiles and send classifications

  6. 06

    Authenticate domains

    SPF, DKIM, DMARC and one-click unsubscribe

  7. 07

    Build and test journeys

    Test entry, splits and content with real data before activation

  8. 08

    Set up monitoring

    Action Log review, entry counts, deliverability and sync status

Questions we hear

Is this a design from a client account?
No. It is a reference design. We validate the account type, business units, APIs and permissions for each implementation.
Should we use journeys or automations?
Journeys suit contact-level programmes with waits and splits. Automations suit data preparation, imports and batch sends. Most accounts use both.
Does Marketing Cloud Next replace Engagement?
Salesforce says Marketing Cloud Next "doesn't replace Marketing Cloud Engagement—it complements and extends it", and existing campaigns keep running.
Can an AI assistant manage our journeys?
The Marketing Cloud Engagement MCP Server has been GA since 2 June 2026. It creates journeys in Draft and annotates destructive tools. We recommend read-only use first and human approval for changes.

Sources

  • https://www.salesforce.com/marketing/engagement/
  • https://trailhead.salesforce.com/content/learn/modules/marketing-cloud-connect/get-started-with-mc-connect
  • https://trailhead.salesforce.com/content/learn/modules/automation-studio-activities/automate-marketing-cloud-tasks
  • https://help.salesforce.com/s/articleView?id=mktg.mc_as_sql_reference.htm&type=5
  • https://support.google.com/mail/answer/14229414?rd=1
  • https://developer.salesforce.com/blogs/2026/06/the-mcp-server-for-marketing-cloud-engagement-is-now-ga

Review your Marketing Cloud architecture

Tell us how data reaches your account and how journeys are run. We can review the design and propose a cleaner structure.

Book a consultation →

Tell us what you are trying to fix.

Share your Salesforce setup, goals and constraints. A practitioner reads every message and replies with questions, first thoughts or an honest view of whether you need outside help at all.

Talk to a Salesforce Expert
Book a Consultation