Salesforce Marketing Cloud (SFMC) provides Data Views and Synchronized Data Extensions to store, analyze, and query subscriber and engagement data. One essential synchronized Data Extension (SDE) is Contact_Salesforce, which stores Contact object data from Salesforce CRM.
In this blog, we’ll explore the Contact_Salesforce data view, its data fields, use cases, benefits, sample queries, and business scenarios to help non-technical users understand its real-world applications.
What is Contact_Salesforce Data View?
The Contact_Salesforce Data Extension in Marketing Cloud Connect is a Synchronized Data Extension that stores contact records from Salesforce CRM. It helps marketers personalize communications and automate customer engagement based on real-time data.
Key Benefits of Contact_Salesforce SDE
- Real-time Data Synchronization: Keeps Marketing Cloud updated with the latest Salesforce Contact records.
- Enhanced Personalization: Enables segmentation and tailored email journeys.
- Cross-Platform Consistency: Maintains accurate contact details across Salesforce CRM and SFMC.
- Advanced Reporting: Facilitates data-driven decision-making with SQL queries.
Field | Type | Description & Use Case |
---|---|---|
_ContactKey | Text(254) | Unique identifier in Marketing Cloud. Used for deduplication and personalization. |
AccountId | Text(18) | ID of the related account. Used to segment contacts based on associated companies. |
CreatedById | Text(18) | User who created the contact. Useful for tracking data origin. |
Email(80) | Contact’s email address. Essential for sending personalized email campaigns. | |
FirstName | Text(40) | First name of the contact. Used for personalizing email greetings. |
HasOptedOutOfEmail | Boolean | Indicates if the contact has opted out of emails. Helps maintain compliance. |
Id | Text(18) | Salesforce Contact record ID. Used for linking back to the original CRM data. |
IsEmailBounced | Boolean | Identifies if an email bounced. Helps in cleaning the email list. |
LastModifiedById | Text(18) | User who last modified the contact. Useful for tracking recent updates. |
LastName | Text(80) | Last name of the contact. Essential for personalization. |
MailingCity | Text(40) | Contact’s city. Useful for location-based segmentation. |
MobilePhone | Phone(50) | Contact’s mobile number. Used for SMS marketing campaigns. |
When and Why to Use Contact_Salesforce Data View?
When to Use?
- Personalization: Fetch first name, last name, or location for dynamic email content.
- Segmentation: Create targeted email campaigns based on city, account, or bounce status.
- Email Hygiene: Identify bounced emails and clean your list.
- Opt-Out Compliance: Ensure contacts who opted out don’t receive emails.
- Lead Nurturing: Automate journeys for new contacts added to Salesforce.
Why Use It?
- Data Accuracy: Uses real-time synced data from Salesforce.
- Improved Targeting: Enables precise audience segmentation.
- Automated Engagement: Helps trigger personalized campaigns.
- Compliance: Ensures that unsubscribed users do not receive emails.
10 Example Scenarios and Queries
1. Retrieve All Active Contacts
SELECT Id, FirstName, LastName, Email, MailingCity
FROM Contact_Salesforce
WHERE HasOptedOutOfEmail = ‘false’
AND IsEmailBounced = ‘false’
Use Case: Ensures emails are only sent to active contacts.
2. Find Contacts Who Recently Opted Out
SELECT Id, FirstName, LastName, Email
FROM Contact_Salesforce
WHERE HasOptedOutOfEmail = ‘true’
Use Case: Helps marketers exclude unsubscribed contacts.
3. Retrieve Contacts from a Specific City
SELECT Id, FirstName, LastName, Email, MailingCity
FROM Contact_Salesforce
WHERE MailingCity = ‘London’
Use Case: Helps segment location-based marketing campaigns.
4. Identify Bounced Email Contacts
SELECT Id, Email, IsEmailBounced
FROM Contact_Salesforce
WHERE IsEmailBounced = ‘true’
Use Case: Helps clean up email lists by removing bounced contacts.
5. Fetch Contacts Created in the Last 30 Days
SELECT Id, FirstName, LastName, Email, CreatedById
FROM Contact_Salesforce
WHERE CreatedById > DATEADD(DAY, -30, GETDATE())
Use Case: Targets new leads for onboarding campaigns.
6. Retrieve Contacts with No Email Address
SELECT Id, FirstName, LastName
FROM Contact_Salesforce
WHERE Email IS NULL
Use Case: Identifies records needing data enrichment.
7. Segment Contacts by Account
SELECT Id, FirstName, LastName, AccountId
FROM Contact_Salesforce
WHERE AccountId = ‘001XXXXXXXXXXXXXXX’
Use Case: Identifies records needing data enrichment.
8. Find Recently Modified Contacts
SELECT Id, FirstName, LastName, LastModifiedById
FROM Contact_Salesforce
WHERE LastModifiedById > DATEADD(DAY, -7, GETDATE())
Use Case: Monitors changes in contact records.
9. Fetch Mobile Numbers for SMS Campaigns
SELECT Id, FirstName, LastName, MobilePhone
FROM Contact_Salesforce
WHERE MobilePhone IS NOT NULL
Use Case: Segments contacts for SMS marketing.
10. Retrieve All Contact Data for a Personalized Campaign
SELECT Id, FirstName, LastName, Email, MailingCity, MobilePhone, AccountId
FROM Contact_Salesforce
WHERE HasOptedOutOfEmail = ‘false’
AND IsEmailBounced = ‘false’
Use Case: Enables fully personalized email campaigns.
Final Example: Using All Data Fields in a Query
Scenario: Target Active Contacts Who Haven’t Opted Out and Are in a Specific City
SELECT _ContactKey, Id, FirstName, LastName, Email, MailingCity, MobilePhone, AccountId, CreatedById, LastModifiedById
FROM Contact_Salesforce
WHERE HasOptedOutOfEmail = ‘false’
AND IsEmailBounced = ‘false’
AND MailingCity = ‘New York’
Business Use Case: This query targets active contacts in New York for a localized promotional campaign while ensuring compliance.
Conclusion
The Contact_Salesforce Data View in SFMC provides a powerful way to leverage real-time Salesforce contact data. Understanding its fields, use cases, and queries can help marketers build targeted, compliant, and data-driven campaigns efficiently.
By integrating synchronized data extensions into your Marketing Cloud strategy, you unlock the true power of personalized customer engagement.