I am very new to SFMC and I have pretty much silly questions.

My goal: I have contacts as synchronized data extensions and I have Campaigns and Campaign members also synced as synchronized data extensions from Sales cloud. My Main goal now is to obtain the relationship as Contact --> Campaign by the help of campaignmembers (Campaignmembers serve as the link between the contact and the campaign)

Now following are my questions:

  1. These data extensions are not visible in my data relationships in the contact builder. Should I have to transform to sendable DE? If yes, if any existing contact changes in Sales cloud, will that get synchronized to the Sendable DE that we are transforming to?

  2. How to establish the relationship between the contact and campaign? Can this be done with the help of Contact builder? if yes, can you please let me know? Detailed steps are NOT required.

  3. When we transform the synchronized DE to sendable DE for the contacts, the contacts will be duplicated now right? And this may lead to charges by salesforce? How do I recover myself from this?

  • The DEs and relationships should be visible as soon as you synch the objects, they cannot be modified. If they are not visible, check the connection or open a support case
    – zuzannamj
    Apr 17, 2023 at 12:38

1 Answer 1


For your questions:

  1. The data relationship (Data Designer) in Contact Builder is for creating Contact Data from different data sources so you can reference them in SFMC e.g. Journey Builder. You don't need to map your CRM entity relationships in contact builder. Once you select CRM objects and fields in data sources > synchronised objects, SFMC connector will automatically synchronised CRM data into those Synchronised data extensions, by default it is every 15 minutes. You should NOT enable any sync DEs as sendable DE, you need to create new sendable DEs and use automation/query to join sync DEs and populate result into your sendable DEs
  2. Data extensions in SFMC are not exactly like RDBMS entities, you don't need to specifically configure the FKs and cardinality. The relationship between data extensions just "logically" exist in your solution
  3. As mentioned previously, do not use Sync DEs for sendable DEs. Consider them as read-only DEs and they always hold the truth from CRM (by default sync 15 minutes)

To use CRM data for sending emails, normally you would follow below steps

  1. Create a Sendable Data Extension to include the fields for personalisation (or attributes required in journey) from those DEs
  2. Create an automation in Automation Studio and include a query activity to join CRM sync DEs
  3. Run the automation once or schedule it to run to export the query result into the data extension, either insert(new records only),update (upsert), overwrite (overwrite the entire rows in data extension)
  4. Your sendable data extension is available to use in single send, or you can link it in automation to trigger for a journey, or you can create filter data extensions base on this data extension to create more segmented audiences for send.

Example query joining Contact, Campaign and CampaignMember

SELECT c.ID, cm.FirstName, cm.Email,
cp.ID as 'CampaignID', cp.Name as 'CampaignName', cm.City as 'City'
from Contact_Salesforce c inner join CampaignMember_Salesforce cm
on c.ID = cm.ContactId
inner join Campaign_Salesforce cp
on cp.ID = cm.CampaignId

, You also need to confirm which CRM object ID should be used for SubscriberKey when you enable for send, this ID should be consistent in SFMC account, e.g. if you use ContactID for subscriberKey, all sends should use this ID as subscriberKey. using different IDs or emails for subscriberkey will introduce subscription management issues (unsubscribe landing pages, subscriber status, update SF record etc)

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .