SFMC Data Model and Cardinality: Wire DEs Together Without Regret The article explains that a common mistake in Salesforce Marketing Cloud (SFMC) is creating Data Extensions (DEs) reactively, leading to an unjoinable data sprawl. It recommends a proactive approach: first define a Database of Record (DBOR) and a stable Subscriber Key, then structure DEs using a Master/Spoke model with correct cardinality (1:1, 1:Many, Many:Many) to enable effective cross-data segmentation. Proper data modeling, documented and signed off before building, is presented as the most critical step to avoid costly remediation later. Teams new to SFMC create Data Extensions as requirements arrive. Today's send needs a list, tomorrow's loyalty feature needs a separate DE, next week's CRM sync adds three more. Three months in: 20 DEs, nothing can be joined, no cross-data segmentation works, no audit trail. The fix is 30 minutes on a whiteboard before the first DE exists. Two concepts carry it: Database of Record and Cardinality. The DBOR is the single source of truth for subscriber identity. Every other data source points at it. Discovery question for the client: One answer. If the client says "all of them," help them decide - usually by picking the system that currently drives business operations order fulfillment, customer service queries . The DBOR defines the Subscriber Key. All SFMC DEs that hold subscriber data use an ID that maps back to the DBOR. Once DBOR is decided, the Subscriber Key follows: The Subscriber Key must be stable - never changes over a customer's lifetime. Email addresses change; Shopify IDs can reset on a store migration; a purpose-built CustomerID is safest. Document the Subscriber Key rule in the data model doc. When new data sources arrive later, they get plumbed through the same Subscriber Key. Rather than one giant DE with every column, split by function: Master holds the subscriber-facing attributes. Spokes hold the detail. Joins happen via AMPscript Lookup or Automation Studio SQL, not by duplicating columns. When you link DEs in Contact Builder for cross-DE segmentation, SFMC asks about cardinality - the relationship between two DEs: CardinalityMeaningExample1:1One row in A relates to one row in BCustomer - primary Address each customer has one primary 1:ManyOne row in A relates to many rows in BCustomer - Orders one customer, many orders Many:ManyMany rows in A relate to many in BCustomer - Product via Order Items - each customer can buy many products, each product bought by many Getting cardinality wrong breaks segmentation: Before touching SFMC for a new engagement, we write a one-page data model: Review with the client. Once signed off, building in SFMC follows the doc rather than the other way around. When picking up a poorly-modeled SFMC account, the symptoms are predictable: The remediation is the same whether you're starting fresh or remodeling: define DBOR, fix Subscriber Key, introduce a Master DE, migrate downstream. Data modeling doesn't feel productive because you're not building anything yet. On SFMC engagements it's the most leveraged hour of the whole project. Write the data model doc, get client sign-off, then build. The alternative is the 20-DE sprawl that eats your Q2. Modeling an SFMC data architecture? Our Salesforce team designs data models, Subscriber Key strategies, and Contact Builder relationships on production engagements. Get in touch - See our full platform services for the stack we cover.